jiyinyiyong
2017-02-22 01:59:23 +08:00
白天上班没认真写, 刚才写着又因为 lumo 大新闻走神了, 重新写个.
前端框架其实主要还是针对几个问题, 组件化, 组件间通讯, 状态管理, HTML DSL, CSS 方案, 服务端渲染, 当然也是我按照 React 归类出来的. 从每个方向上来说, 其实都打得差不多, 特别是 Vue 作为后来者免不了模仿前面高的山一样的 React. 其实问题或多或少都大部分解决了, 就是状态管理还不尽如人意, CSS 方案现在还有新的动静这样.
说实在的比一比开发效率, 就算不喜欢 React 不喜欢 Vue 也很难找出一套可靠的方案来. 我自己虽然玩 cljs, 但 cljs 现在工具链远不如 js 灵活跟成熟. Elm 或者 ReasonML 也是不够成熟, 就算做得不错了, js 这边解决的问题还得再解决一遍, 不清楚要等多久. 而且吧, 前端框架的火都烧到移动端去了, Weex 对 React Native, 下半年看战况.
我讨厌 React 的原因是它明明鼓吹函数式编程了, 鼓吹不可变数据, 鼓吹服务端渲染, 结果呢, 一下子来个 ES6 class 定义组件, 一下子来个 MobX 继续玩 observation, 然后又不优化 SSR. 然后没事又更新起 JSX 2.0 来了. 有那么一点被耍猴的感觉, 最后猴子们老想着去玩 ReasonML, 玩 ClojureScript, 玩 Elm, 玩 PureScript...
不喜欢 Vue 的原因是在之前用 React 的时候已经获得了精准的操作 DOM 的能力. Vue 的语法糖太甜了, 我知道很多人是喜欢的, 可是我用着吧, React 就像根棍子, Vue 呢像是双节棍, 玩着玩着我自己被打了, 不开心. 语法糖这东西对新手来说挺好, 但是对我来说很像是在我跟 DOM 之间隔上了一层帘幕, 视线不好.
核心问题思考清楚, 给出完备的方案, 语法上面啰嗦就啰嗦一点我总是可以接受. 我的意思是组件间通讯, 状态管理, 跨设备渲染, 这些东西才应该被最多关注. 无论是 React 还是 Vue, 甚至明年后年出现的新方案, 免不了都可能在语法上搞出太多事情. 然后又不讨某些人的喜欢了.