技能拓展笔记-React-前言

背景

毕业已两年多时间,从毕业实习开始一直是做iOS客户端开发,期间待过两家公司,参与或独立开发了6个上线项目,现在所在公司是一家正在智能家居行业谋求转型的传统控制器制造公司。公司整个新业务团队有近300号人,iOS技术组稳定在20号人左右。从一开始入职我就处于忙绿状态,所以常和同事笑说:“来这一个月的加班时长超过我在上家公司一年的量”,虽然有时候加班也累但我却并不觉得苦,毕竟对于成长期的我在这里学到了不少东西,比如:智能硬件蓝牙开发,硬件socket通讯,组件化开发,Hybrid混合开发等。身处IT行业你一定能深刻感受到前端技术在这两年的火爆程度,自然我们公司也在跟随这股浪潮,自去年中旬开始公司所有新立项的项目均采用Hybrid混合开发模式,具体逻辑就是:UI界面(除少数框架性界面)由前端构建+网络通讯原生代理+设备的蓝牙或者socket交互由原生处理。这样下来iOS开发人员能做的工作就越来越少了,所以我需要扩展自己的前端开发能力,至于我为什么选React?主要原因在于公司的前端技术组目前就在使用React。以下有一篇发布在 Medium 上的文章可以帮助你对比React和Vue。

参考

React or Vue: Which Javascript UI Library Should You Be Using?
简要译文:


2016年React巩固了它作为前端框架之王的地位,这一年中可以看到它在Web端和移动端的快速成长,同时稳稳领先于它的主要竞争对手Angular。

但是2016对Vue来说也是同样令人印象深刻的一年,它发布了Vue 2.0版本并且在JavaScript社区引起了巨大反响,GitHub上多出的25000颗star就是最好的证明。

React和Vue的适用范围无疑是很相似的:同样是基于组件的轻量级框架,同样专注于用户界面的视图层。同样可以用在简单的项目中,也同样可以使用全家桶扩展为复杂的应用程序。

因为,很多Web开发者想知道他们应该使用哪个框架。是其中一个明显优于另一个?还是他们有各自的优点和坑?或者他们基本就是一个样?

两个框架 两个拥护者

在本文中,我想用一次公平,彻底的对比来回答上面的疑问。但是唯一的问题是我是一个Vue粉丝,完全不够客观。今年我在项目中重度使用Vue,在Medium上大加赞赏,甚至还发布了Udemy课程

为了平衡我的偏见,我叫上了我的朋友Alexis Mangin,他是一个很牛的JavaScript开发者,同时也是一个React铁粉。他同样沉浸于React中,经常在Web端和移动端的项目中使用。

有一天Alexis问我:“为什么你这么中意Vue,而不是React呢?”那时候我不太了解React, 没办法给出一个好的答案。所以我出了一个主意,找一天时间,带上笔记本电脑,互相介绍一下彼此做出选择的原因。

经过大量的讨论和和互相学习后,我们找到了6个关键点。

  • 如果你喜欢用模板搭建应用(或者有这个想法),请选择Vue
  • 如果你喜欢简单和“能用就行”的东西,请选择Vue
  • 如果你想要你的应用尽可能的小和快,请选择Vue
  • 如果你打算构建一个大型应用程序,请选择React
  • 如果你想要一个同时适用于Web端和原生APP的框架,请选择React
  • 如果你想要最大的生态系统,请选择React
  • 如果你已经用其中一个用的很爽,就别变了

总结一下,我们发现的,Vue的优势是:

  • 模板和渲染函数的弹性选择
  • 简单的语法和项目配置
  • 更快的渲染速度和更小的体积
    React的优势是:
  • 更适合大型应用和更好的可测试性
  • Web端和移动端原生APP通吃
  • 更大的生态系统,更多的支持和好用的工具
    然而,React和Vue都是很优秀的框架,它们之间的相似之处多过不同之处,并且大部分的优秀功能是相通的:
  • 用虚拟DOM实现快速渲染
  • 轻量级
  • 响应式组件
  • 服务端渲染
  • 轻集成路由工具,打包工具,状态管理工具的难度低
  • 优秀的支持和社区
posted @ 2017-02-10 11:09  moyazi  阅读(195)  评论(0编辑  收藏  举报