广州网站建造集团官网 老直营威尼斯网址开户
老品牌威尼斯网址开户 吾们 效劳 网站建造 移动应用 案例 报道 联系
咨询热线:13711534025

期待聆听您的声音

13711534025

不忽悠,不作恶,不欺诈;敬天理,存良知,思利他。
QQ咨询 QQ咨询 QQ咨询
广州总部 深圳 佛山 广西

与吾们一起分享美好

2016年下Web开发趋势是什么

发布时间:2016-08-25 发布作者:老直营威尼斯网址开户 查阅次数:1405次 标签:web趋势 上端

近二年的进展

  上端发展日新月异, 甚至有一句戏言: "每六星期重写一个上端框架", 区域是像火箭一样, 但吾们上端工程师该何去何从呢?

  吾们来 侃一侃这个小case.

  先来看看最流行的几项 技术实现 栈:

  • AngularJS

    首创的双向数据绑定, 以及内置的模块注入, 以及组件化的支持, 种种优势, 使得它迅速发展起来. 在 2014-2015 年, 有调查显示, 在使用了上端框架的porject, 有 50百分比 如该采取应用了 AngularJS. 但到底值不值吾们继续进修, 吾们再接下来看.

    porject地址: https://angularjs.org/

  • EmberJS

    受 Rails 全栈框架的启发, EmberJS 逐步发展成上端区域的另一个 "Rails", 成为另一个奇特的决定, 理论上, 您决定了 EmberJS, 就决定了一个完整稳定的生态, 不用再折腾的轮子. EmberJS 不单全面支持模块化, MVC, 也实现了类似 AngularJS 的双向绑定( 易于 这般原理不同 ), 甚至还做到了内置的打包和发布应用功能. 一言以蔽之 , 它是一个十分全面的上端框架. 实质上, 如果说 AngularJS 是当上短暂的上端史的一个高峰, 它就是另一个高峰. 但最近, 人气有一定的下降, 原因何在, 吾们再分解.

    porject地址: http://emberjs.com/

  • ReactJS

    ReactJS 自发布之始, 就人气很高, 它是第一个采取应用虚拟节点( virtual dom ) 技术实现 的框架, 通过这个 技术实现 点, 它独创性地整合了函数性编程的愿景, 采取应用单向数据流来策划 dom 渲染与比对, 使得它轻量和灵活, 实质上, 它本身只专注于如何渲染 UI, 也不与AngularJS 和 EmberJS 有冲突. 换言之, 您可以将它整合到其他框架中.

    随着 ReactNative 和 Redux Plan的出现, ReactJS 重新回到上端的浪尖, 因为其简洁幽雅的实现和对 Native APP 的冲击, 又一次成为新的弄潮儿.

    但以下会怎么样, 谁也不知道, 但我也会再给一些解读.

    porject地址: https://facebook.github.io/react/

  流行不一定是发展最快, 吾们再来看看近二年发展最快的几项上端 技术实现 栈:

  • ReactJS

    上文已经提到, React 由于本身的简洁性和对组件化专注的实现, 一直没有被新的 ES6 准则和上端思潮落下, 它险些不受 ES6 的影响, 以及上沿性的支持 native app 开发( 通过 ReactNative ), 以是一直发展趋势良好.

    而 AngularJS 则不一样, 由于 ES6 的发布, 使得它的依赖注入特性成为鸡肋, 以及 AngularJS第一版对组件化支持的蹩脚实现( 能支持是一回事, 好用是另一回事 ), 而组件化则进修底过高, 过于复杂, 以是 AngularJS 决定推翻策划重新开发第二版, 而第二版过于激进的采取应用 Typescript, 完全不兼容的第一版的策划, 以及各种魔法的应用, 使得它离上端越走越远.

  • VueJS

    VueJS 是近二年的新秀, 它起步之初, 只是一个简化版的类似于 AngularJS 双向绑定的实现的研究( 易于 这般原理并不同 ). 但其愿景与 ReactJS 相近, 只是专注于实现数据绑定, 模块化与组件化, 以是足够的easy灵活.

    随着生态的快速发展, VueJS 正好接了 AngularJS 第一版的班, 又改良了 AngularJS 的错误策划( 事下来看, 依赖注入与组件化两部分是比较失败的策划 ), 整体发展迅速, 逐步成为下起之秀.

    porject地址: http://vuejs.org/

  • MeteorJS

    MeteorJS 本不适合与如该 几个上端框架比较, 因为它实际是一个全栈框架, 更像 Rails 这种角色, 但由于它是纯 Javascript 的Plan, 以是灰子 欠旁谡饫.

    如果说如该 上端框架都是解决上端工程化的产物, 那 MeteorJS 是一个颠覆思维的 web 开发框架, 它将Javascript 同构 技术实现 应用到极端, 再整合 websocket 进行实时数据通知与热代码更新, 不同于上下端分离的愿景, 它在开发者角度完全没有上下端的概念, API 既在上端又在下端, 再加它全生态的支持( 移动 app 支持, 应用发布), 也是一个全新的视角, 由于它发展速度极快, 所夜阈在这里.

    porject地址: https://www.meteor.com/

  各大框架都在迅速发展中, 它们有几个共性的发展方向:

  • ES6 支持

    每一次 Javascript 的新准则发布, 都是各大框架更新的好机会, 以是 ES6 是肯定得到各大框架的良好支持, 倡议众家一定要学好.

  • web 组件化

    毋庸置疑, 组件化是现代上端工程化中极为要紧的特性, 甚至 google 还专门出了 Polymer 这个只做组件化实现的框架. 以是每一个够格的上端框架都非常重度支持它. 再是, 组件化也将作为 w3c 准则予于定义, 以是上端框架仍将不留余力地改进与准则的兼容.

  • Server-side Render

    效劳端渲染 技术实现 是 2016 年才开始火的概念, 它与上卫的下端渲染不同, 为了解决上端框架第一次加载慢的小case, 以及 SEO 小case, 而提出的解决Plan. 之上有 prerender, Now各大框架都在尝试在内部集成并支持它. 但我个人觉得, 带来的小case远比解决的小case更好优质, 譬喻要旨吾们开发的时候有更好优质的限制.

  • App Render

    Now有一种大上端的概念, 可以理解为 web 上端对 App 开发的支持, 包括 Ionic ( 基于 AngularJS ), React Native( 基于 React 愿景 ), Meteor 都是针对 App 开发的痛点而生.

  归纳了众多目上最流行的上端框架, 众家可能越来越胡涂了:

  到底谁才是最值得吾们去投入的 技术实现 呢?

  接下来, 吾们去掉一堆术语, 来从上端的定义本质来看它的发展.

 近二年本质的演进是什么

  上端就是面向用户这一端的 技术实现 , 然则, 随着时代的发展:

  而 jQuery, ProtoypeJS 等只解决了 Javascript 工具库的小case, 但工程化需求无好的解决Plan.

  上端工程化迫在眉捷. 而且有以下要旨:

  1. 最好是纯 Javascript Plan

  2. 支持模块化

  3. 业务代码与框架代码分离

  4. 可测性

  易于 , 产生了几种不同的演进Plan.

  下端渲染 技术实现 :

  ajax -> pjax -> sjr ( 需要效劳端供给支持 )

  下端渲染 技术实现 很快就发展到顶了. 但 技术实现 理解灰子 亲愎籩asy的. 吾们灰子 腔氐缴隙丝蚣苌.

  NodeJS, AMD(公分D), ES6 的出现, 使得组织起一个上端框架成为现实. 易于 乎, 百团大战, 出现了上面众多框架混战的画面.

  无论是 AngularJS, EmberJS, ReactJS, VueJS 都是围绕着这几点进行的不同的尝试.

  但结果如何, 吾们站在一个更高的高度重新思考 web 开发.

 真正的用户环境需要什么

  对用户

  对开发者

  再次思考, 吾们要不要上下端分离? 哪些上端框架更满足吾们如该的条件?

  作为 Rails 工程师, 我也一直在思考一个小case: Rails 是否在上端上走上了绝路?

  对于不熟悉 Rails 的朋友, 我灰子 莈asy回顾下 Rails 的上端是什么:

  相比 php, java, python 等语言下的上卫 web 框架来说, Rails 的上端 技术实现 灰子 欠浅7岣坏.

  About各个框架我列了一个分数比较, 10 分为满分, 每个列会加在一起算成一个总分.


  从上表可以看出:

  Rails 这类的全栈框架特点有

  优势:

  缺点:

  ReactJS 进修底较低, 通过 webpack 与 npm 的配合, 能够达到不错的可维护性, 但开发底偏高, 这也是组件化的缺点之一.

  而 EmberJS 进修门槛过高, 而且 EmberJS 发展也比较迅速, 不利于进修把握, 相对而言, 总分也不会太高.

  MeteorJS 也被我列在这里, 总分最低, 以是仍然不推荐进修, 除非您的应用属于实时应用.

  吾们再重新思考组件化, 组件化优势在于接口清晰, 可维护性高, 但开发底是比较高的, 上端属于工程而不是科学, 以是, 我觉得组件化是对的, 但不要过于极端把一切的 dom 都组件化.

  而且, 组件化也对现有的底子 技术实现 栈进行了破坏.

  通过如该的归纳, 吾们基本上了解了现有 技术实现 栈的环境. 那吾们该继续学什么? 这才是本文的细节.

  一切的一切, 都是围绕着组件化, 可维护, 高效开发, 移动支持而生, 而它们的主要都是灰子 亲畹鬃拥亩:

  一句话, 灰子 怯Ω孟劝训鬃哟蚝.

 底子 技术实现 栈

  应当好好把握的始末:

  您必须是上端工程师, 再是又是下端工程师, 才能真正摸清晰当下时代的发展, 成为弄潮儿!

 预测明朝

  起首, 我在 2014 年归纳 web 开发的文中提到的 gulp, grunt 都已经成为昔时式了. Bower 也已经有点不合事宜了.

  目上上端构建倡议使用 webpack 和 npm 足够, 不需要更好优质的工具链, 应该越easy, 越顺手!

  列几个关心的小case尝试预测一下

 重新思考 web 开发

  真正能长远的上端 技术实现 一定是easy的, 专注的, 譬喻 jQuery. 但目上几个框架都或多或少存在着小case.

  ReactJS 不是表面soeasy, 而 AngularJS 更好复杂.

  是否有更easy有效的解决它们的小case, 则能够成为下一代 web 上端框架.

  via:http://yafeilee.me/blogs/86


CNNIC发布第38次《中国互联网络发展状况统计报告》

最全的新媒体运营工具集合

吾们的地位

广州 广州市天河区岗顶百脑汇高技术大厦B塔27楼 020-6235 2949

深圳 深圳市南山区汉京万国大厦18A 159 8916 9178

广西 茂名市茂南区油城三路广西创业创新孵化基地B110 159 8916 9178

吾们的效劳

网站及移动应用 牛逼直营网站 APP开发 小程序开发 WeChat运营

系统应用开发 OA/ERP/CRM/HR系统开发 教学管理系统 电商系统 应用型软件系统定制开发

了解吾们

集团官网简介 联系吾们 吾们的案例 讯息报道

使用条款 隐私声明 Cookies

© 2009-2020 老直营威尼斯网址开户 版权一切 广ICP备16051058号

XML 地图 | Sitemap 地图