Web 开发演进

2000 年以前,网页制作工具非常流行,记得当时有 Microsoft FrontPage(1997)、Micromedia Dreamweaver(1997) 和 Adobe GoLive,它们“所见即所得”的编辑方式非常友好,不会写 HTML 和 CSS 也能创建网站,个人网站也像现在的个人公众号一样普通。Dreamweaver 后来还有专门的认证。但这些工具主要适用于中低端开发人员,想实现更多的功能,还得自己写代码。

在那时动态网页语言也非常丰富,Asp、Jsp、Php 都有,这些语言在编写时嵌入到 HTML 中,可以实现很多复杂的功能。优点是开发效率很高,缺点是不同的代码互相交织在一起,维护困难。那时也没有交互的概念,一般通过表单向服务器端提交数据。

2001 年,Asp.Net 1.0 诞生,有了 WebForm,也有了服务器端组件和服务器端事件,事件由 C# 编写并编译,每次服务器端事件都提交一次表单,页面会发生刷新,用户体验很不理想。但是 Asp.Net 的分层思想还是惊艳的,客户端代码和服务器端代码分离,提高了可维护性。

2002 年,Spring MVC 诞生,提出了 MVC 三层模型,把 Web 开发分成了模型、控制器和视图三层,后来又加入了数据层,做到了各层之间互相不干扰,大大提高了可维护性。缺点就是要编写更多的代码。2009年,Asp.net MVC 1.0 发布,我记得当时开发应用时不断的再写 Pojo 类,不断的再打开连接、操作数据库、关闭连接。后来使用了数据访问层框架,虽然一定程序上提高了开发效率,但是同时也降低了灵活性。

2006 年,Ajax 大行其道,Web 2.0的概念也提了出来,Web 应用更注重交互。

2009 年,Angular 发布。2013年,React 开源。2014年,Vue 正式发布。三大前端框架使前后端开发人员各司其职,分工更明确,也出现了专职的前端工程师。2014年,Spring Boot 也面世了,微服务的概念也被提了出来。更加速了前后端的分离和分工。后端只管提供接口,前端负责所有交互操作。前后端分离的开发和部署模式,让技术人员可以更精确的控制每一个节点的负载,以期提供最大化用户并发支持。

2012 年,Adobe Muse 正式版发布,从 Dreamweaver 的 更注重页面而转向更注重交互,让那些不懂代码的设计师也能创建交互网页。

2016 年,Scratch 语言风迷全球,让孩子也可以像搭积木一样完全动画和游戏的制作。同时,Google 的 Blockly 可视化编程语言发布。遗憾的是这两家主要用过教育领域。

不过已经有人尝试在 Web 端构建类似积木方式的编程方式,我的一个前同事是一个技术高手,一直在做相应的努力。国内有一个应用 CoolSite360 也可以在线创建交互式网站。

今天,很多软件或语言已经消失不见,前后分离的开发模式和微服务正在盛行,基本成了行业标准,但 php 这门“世界上最伟大的语言”依然活得非常滋润,而且 Asp.Net 在国外依然流行。存在即合理!


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!