前端框架发展史

1、 html css + div

       从1990年代初HTML被发明开始样式表就以各种形式出现了,不同的浏览器结合了它们各自的样式语言,读者可以使用这些样式语言来调节网页的显示方式。一开始样式表是给读者用的,最初的HTML版本只含有很少的显示属性,读者来决定网页应该怎样被显示。

       但随着HTML的成长,为了满足设计师的要求,HTML获得了很多显示功能。随着这些功能的增加外来定义样式的语言越来越没有意义了。

        1994年哈坤·利提出了CSS的最初建议。伯特·波斯(Bert Bos)当时正在设计一个叫做Argo的浏览器,他们决定一起合作设计CSS。

        当时已经有过一些样式表语言的建议了,但CSS是第一个含有“层叠”的主意的。在CSS中,一个文件的样式可以从其它的样式表中继承下来。读者在有些地方可以使用他自己更喜欢的样式,在其他地方则继承,或“层叠”作者的样式。这种层叠的方式使作者和读者都可以灵活地加入自己的设计,混合各人的爱好。

        哈坤于1994年在芝加哥的一次会议上第一次展示了CSS的建议,1995年他与波斯一起再次展示这个建议。当时W3C刚刚建立,W3C对CSS的发展很感兴趣,它为此组织了一次讨论会。哈坤、波斯和其他一些人(比如微软的托马斯·雷尔登)是这个项目的主要技术负责人。1996年底,CSS已经完成。1996年12月CSS要求的第一版本被出版。

        1997年初,W3C内组织了专门管CSS的工作组,其负责人是克里斯·里雷。这个工作组开始讨论第一版中没有涉及到的问题,其结果是1998年5月出版的第二版要求。到2004年为止,第三版还未出版。

* 1996年W3C正式推出了CSS1.

* 1998年W3C正式推出了CSS2.

* CSS2.1是W3C现在正在推荐使用的.

* CSS3现在还处于开发中.

2、 js 加入 jquery,依然是前后端不分离阶段

就技术而言,JSP 与 jQuery 是天南地北的。但是,个人觉得可以就内嵌 HTML 的形式与前后端分离的形式,对 JSP 与 jQuery 进行简要比较。这里的比较,仅仅因为工作中同时有涉及 JSP 与 jQuery,如有不实,望海纳指正。

何为 JSP?

JSP 全称 Java Server Page,是 Java 企业应用的一种动态技术。Java 和 JSP 是运行在服务器端的,也就是说他两运行的结果生成 HTML,HTML 是静态页面,而 JSP 是动态页面。

何为 jQuery?

jQuery 是一个轻量级的 Java 库。jQuery 能够使用户的 HTML 页面 和 JS 内容分离,也就是说,jQuery 的使用,更有利于 HTML、CSS、Java 三者的分离,使得前端代码得到更好的维护。

现在就相同功能进行 JSP 与 jQuery 代码比较:

  • ${user.userName}

< src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"><> $(function() { // 通过 ajax 从 Java 接口获取数据 var data; $.ajax({ // ...请求地址、请求头及传参等 success: function(res){ data = res.data; // 拼接字符串,并渲染页面 var html = ''; $.each(data, function(index, item) { var html='<li>'+ item.userName + '</li>'; html += html; }) html = '<ul>'+ html + '</ul>'; } }) })

咋看之下,你会觉得:“啊,JSP 那么简单,用 JSP 好啊!”

是的,JSP 几行代码就能解决 jQuery 十几行代码才能解决的事,而且运行速度也快过 jQuery,为啥不一直用它呢?

就项目发展而言。公司初创的时候,项目初期结构不繁杂的情况下,使用 JSP 无可厚非,因为它快、省事,而且还能节省人力(前后端让一个 Java 写就可以搞定了)。

但是,在项目越来越繁杂、庞大的情况下,一个 Java 已经维护不过来了,企业必须不停地增加 Java 开发人手,而 Java 人员也深陷技术债中……

然而,就好比喜欢锻炼的不全都喜欢跑步一样,并不是所有操作数据的 Java 都喜欢写页面的,这时候就凸显了几个问题:

项目越来越大,模块越来越多,需要投入的人手也越来越多,这时候需要分模块分人手地去维护。而且这些 Java 开发人员必须喜欢操作数据也喜欢编写页面,要不然企业将面临员工频繁流动的困扰。

用户开始对界面操作提更高的要求,需要增加更多的 Java 互动和特效,无形中增加 Java 开发人员的工作量。

当有员工辞职后,下一名员工接手熟悉项目的时间将逐渐增加,由 1 天增长为 1 周甚至 1 个月。因为他不仅要熟悉数据的操作部分,更需要去维护 Java 的页面互动。而这段时间,辞职员工的工作将施压到其他 Java 开发人员身上。

综上,这时候企业不得不考虑了:能不能帮 Java 开发人员减轻负担,更好地维护发展项目。

以此同时,Java 经过时间的沉淀,越发凸显了它的强大。所以,在诸多因素之下,就有了前后端的分离:

后端人员提供接口,前端人员使用 jQuery 中封装好的 Ajax 调取接口获取数据,渲染到页面上。

3、 MVC  angular1.0  react 前后端分离的时代来临

在上面的 JSP 与 jQuery 的比较中,我们会发现一个问题,就是 jQuery 在数据操作上,它需要操作的步骤太多了。而且,频繁地操作 DOM。在数据量比较大的情况下,还会造成页面卡慢。

而这时候,就有了 MVVM 等 MV* 概念的提出:

何为 MVVM 模式?

Model:提供/保存数据。

View:视图。

View-Model:简化的 Controller,唯一的作用就是为 View 提供处理好的数据,不含其它逻辑。

简单来说,就是 MV* 模式,将对数据的操作提升上去了。在 Vue、React、Angular 等 MV* 框架中,可以通过对数据的操作,从而完成对页面数据的渲染。

“没有最好的框架,只有更适合的应用”

我们应该根据项目的需求,对技术进行不同的选取。

4、前端框架如雨后春笋般的出现

除了Vue、React、Angular框架,紧接着微信原生的微信小程序原生框架,uniapp框架可以实现一套代码多端发行,最重要的是可以用它来写app。还有各种游戏引擎框架,用来制作h5游戏。

前端从一开始的只是简单的写布局到最后的什么都可以写,前端的地位大大提升,成为一个项目里不可或缺的存在,当然我们学习的成本也大大提高,要学习的知识和框架越来越多。

在最后我想说前端将来只会越来越重要含金量越来越高。

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值