第一周技术周报-前端框架演变

前言

在本周接触了一个关于“前端框架演变”的话题。今天我们就来聊聊,它到底是怎么进行演变的。

前端框架演变

web1.0时代

此时前端展示数据比较简单,通常是由后台使用模板引擎直接渲染的。在这个时期都还未产生“前端工程师”,更别谈前端的发展能有多快了。这个时代作者经历的并不多,比较也已经过去了很多年了,这里就不深究。

web2.0时代

前端展示趋于复杂,所以逐渐就开始前后端分离式架构。此时有一个关键词ugc: user generate content 用户生成内容,也意味着交互越来越复杂,故而逐渐产生了“前端工程师”,专门来维护这些复杂的交互界面,后台也可以专注于本该属于他们自己的业务逻辑以及业务架构中。

第一个时期:DIV+CSS布局解放:面向 DOM 编程

在面向DOM编程过程非常直观并且易操作,有一个缺点就是大量的代码冗余,例如获取元素等,于是乎就诞生了伟大的jQuery库

jquery优势:

  1. 轻量级(采用 UglifyJS 压缩后,大小保持在30kb左右)
  2. 强大的选择器
  3. 出色的DOM操作的封装
  4. 可靠的事件处理机制
  5. 对Ajax的封装完善
  6. 不污染顶级变量(jQuery只建立一个名为jQuery的对象)
  7. 出色的浏览器兼容性
  8. 链式操作方式
  9. 丰富的插件支持

第二个时期:Ajax 动态网页:面向数据编程

Ajax直接拯救了JavaScript这么语言。

我们终于可以再提交一个表单的时候,不需要再刷新界面了。给了用户一个非常好的用户体验,最初在google的GMAIL中取得巨大的成功。逐渐全世界风靡。彼时的程序员的一个重要考核标准就是能不能熟练掌握Ajax

第三个时期:浏览器兼容:面向浏览器编程

随着浏览器的种类繁多,以及它们都有自己的一套标准,使得研发人员在编写代码的时候要兼容多浏览器,于是乎就产生了两种编程思想

  • 向下兼容思想(做设计时要考虑到兼容到低版本浏览器)
  • 渐进增强思想(高版本的浏览器使用最新的技术,低版本浏览器使用老旧点的技术)

就譬如reset.css就是为了统一浏览器展示而存在的。

第四个时期:SPA 大型前端:面向模块编程

随着项目的复杂度越高,前端也开始仿制后端进行模块化编程,例如现在流行的前端三大框架Angular、React、Vue,都是MV*架构模式

逐渐的我们可以开发中用户体验更佳的web应用了,用户调整一个路由再也不需要等待后台的界面返回了,用户可以快速的切换各个界面间,而只需要付出极小的“带宽”

至于未来的前端技术还会如何发展,我们也需要尽更时代的发展了。

接下来我们通过技术层面来看看变换

jquery操作DOM 到 框架的演变

【操作DOM】
普通代码编写时,jquery直接操作DOM去做一些增删改查的工作,当项目的增大,代码也是越来越复杂,非常不好管理。于是这个时候就开始借鉴后端的模板引擎的思想,为什么要一直操作DOM去增删改查,这样显得太麻烦了,为什么不先定义好数据模型,不论什么操作,我们先更改模型里面的数据,然后在通过模板一次性去render到界面上去,这样就类似react这些框架只操作数据去改变界面了。使得代码可管理型增强了好多。

【mvc】

基于上图,于是乎就出现了一个非常知名的前端MVC分层管理框架backbone

M(Model):数据模型层
V(View):视图层,负责展示界面的层
C(Controller):控制层,主要就是操作数据来渲染视图的层

【现代框架】

框架是对一个完整代码组织方法的描述

当大家意识到,每次请求一个页面都要向后台去发送一个请求,有时候似乎是比较浪费资源的,并且一些重复的已经看过的界面任然要去向后台请求,大家开始思考组件化加上前端自定义路由的重要性,这样只需要加载一次代码,通过前端自定义路由实现界面之间的跳转,不用再向后台请求界面了,速度和体验一下子增加了不少。

正因为这些问题于是乎就诞生了现代框架:Angular Vue React

【优势劣势】

每个时期的东西都有每个时期的优势,不是说我们使用了react的就可以完全抛弃jQuery。再做技术选型时还是要综合考虑我们的项目比较适合哪种技术,而不是哪种技术好我们就使用哪种技术。

小结

通过本文我们大概能了解到前端的一个发展历史,以及前端技术的一个演变历史。

原文地址:https://www.cnblogs.com/shiyou00/p/11029380.html

时间: 2024-10-09 19:04:11

第一周技术周报-前端框架演变的相关文章

