Web开发发展的几个阶段
(欢迎讨论)
因最近想对公司的框架进行一些改良和优化,因此需要对其优缺点有一个客观合理的分析。我发现理清Web开发的几个阶段,对这一分析很有帮助,能够能历史的眼光来看待它。
因个人主要适用过PHP,ASP及J2EE体系,分析主要以java为主线。如有看法,欢迎讨论交流。
1. 第一代:静态网页
HTML静态页面。无交互。
2. 第二代:程序时代:CGI
通过CGI程序生成HTML网页,可交互,数据可存储到数据库。如C,C++等。
3. 第三代:动态网页
程序和HTML代码混合,由程序根据参数或条件决定如何生成HTML。另一特点是代码单一,比如JSP中只用开发JSP和Servlet。访问数据库,业务逻辑,界面校验等混合,可读性较差。
代表:ASP,JSP,PHP等。
4. 第四代:MVC框架,第一代
Web开发第一次有了MVC的概念,将数据模型,表现视图和控制器相分离,使得Web开发更为专业,简洁和高效。
缺点:代码与容器耦合过紧,程序员编码需要操作很多容器相关的对象;单元测试困难;代码难以复用。例如:通过request获取参数,手工创建formBean等。
代表:Struts1,Ofbiz等。
5. 第五代:MVC框架,第二代
改进MVC框架。开发实现容器无关,formBean自动封装。便于单元测试,提高了移植和复用。其他改进包括:AOP思想的运用,插件式功能扩展等。
有趣的是,这一时期,以Javascript为基础Ajax技术广泛流行;虽不能说跟服务器段开发一点关系没有,但“改进,优化”的动力与第五代Web开发技术的成熟是一样的。
代表:Struts2,JFace,MyFaces。
这个阶段划分粒度还较细。如果按粗粒度可划分为:静态网页,动态网页,MVC框架三个大阶段。
富客端段开发如:ActiveX,Applet,Flex,JavaFX等属于另一个分支,并且很早就出现了。
分享到:
相关推荐
本书紧紧围绕Web应用程序开发这一主题,针对各种关键问题,集中讨论解决方案,努力探求解决该类问题的一般思路和通用...第13章到第15章介绍几个具体Web开发应用实例。本书适合Web应用程序开发人员和Web系统管理员阅读。
Web 2.0是互联网发展的一个重要阶段,它强调用户参与、互动性和数据共享,典型特征包括博客、社交网络、富互联网应用(RIA)等。PHP作为一门流行的服务器端脚本语言,因其开源、免费且易于学习的特点,成为Web 2.0...
【标签】"web开发"是一个广泛的概念,它包括了以下几个主要方面: 1. **前端开发**:前端开发者使用HTML、CSS和JavaScript创建用户可以看到和交互的网页部分。HTML定义了网页的基本结构,CSS提供了样式和布局,...
主要包括以下几个部分: 1. 用户模块:用户注册、登录、个人信息管理等功能。这需要涉及HTTP协议、Cookie或Session来处理用户状态,以及数据库操作来存储和检索用户数据。 2. 论坛板块:不同的讨论区,用户可以...
Web2.0是一个里程碑式的互联网发展阶段,其特点是互动性、用户参与度高和富互联网应用程序(RIA)。在Web2.0的世界里,控件扮演着至关重要的角色,它们不仅增强了用户体验,还简化了开发者的工作。本书通过系统化的...
该教程可能涵盖了以下几个主要知识点: 1. **C#语言基础**:首先,书中会介绍C#的基本语法、数据类型、控制结构、函数、类和对象等核心概念,这是理解和编写C# Web应用的基础。 2. **ASP.NET概述**:讲解ASP.NET的...
传统的教学模式往往难以满足这种快速发展带来的新需求,主要体现在以下几个方面: 1. **理论与实践脱节**:传统的教学方法往往侧重于理论知识的传授,而忽视了实践操作和实际问题解决能力的培养。学生可能掌握了...
Web 2.0是互联网发展的一个重要阶段,它标志着用户从被动的信息消费者转变为积极参与的创造者。这个概念的核心是互动性、参与性和社交网络。在Web 2.0的浪潮中,Ajax(Asynchronous JavaScript and XML)技术成为了...
在进行Web系统文献综述时,我们需要关注以下几个关键领域: 1. **Web技术基础**:包括HTML、CSS、JavaScript等前端技术,以及PHP、Java、Python、ASP.NET等后端开发语言。这些技术是构建Web系统的基础,用于实现...
在WebPy 0.38版本中,我们可以探讨以下几个关键知识点: 1. **路由系统**:WebPy的路由系统基于简单的URL映射规则,开发者可以通过`urls()`函数定义URL模式,并将其映射到相应的处理函数。例如,`urls = ('/hello',...
总的来说,《Python Web 开发基础》课程不仅让学生掌握Python编程的基本技能,还通过实战练习和理论学习,培养他们的逻辑思维能力、问题解决能力和团队协作能力,为他们未来在Web开发领域的发展打下坚实的基础。
在Java Web开发的更高级阶段,我们还会学习到如JSTL(JavaServer Pages Standard Tag Library)、EL(Expression Language)、Java Bean,以及Spring MVC这样的框架。Spring MVC是Spring框架的一部分,用于构建高效...
总的来说,"web监听端口(Socket服务随web启动而启动)"这一技术能够提升Web应用的交互性和实时性,是现代Web开发中不可或缺的一部分。通过深入理解Socket和Tomcat的工作原理,开发者可以更好地设计和实现这类功能。
这份文档可能会涵盖以下几个核心知识点: 1. **WEB2.0概念**:WEB2.0代表了互联网的第二个重要阶段,它强调用户的参与、内容共创和分享,例如博客、社交媒体、维基百科等。 2. **Ajax技术**:Ajax(Asynchronous ...
发布 IntraWeb 程序涉及到以下几个步骤: 1. **编译程序**:确保程序没有任何编译错误。 2. **导出资源文件**:将程序中使用的资源文件(如图片、样式表等)导出到目标服务器。 3. **配置 Web 服务器**:在目标...
本文主要讨论了一个Web系统OA界面设计的实施方案和开发过程,着重强调了在当前信息化时代,界面设计在软件系统开发中的重要性。作者通过参与质检行业的Web系统界面设计和开发,分享了其在需求分析、界面设计原则以及...
本书可能涵盖以下几个关键知识点: 1. **Web安全基础**:首先,书中会介绍Web应用的基本架构,包括HTTP/HTTPS协议、服务器与客户端的交互方式,以及常见的Web开发语言如HTML、CSS、JavaScript和服务器端语言如PHP、...