目前, 个人了解的前端比较流行的框架是三个:

    BootStrap, React, Vue

想要为公司选一个作为接下来的前端技术研发方向, 因此作了一番调查, 有点浅见.


BootStrap:

    特点是栅格系统, 使用简单, 上手容易.  专为响应式页面而生. 一套代码就可以自适应平板电脑和PC.

    缺点在于, 缺少一套有力的成体系的组件(当时调查的时候还没有, 现在据说有了), 我在实际使用时, 发生了作用域冲突的问题,  如果没有整理好一整套组件, 开发很累.

    

React:

   特点主要有2个:

        1. 数据的单向响应.当数据发生变化的时候, React将会自动的管理UI界面更新

              2.  VisualDom(虚拟Dom). 由React来管理Dom树的变化, 开发者只需使用React的虚拟Dom进行开发, 页面的呈现会更快. 

                    这个引申出了一个更大的优点:   虚拟Dom到真实Dom的映射, 是由React来控制的. 那么如果虚拟Dom映射为IOS或者Android呢? 于是React Native诞生了, 约80%的Reactive Native代码是可以同时支持IOS和Android的.

    缺点在于, 最近React的GPL协议有变动, 容易引起商业问题...


Vue:

    特点在于, 站在了React的肩膀上, 许多方面更出色了:

        1. 数据的双向绑定. 数据改, 页面改. 页面改, 数据也改.

        2. 页面的呈现据说比React还快.

        3. 组件化(实际上React也有组件化). 这和BootStrap这种组件化的概念还有点不同, Vue的组件化, 已经把作用域冲突的问题给搞定了.另外, js测试也变得更专业化了(有点类似junit).

        4. 单html开发. 它的开发模式, 是一个html, 然后不停替换组件对应的js来切换显示效果. html中的共通js和css只需要download一次, 理论上比Iframe页面的呈现更快.

        5. 结合node.js提供的webpack等, 可以进行成体系的打包发布.

     缺点在于, 上手难度比较高, 并且大规模开发的化, 需要有体系化开发的积累. Vue的组件化开发推荐使用Element: http://element.eleme.io/#/zh-CN/component/popover


结论:

    长远考虑的话, 建议使用Vue+node.js. 短期内使用的话, BootStrap是个不错的选择.