2014 年末有哪些比较火的 Web 开发技术?

前端+后端
关注者
2,999
被浏览
171,000
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

Angular、React、Polymer

我解释一下为什么Angular能够这么火,它主要解决的是哪个层面的问题呢?它解决的是快速开发的问题。我们知道,有很多b/s化的产品,其本质还是像c/s,只是把这个c做到浏览器里来了,这样的一些系统,它免不了要在浏览器中写大量js,然后使用某种ui框架,它的协同开发人员数量会相对较大,代码量也会很多,在这类系统的开发过程中,从成本的角度要解决两个问题:

怎样让开发过程尽量快?

怎样让变更成本尽量小?

解决这两个问题的办法是组件化。所谓组件化,在传统软件领域可能会有一些成熟方案,但是拿到Web,尤其Web前端这个层面,基本没有一种通用方案。组件化并不仅仅要解决“控件”这个层面的问题,还需要把业务数据和逻辑也做规约,理清他们之间的关系,而Angular“碰巧”在这个方面很有帮助,它把UI和业务逻辑隔离得干干净净,模块之间使用依赖注入来维系关系,易测试,可复用,作为架构师,也可以比较容易地对整个项目有所把控。

我们看到很多人跟风学Angular,有很大一部分并未抓住其实质,而是被一些边角优势所吸引,因此用的过程中各种痛苦,如果能够先认识到它的本质优点所在,并且认识到它确实适合自己的项目,一定能得心应手,左右逢源。

当前Angular版本中也是存在一些问题的,我之前写过两篇,近期可能还会写一些来说明。Angular官方也意识到这些问题,他们规划了2.0版本,这个版本的思路非常好,有兴趣的人建议你关注一下,我稍后也会就此事发一篇评论博客。

【补充】,评论博客在这里:

浴火重生的Angular · Issue #9 · xufei/blog · GitHub

原文翻译在这里:

有关Angular 2.0的一切 · Issue #8 · xufei/blog · GitHub

现在我们再来看看React。

为什么很多人被React吸引呢,因为他从另外一个层面解决组件化的问题,而这种方式可能对前端来说更友好,而且还能够在服务端解析模板。喜欢React的人常常用它的虚拟DOM、精确更新来打击其他框架,诚然,它在这方面做得非常好,但并未高到影响全局的程度。这是什么意思呢,它是一个主要针对DOM组件的库,如果用于完整的大型产品解决方案,还是有所欠缺的,它的优势集中在上层,但其实从宏观角度看,这一层的效率并没有那么重要,比如说你是一架很精巧的挖掘机,自带各种分拣功能,但很多时候,大家是很粗暴地去挖东西,就像挖煤那样,你在细节上有多么高效并不重要,只有在一些需要精确控制的场景下,优势才能发挥出来。况且,当Web Components出来之后,虚拟DOM是有很多没法处理的问题的,而其他框架改进数据绑定的效率之后,也能够把这方面的差距缩小很多。

虽然我说的都是缺点,但它的实现方式确实别致,值得一看。

最后看Polymer吧,它是以Web Components的理念为核心的,我本来想说点什么,但觉得自己对它的理解还不深刻,很可能误导人。算了让别人说吧。