前端太广袤,我只能试图从一个侧面去窥探在过去的十几年里,究竟发生了什么。css
Ajax诞生于1998年,2005年开始被普遍使用。也标志着先后端分离的时代到来,先后端分离极大地解放了前端生产力。大量PC页面被创造,在反复的实践中,人们逐渐没法忍受原生 JavaScript 繁杂的DOM操做,一个庞然大物悄然萌芽。
2006年,jquery初版发布,在发布后数年时间里,Jquery 社区以一种近乎疯狂的速度扩张。大量的插件被创造,极大地提高了前端的创造力。
若是咱们把前端的发展时间线作一个梳理,那么2006年以前,我称之为蛮荒时代。前端
3G网络和 Andorid 的普及使得大量APP如雨后春笋般破土而出。当时 Ios 和 android 开发者比较少,要兼容 Android 和 Ios 就要付出高额的人力成本。Hybird App跨平台优点开始体现。一个只用10天就被创造出来的脚本语言(JavaScript)开始了构建Web App的历程,前端利器 Jquery 在面对复杂业务逻辑的应用时开始显得力不从心。java
2012年,Ionic 发布,Hybird 开发模式逐渐成熟。在同时代还有 Mui ,Hybird敏捷的开发速度和跨平台的优点让不少公司看到了机会。jquery
若是说开发成本和效率的提高带来了 Hybird 的风靡,那么 用户体验这个永不落幕的话题就带来了同时代 SPA 的崛起。与此同时,因为 Node 在服务端大放异彩,前端开始拥有本身的自动化工具 Grunt 。前端今后也脱去页面仔的称号加入了工程师的队伍。android
2009年goole发布 Angular ,数据双向绑定,模块化,数据模型共享,路由开始成为解决单页应用复杂业务场景的利器。web
Hybird 与 SPA 几乎在同一时代崛起,咱们姑且将这个秩序极其混乱的时代称为前端的战国时代。chrome
2013年单页应用的概念已经深刻人心,与此同时 React 横空出世。在随后的一年时间里,React 以其虚拟DOM、组件化、单向数据流,在性能、编程体验以及数据流简洁性上全面超越Angular,以黑马的姿态脱颖而出。编程
Hybird 的本质是利用 Android 和 Ios 的webview渲染页面和交互,而webview渲染效率低下,就致使 Hybird 在性能上与Native相去甚远。后端
React Native 开始进入人们的视线,React Native 虽然是使用 JavaScript 构建,可是经过中间框架使得 JavaScript 具有与 Object-C 交互的能力,转而构建原生应用,因此 React Native 与 Hybird 没有直接的关系。出道即巅峰,完美的性能和敏捷的开发模式成就了React在前端领域霸主的地位。缓存
历史老是在高歌猛进中夹杂着悲壮,你方唱罢,我登场,谁都不敢说永远屹立于巅峰不败。
2014年 Vue 初版发布,当时React正风光无量,在 Angular , React 面前,Vue 彷佛绝不起眼。可谁知道,一场暗流汹涌的变革就要来临。
2015年,Vue 以其更为轻、快的性能优点,平滑的学习曲线和渐进式地编程体验开始狂野生长。前端社区也出现了一批狂热的信徒。或许是 Vue 与 React 有太多的类似之处,每当人们比较两个框架时,性能和开发体验彷佛再也不是重点,更多的是指责和谩骂。
历史老是在人们争得面红耳赤时默默给出答案。
Angular 历经七年沉淀,在剧烈的迭代中重生而且携带 TypeScript 强势回归。它彷佛要向全部人证实谁才是曾今的霸主,眼见它起高楼,眼见它宴宾客,眼见它楼塌了。尽管这一次 Angular 带来了许多惊喜,可是它的对手彷佛也更加地强大了,Angular 、React 、Vue在一片喧闹声中造成了三足鼎立之势。
2017年就要接近尾声,站在这个节点上咱们能看到的趋势,就是合并。中国有句老话“ 天下之势,分久必和 ,和久必分 ”。当你们喋喋不休地争论自家东西有多好的时候,总会有一个大哥站出来,声振寰宇,打破嘈杂:“ 嘿,丢下大家手上那破烂玩意,跟我来 ”。
上半场的较量已经结束,下半场的较量刚刚开始。而这一次较量围绕的核心,并非哪一方面或者哪几个方面,而是全方面的较量。不只如此,这一次再也不是前端的内战,而是前端工程师们拿起过去十几年激烈厮杀而涌现出的利器与Native的较量。
2017年2月goole的chrome团队宣布,PWA(Progressive Web Application)将得到与原生一致的体验,主要包括:
渐进式的用户体验提高指的是,经过预加载,预缓存,骨架屏,懒加载等技术减小用户等待时间以及弱网秒加载,达到Native沉浸式的体验。
2009年,自Node诞生的那一刻起,JavaScript的野心就开始暴露出来,尽管Node在服务端的应用仅限于处理少数高并发的场景。却成就了前端的自动化工具带来了前端的空前繁荣。
试想,当Native在性能上再也不占据优点时,"write once run anywhere"将成为WebApp最为强大的特色,并且在编程体验上,Web敏捷的视图构建方式和完善的生态系统将全方位地超越Native。那句玩笑话,在不久的未来是否会被应验:
能被javaScript改写的,终将被javaScript改写。
若是有一天,用户再也不须要应用市场,不须要下载就能即时体验,开发者不用等待复杂的审核和上线流程,真正作到敏捷构建,快速迭代的时候,或许那个时代会被称为Web3.0。
以上内容为我的原创,转载请注明出处。任何有误的地方,请在下方留言,我会第一时间改正。