七周七种前端框架四:Vue.js 组件和组件通信

基本是按照官网的 Guide 全部梳理了一遍:http://vuejs.org/guide/index.html 这里我们以一个 Todo List 应用为例来把相关的只是都串起来,这篇里面的全部代码都在github上 https://github.com/lihongxun945/vue-todolist Vue 实例 一个 Vue 应用是由一个 root vue instance 引导启动的,而 Vue instance 是这么创建的: var vm = new Vue({ // optio

软件测试技术第一周课堂随笔记录

写在前,这是软件测试技术的课堂随笔,记录了一些在课上所阐述的内容. 一.由于是第一周课,免不了讲起软件测试的定义:什么是软件测试. 软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期.对软件产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求.预先定义的不一致性.-----------------百度百科. 个人的理解暂时就是:1.找bug.2.找出需求与实际的差别. 二.软件测试常见测试方法: 从测试是否针对软件结

前端什么技术越来越重要,哪些前端框架有前景

前端什么技术越来越重要?哪些前端框架有前景?近年来,Web前端市场前景火爆吸引了很多人加入其中,"低端饱和.高端紧缺"的市场行情要求人们不断提升自己的专业技能.互联网更迭迅速,未来前端有哪些技术会越来越重要呢?下面就给大家分享几个比较有前景的前端框架. 1.Vue Vue是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用.Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与现代化的工具链以及各种支持类库结合

小小商城的一次前端架构演变

博主第一次开发商城类的项目,目前商城已上线,这里就不打广告了.商城的架构主要为yii2+backbone,还有一些其他blablablabla......的插件. 商城有PC端和微信端,先上线的PC端后上线微信端. 第一版的开发模式是,前端同学设计好界面原型,切好图,做完静态页面交给后端人员.后端人员使用基于MVC模式的yii2框架,将静态页面写成动态的 .php页面.很好,这样的开发方式前端同学甚是轻松,只要做好静态页面就完事,其他全交给后端人员.如果做好的页面,一旦需要修改点小样式,前端同学

平安科技移动开发二队技术周报(第十期)

平安科技移动开发二队技术周报(第十期) @author ASCE1885的 Github 简书 微博 CSDN 业界新闻 1)Java版权案谷歌上诉被驳回 甲骨文笑到最后 美国最高法院周一驳回了谷歌(微博)在一宗软件版权诉案中提出的上诉申请,维持原先的判决,即允许甲骨文向使用其Java编程语言的公司收取专利版税. Android开发 1)Android开源项目源码解析第二期 第二期的Android热门开源项目源码解析,想提高技术,那就多看成熟的开源代码吧. 2)Android Design Su

平安科技移动开发二队技术周报(第十五期)

平安科技移动开发二队技术周报(第十五期) @author ASCE1885的 Github 简书 微博 CSDN 业界新闻 1)谷歌重组更名Alphabet 谷歌8月11日宣布重组.拉里-佩奇将与谢尔盖-布林创办新的控股公司Alphabet,两人分别出任CEO与总裁职位.Alphabet将取代谷歌在纳斯达克上市,谷歌目前所有股份将自动转换为同等数量与权益的Alphabet股份.原先的谷歌将成为Alphabet的全资子公司. Alphabet公司架构: 2)BlackHat 2015 黑帽大会总结

前端框架2019 云开发

1 .MUI 最接近原生APP体验的高性能前端框架 http://dev.dcloud.net.cn/mui/ 2.Mint UI 基于 Vue.js 的移动端组件库 https://mint-ui.github.io/#!/zh-cn 3.iView webapp一套高质量的 微信小程序 UI 组件库 https://weapp.iviewui.com/?from=iview 4.优秀的基于VUE移动端UI框架合集 https://www.cnblogs.com/dupd/p/7735450.

web前端框架

1. Bootstrap Boostrap绝对是目前最流行用得最广泛的一款框架.它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面.它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件. Bootstrap是用动态语言LESS写的,主要包括四部分的内容: 脚手架——全局样式,响应式的12列栅格布局系统.记住Bootstrap在默认情况下并不包括响应式布局的功能.因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能.

闲话js前端框架(2)——庞大的angularjs

闲话js前端框架 前端人员=美工+设计+代码+测试 --题记 专题文章: 一.从avalonjs的模板说起 二.庞大的angularjs 三.再也不想碰DOM 四.组件化?有没有后端的事? 五.再看自己一年前设计的微型渲染引擎 六.在浏览器标准上做文章 七.抛开浏览器,构建应用容器 八.为何Flash.银光和Java都在网页端一蹶不振 本文属 西风逍遥游 原创, 转载请注明出处: 西风世界 http://blog.csdn.net/xfxyy_sxfancy 二.庞大的angularjs Ang