当前位置: 首页 > Web前端 > HTML5

前端架构发展史

时间:2023-04-05 12:51:30 HTML5

起初,前端是没有架构的,因为功能简单的代码根本就没有架构。通过简单的jQuery库操作DOM即可完成的工作不需要复杂的设计模式和代码管理机制,也不需要架构来支持应用程序。前端开发的发展史分为以下几个阶段:古典时代:前端HTML由后端渲染,使用Table布局,CSS用于简单的辅助动画效果时代:前端-end开始写一些简单的JavaScript脚本做动画效果,比如轮播广告Ajax异步通信时代:2005年Google在很多web应用中使用了GoogleMaps等异步通信技术,开启了web前端的新时代。一旦前端应用需要从后端获取数据,就意味着内容在运行时被动态渲染,这就是Model(模型)UI层的解耦。jQuery可以提供DOM操作方法和模型引擎等,这时候开发者需要做以下两件事:动态生成HTML。后端返回前端需要的HTML,然后动态替换页面的DOM页面。在jQueryMobile等早期的典型架构中,模板和渲染逻辑都是预先写在前端,用户的行为触发后台返回相应数据单独渲染文件模板。后端通过API返回前端需要的JSON数据,然后由前端计算生成这些HTML。前端模板使用HTML而不是Mustache等模板引擎来呈现HTML。由于HTML的动态生成和模板的独立分离,使得前端应用变得复杂。后端MVC架构进一步影响了前端开发,诞生了一系列MVC框架,如Backbone、Knockout等。同时,在RyanLienhartDahl等人开发出Node.js之后,前端软件功能持续完善:更好的构建工具。像Grant和Gulp这样的构建工具包管理诞生了。开发了前端的包管理工具Bower和Npm模块管理。AMD、Common.js等不同的模块管理方案也相继出现。随着单页应用的流行,前后端框架分离也成为业界的标准做法。于是,前端进入了一个新时代,需要考虑的事情越来越多:API管理,使用Swagger等API管理工具,各种MockServer也成为了标准做法。大前端,前端用于开发跨平台移动应用框架,如Ionic、ReactNative、Flutter等框架。组件化,前端应用现在由小的组件组??成,而不是一个大的页面组件。系统越来越复杂,前端架构的作用越来越重要。MVC不能满足开发者的需求,所以采用了组件化的架构。而组件化+MV无法应对大型前端应用,微前端又出现在我们面前,解决了以下问题:跨框架。一个页面运行,可以同时使用多个前端框架。应用拆分。将一个复杂的应用程序拆解成多个微型应用程序,类似于微服务。遗留系统迁移。让旧的前端框架直接嵌入现有应用程序中运行。复杂的前端应用发展了这么久,也出现了一系列需要进化的应用:考虑重写、迁移、重构等等。