Alex Chueng's blogs
©2022 Alex Chueng's blogs
BACK
为什么选择 React
6 min read
# 观点
View

React 带来的不止是高性能,

前端,前端

随着互联网基础建设的发展,网速越来越快,互联网产品越来越多,竞争越来越激烈。为了找到生存之道,打造产品的所有环节必须做到极致。

在传统技术公司,前端不过是写一些模版和样式,没有复杂的交互和逻辑,无关紧要的。

但是这套路在互联网行不通。


互联网和前端

互联网是个试验场,也是个修罗场。有好的想法,需要最快最好的做出来验证,做成了功成名就。当然成功是小概率事件,失败才是常态,机会是留给最强和运气最好的人。

那这又和前端有什么关系呢?

前端是连接业务服务和用户受众的最重要的桥梁之一。如果只认为前端是编写 html/css 的,那是做不出好的产品的。


前端历史车轮

回顾过去,前端的发展也不过 10 年。但是发展迅猛,慢一拍都不行。

从 jQuery 到 Angular, React, VUE,都在不同的时期解决了当时最迫切的问题。当然还有很多很优秀的库和框架。

  • jQuery 处理浏览器兼容问题
  • Angular 处理整个前端的模块化开发,前端路由,依赖注入,双向绑定,让前端前进一大步
  • React 让 JS 打造一切

还有先进的前端构建,提供开发环境和生成环境,浏览器兼容问题交给构建工具预处理了

  • Grunt 让大家发现原来可以这样开发
  • Gulp 流式文件处理
  • Webpack 前端集大成者

Web Component 理念

概念提供思考方式, 框架提供开发约定, 没有好坏, 只有适不适合

Angular 的尝试

把前端推向了一个高度,不再是简单的增删改查 DOM 节点,让更多前端觉醒,开始关注数据的重要性,如何封装组件,前端路由机制,前端 MVC,数据双向绑定,Angular 内置的 Event Loop ,yeoman, grunt 等构建工具等等,打开了一扇大门,大开眼界。

可惜 Angular1.0 带有先天缺陷,重构的 Angular 准备了太久,从一个领跑者成了追随者。

Polymer 的思考和实践

Web Component 也许是更完美的方案,坚持实施的是 Google,打造了 Polymer 框架,并且应用到 Google 全线产品之中。

基于 shadow DOM 做封装,HTML CSS JS 都是原来的样子,Web Component 的完美形态,可惜使用了重量级 polyfill 来兼容 shadow DOM,是极客的玩物。

React 的 JS 世界

一切皆 JS 的 React 很适合做 Component,也很适合用来做业务分割,至于语法喜好,见仁见智。

React 更重要的是提供另一种方案,可以通过单向数据流模型,做到把核心业务写一遍,提供给 web 和 native,做到更纯粹的数据驱动模版,更好的移动端体验,更好的开发体验。

Vue 是集成者

Vue 是个模仿集成者,从参考 Angular 的数据绑定,到后来 React 的 virtual DOM,Polymer 的 Web Component 式组件,都汲取了各家优点,并且做到简单易用,文档写的很好,并且支持中文。

同时也有阿里 weex 加成,未来还是很不错的。所以我选 React (滑稽)。


业务分割

有没有一种可能是,我们只写一份业务接口代码,可以让 Web 和 Native 通用呢?

React 和单向数据流模型提供了这种可能。

使用 Redux & React 编写业务和数据接口,封装成 npm 的 package,支持也使用 ReactDOM 和 React Native 模版。

不过当然没有更好,只有更合适。


最后

为了更好做业务分割,做好多终端体验,选择了 React。更多请看这里