加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

2019 JSConf.Asia尤雨溪:在框架设计中寻求平衡

发布时间:2019-08-06 11:04:27 所属栏目:建站 来源:qiangdada
导读:副标题#e# 特别说明 这是一个由simviso团队对 JSConf.Asia 中关于前端框架设计取舍相关话题进行翻译的文档,内容并非直译,其中有一些是笔者自身的思考。而分享者正是 Vue.js 的作者 @尤雨溪,Vue 仓库地址:github.com/vuejs/vue 让我们一起来了解下在当前

举一些大家可能比较熟悉的代表性的例子,React 接近于原生库,Angular 则提供更多抽象概念。

「2019 JSConf.Asia - 尤雨溪」在框架设计中寻求平衡,深度好文

很少有人会去说清楚原理,这个库(React)专注于提供一个非常基础的 UI 模型,它专注于提供更底层的原生实现,基于此你可以构建出一套属于自己的抽象。

有意缩小职责范围(设计理念),这也是React整个生态系统非常活跃的原因所在,React的社区环境就像个商城(系统),围绕着 React 的核心模型自底向上建立起来的一整套生态系统。

另外一方面,像 Angular 以及其他的一些框架,如 Ember、 aralia 这种,则更像是大教堂吧。

它们则是自上而下进行设计的,在设计过程中,用户可能会遇到的问题都被考虑在内。

例如你们在日常开发中会经常遇到的表单验证,动画效果等等。

为了让框架可以给我们提供一个解决方案,在这个框架设计之初,我们就要以自上而下的方式来对它进行设计,即我们需要去思考如何将所有事情放到一起去工作。

有意扩大职责范围(设计理念),这个设计理念就是当你尝试解决一个问题时,你在框架内就能找到解决方案。

我们把这称之为大小职责范围(这里指两种设计理念),而这也没有好坏之说。

我想再次强调下。

2、Small Scope

优点

「2019 JSConf.Asia - 尤雨溪」在框架设计中寻求平衡,深度好文

小的职责范围(设计理念)它的好处在于,刚开始的时候需要理解的概念很少。

而且它具有更好的灵活性。由于框架、库只提供了部分底层的原生实现,所以当你需要一个组件类的话,它得有一些 Props,然后你可以通过 Props 来传递数据,返回 VDOM 节点。

最重要的是,你可以构建任意复杂的系统。

React 有一个非常活跃的生态系统,我们能看到它拥有一些非常灵活的工具,然后,我们可以基于它们发挥出更大的创造力,而这些很棒的想法都来自 React,React 社区。

另外,有意缩小职责范围,也可以让团队拥有更小的维护层面,以便他们可以专注于他们认为重要的事情。

这样团队可以专注于探索一些比较有创意的点子,这也是为什么 React 可以花这么多时间来做 concurrent mode、suspense、React Hooks 以及在过去几周或几个月内一直在创造的所有的这些有趣的东西。

实际上他们在这些事情的开发上已经花了好几年了,只不过因为它们的粒度比较小,正是因为这样他们才能更加专注于这个事情上。

缺点

「2019 JSConf.Asia - 尤雨溪」在框架设计中寻求平衡,深度好文

当然,小范围的设计也是有一些明显的缺点的。

首先第一点,当你想用一个简单的概念去解决一个本来就很复杂的问题的时候你需要做更多的钻研工作。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读