作者:InsSeo 发布时间:2024-11-28 01:40 分类:谷歌词库 浏览:594
“
框架是什么?为什么要有框架?在浩繁 的框架之中,Vue独具魅力之处在那边 呢?其背后的核心 头脑 是什么?Vue毕竟 火到什么程度 ?近来 发布的Vue2.0又做了哪些改进呢?Vue和Weex又是怎样的一种相助 ?
本文根据尤雨溪在2016 QCon 环球 软件开辟 大会(上海)上的讲演整理而成。
Tips:本日 文章头图来自于两位迷妹的对峙 ,有颜有才,如许 的程序员请再来一打!
作者简介
尤雨溪,Vue Technology LLC 首创 人, Vue.js作者,计划 师,开辟 者,开源爱好者,前端框架 Vue.js 的作者。
曾就职于 Google Creative Lab,参加 多个实行 项目标 界面原型研发,后参加 Meteor,参加 Meteor 框架本身 的维护和 Meteor Galaxy 平台的交互计划 与前端开辟 。现全职投入 Vue.js 的开辟 与维护,发愤 将 Vue.js 打造成与 Angular/React 不相上下 的天下 顶级框架。
为什么要有框架
1、框架的存在是为了资助 我们应对复杂度
前端框架特别 多,那么为什么要有框架呢?我个人的见解 是,框架的存在是为了资助 我们应对复杂度。当我们必要 办理 一些前端上工程题目 的时间 ,这些题目 会有差别 的复杂度。
假如 你用太大略 的工具应对非常复杂的需求,就会极大地影响你的生产力。以是 ,框架本身 是帮我们把一些重复的而且 已担当 过验证的模式,抽象到一个已经帮你计划 好的API封装当中,资助 我们去应对这些复杂的题目 。
2、框架自身也有复杂度
但是,框架本身 也会带来复杂度。信托 各人 在调研各种框架或学习各种框架时,会碰到 学习曲线题目 ——有些框架会让人一时不知怎样 上手。这里就抽象出一个题目 ,就是要做的应用的复杂度与所利用 的框架的复杂度的对比。 进一步说,是所要办理 的题目 的内涵 复杂度,与所利用 的工具的复杂度举行 对比。
3、工具复杂度是为了处理 惩罚 内涵 复杂度所做的投资
工具的复杂度是可以明白 为是我们为了处理 惩罚 题目 内涵 复杂度所做的投资。为什么叫投资?那是由于 假如 投的太少,就起不到规模的效应,不会有公道 的回报。这就像创业公司拿风投,投多少是很紧张 的题目 。假如 要办理 的题目 本身 黑白 常复杂的,那么你用一个过于大略 的工具应付它,就会碰到 工具太弱而使得生产力受影响的题目 。
反之,是假如 所要办理 的题目 并不复杂,但你却用了很复杂的框架,那么就相称 于杀鸡用牛刀,会碰到 工具复杂度所带来的副作用,不但 会失去工具本身 所带来上风 ,还会增长 各种题目 ,比方 培训本钱 、上手本钱 ,以及实际 开辟 服从 等。
4、Pick the right tool for the job
“Pick the right tool for the job”——在国外,跟开辟 者讨论一些框架选型题目 时,各人 都会说这句话——统统 都要看场景。由于 ,前端开辟 原生开辟 大概 桌面开辟 模式相比,有本身 的独特之处,它跟着实 并不那么固定。在Web上面,应用可以有非常多的形态,差别 形态的Web应用大概 有完全差别 程度 的复杂度。这也是为什么我要谈工具复杂度和所要做的应用复杂度的题目 。
5、怎么看前端框架的复杂度
如今 的前端开辟 已经越来越工程化,而我们必要 办理 的实际 题目 也是差别 的。如下图所示,我们大概 在任何环境 下都必要 声明式的渲染功能,并盼望 尽大概 克制 手动操纵 ,大概 说是可变的下令 式操纵 ,盼望 尽大概 地让DOM的更新操纵 是主动 的,状态变革 的时间 它就应该主动 更新到精确 的状态;
我们必要 组件体系 ,将一个大型的界面切分成一个一个更小的可控单位 ;客户端路由——这是针对单页应用而言,不做就不必要 ,假如 必要 做单页应用,那么就必要 有一个URL对应到一个应用的状态,就必要 有路由办理 方案;
大规模的状态管理——当应用简单 的时间 ,大概 一个很底子 的状态和界面映射可以办理 题目 ,但是当应用变得很大,涉及多人协作的时间 ,就会涉及多个组件之间的共享、多个组件必要 去改动同一份状态,以及怎样 使得如许 大规模应用依然可以或许 高效运行,这就涉及大规模状态管理的题目 ,固然 也涉及到可维护性,尚有 构建工具。
如今 ,假如 放面前 端的将来 ,当HTTP2遍及 后,大概 会带来构建工具的一次革命。但就如今 而言,尤其是在中国的网络环境 下,打包和工程构建依然黑白 常紧张 且不可克制 的一个环节。
主流框架分析
我们看一下现有的一些主流框架从少到多所办理 的题目 。这个多少并不是来评价框架的优劣 ,而是从计划 的角度出发看它涵盖多少内容。
纯模板引擎:最少的就是纯模板引擎,只管状态到界面的映射。
React和Vue:着实 这两者都黑白 常专注的只做状态到界面映射,以及组件。
Backbone:它会给你多一些架构上引导 ,比如 它会让你分层。
Angular:它做的事变 就更多,它有本身 的路由,这些都会包罗 在内里 。
Ember:相比Angular,Ember做得就更加彻底,Ember信奉 的是约定优于设置 ,它会将统统 都帮你计划 好打包好,你就开箱用就可以了。
Meteor:Meteor只是一个极度 ,它是从前到后全都包罗 ,从前端到数据层到数据库,全都帮你打包好。
通过简单 的分析,我们可以感受到,做得少的框架不肯定 就不如做得多的框架,这表现 出一种弃取 。也就是说,做得少的框架可以给你更多的机动 性,但你必要 做更多的选择;做得多的框架有更强的侵入性,学习本钱 更高,机动 性更低。一旦选择了一个侵入性强的框架,那么一些小的部分 你就没有机遇 去切换成其他你更想用的方案。
以是 ,React和Vue有一个共同特点,它们都有各自的配套工具,核心 固然 只办理 一个很小的题目 ,但它们有生态圈及配套的可选工具,当你把他们一个一个加进来的时间 ,就可以组合成非常强大 的栈,就可以涵盖其他的这些更完备 的框架所涵盖的题目 。
如许 的一个设置 方案,使得在你构建技能 栈的时间 有可弹性伸缩的工具复杂度:当所要办理 的题目 内涵 复杂度很低的时间 ,可以只用核心 的这些很简单 的功能;当必要 做一个更复杂的应用时,再增加 相应的工具。
比方 做一个单页应用的时间 才必要 用路由;做一个相称 巨大 的应用,涉及到多组件状态共享以及多个开辟 者共同协作时,才大概 必要 大规模状态管理方案。
一个纯粹的复杂的单页应用,和只是在后端渲染的静态页面上嵌入交互内容所必要 选择的工程栈着实 是有相称 大区别的。这就是为什么我以为 ,核心 +生态的栈会是一个在团体 选型更为机动 的栈。
React和Vue都选择这个模式。Facebook团队只是专注做React本身 ,但React社区非常活泼 ,贡献了大量的第三方办理 方案。不可否 认,React社区是当前最活泼 的社区,很多 良好 的想法和思绪 ,包罗 状态管理方案最早都是从React社区萌发出来。但是社区的这种活泼 也带来肯定 程度 的副作用,那就是期间 变革 太快,三天出一个新版本,同一个题目 曾经存在几十种差别 的办理 方案。
这就使得我们在去搭建本身 的栈时,必要 花很多 的时间去辨别 所选择的部件。同时,由于整个生态圈的这些库并不是由一个同一 的团队去规划和计划 的,以是 很难思量 到差别 的库之间的协作,这就会导致磨合题目 。
同时,这也使得很多 开辟 者抱怨 有一个“Java Fatigue”,说JS生态圈东西太多了,为了跟上潮流 ,必要 不绝 学习最新的东西,以为 很累。固然 ,有很多 人以为 这是生态圈繁荣的表现 ,但它确实使得各人 面对 了选择困难症的题目 。
Dan Abramov 是之前React社区非常活泼 的开辟 者,已经参加 了React团队。有一天他在推特上说,非常 的模块化使得他非常难去构建一个同一 的体验。这句话指的就是,React生态圈整个栈的每一个部分 来自差别 开辟 者,想全部整合到一起的时就有很多 琐屑 的题目 。
这是他刚开始做React如今 的官方的CLI的时间 发出的感慨,他在试图整合社区的各种东西放到一个架子内里 ,于是碰到 了很多 如许 的题目 。我这里完全没有否认React生态圈繁荣的意思,我只是以为 可以有别的 一种选择,那就是我们可以做一个渐进式框架,这就是Vue选择的方向。
渐进式框架Vue.js
1、Vue.js近况
以下数据可以表现 出Vue.js的近况 。
前一段时间突破了三万星,总下载量过百万。
官网上每个月的用户量为26万,这个应该是不包罗 中国区数据。官方开辟 者插件的周活泼 用户数在5万5左右。这个数据是我以为 最有说服力的数据。安装而且 利用 开辟 者插件的Vue用户,应该会在实际 生产中真正频仍 利用 Vue。
Google搜刮 趋势的相干 数据如下图所示。图中,绿色的是Backbone的数据,黄色是Ember,赤色 是React,蓝色是Vue。可以看出React和Vue近两年发展势头都比力 迅猛。
可以看出,Vue的曲线开始的是很早,2013年已经开始,但是有很长一段时间的增长是比力 低的。由于 在那一段时间我还在谷歌工作,Vue根本 上是作为个人项目在运营。在已往 一两年中,Vue得到 了非常大的突破性发展。这个图里没有Angular,由于 Angular的量还是 非常大的,假如 放进去就破表了。
这些数据并不能绝对地代表框架当前的热度,但有肯定 的参考代价 。可以看到React的势头很足。而由Vue的曲线还可以看出它的增长速率 还在不绝 上扬。
2、Vue的定位
我在做Vue的过程中也在不绝 地思考 它的定位,如今 ,我以为 它与其他框架的区别就是渐进式的想法,也就是“Progressive”——这个词在英文中界说 是渐进,一步一步,不是说你必须一竿子把全部 的东西都用上。
3、Vue的计划
接下来我们回到之前看的图:
Vue从计划 角度来讲,固然 可以或许 涵盖这张图上全部 的东西,但是你并不必要 一上手就把全部 东西全用上,由于 没有须要 。无论从学习角度,还是 实际 环境 ,这都是可选的。声明式渲染和组建体系 是Vue的核心 库所包罗 内容,而客户端路由、状态管理、构建工具都有专门办理 方案。这些办理 方案相互独立,你可以在核心 的底子 上恣意 选用其他的部件,不肯定 要全部整合在一起。
4、Vue的实现
接下来深入讲一讲这些具体 的概念以及Vue在这些概念上具体 是做怎样的实现。
(1)声明式渲染
如今 根本 全部 的框架都已经认同这个见解 ——DOM应尽大概 是一个函数式到状态的映射。状态便是 唯一的原形 ,而DOM状态只是数据状态的一个映射。全部 的逻辑尽大概 在状态的层面去举行 ,当状态改变的时间 ,View应该是在框架资助 下主动 更新到公道 的状态,而不是说当你观测到数据变革 之后手动选择一个元素,再下令 式地去改动它的属性。
下图是Vue的一个模板示例,假如 没有效 过Vue的话,可以大概感觉到这是一个怎样的概念。
着实 ,在模板语法上,Vue跟Angular是比力 相似。在Vue1.0内里 ,模板实现跟Angular雷同 ,如下图所示,把模板直接做成在欣赏 器内里 parse成DOM树,然后去遍历这个树,提取此中 的各种绑定。
在Vue2.0中,渲染层的实现做了根天性 改动,那就是引入了假造 DOM。
从架构来讲,Vue2.0 依然是写一样的模板(Vue2.0于前段时间发布,具体 报道拜见
https://t.cn/RVC0foZ)。在最左边,Vue2.0跟1.0的模板语法绝大部分 是兼容的。Vue的编译器在编译模板之后,会把这些模板编译成一个渲染函数。而函数被调用的时间 就会渲染而且 返回一个假造 DOM的树。这个树非常轻量,它的职责就是形貌 当前界面所应处的状态。当我们有了这个假造 的树之后,再交给一个patch函数,负责把这些假造 DOM真正施加到真实的DOM上。
在这个过程中,Vue有自身的相应 式体系 来侦测在渲染过程中所依靠 到的数据泉源 。在渲染过程中,侦测到的数据泉源 之后,之后就可以正确 感知数据源的变动 。到时间 就可以根据必要 重新举行 渲染。当重新举行 渲染之后,会天生 一个新的树,将新树与旧树举行 对比,就可以终极 得出应施加到真实DOM上的改动。末了 再通过patch函数施加改动。
如许 做的重要 缘故起因 是,在欣赏 器当中,Java的运算在当代 的引擎中非常快,但DOM本身 黑白 常迟钝 的东西。当你调用原生DOM API的时间 ,欣赏 器必要 在Java引擎的语境下去打仗 原生的DOM的实现,这个过程有相称 的性能斲丧 。以是 ,本质的考量是,要把淹灭 时间的操纵 只管 放在纯粹的盘算 中去做,包管 末了 盘算 出来的必要 实际 打仗 真实DOM的操纵 是最少的。
下面看渲染函数。用过React的开辟 者大概 知道,React是没有模板的,直接就是一个渲染函数,它中心 返回的就是一个假造 DOM树。JSX实际 就是一套用于让我们更简单 地去形貌 树状布局 的语法糖。
如下图所示,在Vue2.0当中,可以看到就是说当比如 左侧的模板,颠末 Vue的编译之后就会变成 右侧的东西。
这个函数雷同 于创建一个假造 元素的函数,我们可以给它一个名字,给它形貌 应该有的属性特性和大概 其他的数据。然后背面 这个末了 这个参数是个数组,包罗 了该假造 元素的子元素。总的来说2.0的编译器做的就是这个活。
同时,在Vue2.0里,用户可以选择直接跳过模板这一层去手写渲染函数,同时也有可选JSX支持。从开辟 者的偏好以及开辟 者的效益的角度来考量,模板和JSX是各有利弊的东西。模板更贴近我们的HTML,可以让我们更直观地思考 语义布局 ,更好地连合 CSS的誊写 。
JSX和直接渲染函数,由于 是真正的Java,拥有这个语言本身 的全部 的本领 ,可以举行 复杂的逻辑判定 ,举行 选择性的返回终极 要返回的DOM布局 ,可以或许 实现一些在模板的语法限定 下,很难做到的一些事变 。
以是 在Vue2.0里,两个都是可以选择的。在绝大部分 环境 下利用 模板,但是在必要 复杂逻辑的环境 下,利用 渲染函数。在Vue2.0的路由和内部的一些实践上,都大量地应用渲染函数做复杂的抽象组件,比如 过渡动画组件以及路由内里 的link组件,都是用渲染函数实现的,同时还保存 了它本身 的依靠 追踪体系 。
如下图所示,Vue的依靠 追踪通过ES5的 Object.defineProperty 方法实现。比如 ,我们给它一个原生对象,Vue会遍历这个数据对象的属性,然后举行 属性转换。每一个属性会被转换为一个 getter 和一个 setter。同时每个组件会有一个对应的 watcher 对象,这个对象的职责就是在当前组件被渲染的时间 ,记录 数据上面的哪些属性被用到了。
比方 ,在渲染函数内里 用到A.B的时间 ,这个就会触发对应的 getter。整个渲染流程具体 要点如下:
当某个数据属性被用到时,触发 getter,这个属性就会被作为依靠 被 watcher 记录 下来。
整个函数被渲染完的时间 ,每一个被用到的数据属性都会被记录 。
相应的数据变动 时,比方 给它一个新的值,就会触发 setter,关照 数据对象对应数据有变革 。
此时会关照 对应的组件,其数据依靠 有所改动,必要 重新渲染。
对应的组件再次变更 渲染函数,天生 Virtual DOM,实现 DOM 更新。
如许 一个流程跟主流的一些框架,比方 React是有较大区别的。在React中,当组件复杂的时间 必要 用 shouldComponentUpdate 做优化。但是,它也有本身 的各种坑,比如 要确保该组件下面的组件不依靠 外部的状态。虽说这在大部分 环境 下是够用的,但碰到 极大复杂度的应用,碰到 性能瓶颈的时间 ,这个流程优化起来也是相称 复杂的一个话题。
如下图所示,在Vue内里 由于依靠 追踪体系 的存在,当恣意 数据变动 的时,Vue的每一个组件都正确 地知道本身 是否必要 重绘,以是 并不必要 手动优化。用Vue渲染这些组件的时间 ,数据变了,对应的组件根本 上去除了手动优化的须要 性。
(2)组件体系
信托 根本 上全部 的当代 框架都已经走向了组件化蹊径 ,Web Components 从规范层面做这个实践。主流框架都有各有差别 的封装,但核心 头脑 都是一样,把UI布局 映射到得当 的组件树。
在Vue中,父子组件之间的通讯 是通过 props 转达 。从父向子单向转达 ;而假如 子组件想要在父组件作用内里 产生副作用,就必要 去派发变乱 。如许 就形成一个根本 的父子通讯 模式,在涉及大规模状态管理的时间 会有额外的方案,这个背面 会提到。
Vue的组件引入构建工具之后有一个单文件组件概念,如下图所示,就是这个Vue文件。在同一个Vue文件里,可以同时写 template、 和 style,三个东西放在一个内里 。
同时,Vue的单文件组件和 Web Components 有一个本质差别 ,它是基于构建工具实现。如许 的长处 是有了一个构建的机遇 ,可以对这些单文件组件做更多的分析处,在每一个语言块里可以单独利用 差别 的处理 惩罚 器,这点背面 还会讲到。
(3)客户端路由
在做一个界面复杂度非常的高应用时,它会有很多 的状态,如许 的应用显然不大概 在每做一次操纵 后都革新 一个页面作为用户反馈。这就要这个应用有多个复杂的状态,同时这些状态还要对应到URL。
有一个紧张 的功能叫做 deep-linking,也就是当用户欣赏 到一个URL,然后把它传给别的 的人大概 复制重新打开,应用必要 直接渲染出这个URL对应的状态。这就意味着应用的URL和组件树的状态之间有一个映射关系,客户端路由的职责就是让这个映射关系声明式地对应起来。
若要本身 实现一个如许 的路由,看上去倒是很简单 ,用hash去模仿 一下,就可以本身 很快地做出很简单 的路由。但究竟 上,客户端路由涉及很多 更复杂的题目 ,如下图所示。
大概 同一层的路由有多个差别 的出口,尚有 着复杂的URL匹配规则,等等。这些题目 假如 都由本身 去逐一 实现,那么复杂度黑白 常高的。而Vue根本 都有对应的办理 方案(router.vuejs.org)。共同 Webpack还可以实现基于路由的懒加载,一条路径所对应的组件在打包的时间 ,会分离成别的 一块,只有当该路由被访问的时间 ,才会被加载出来。这有相应的办理 方案,同时也有实例。
(4)状态管理
说到状态管理,本质上就是把整个应用抽象为下图中的循环。脸书最早提出 Flux 这个概念的时,也是一个很疏松 的概念,而且官方的实现本身 做得很难用。以是 ,社区就做了各种各样的探索。图中的这三个东西是一个单向数据流,State 驱动 View 的渲染,而用户对 View 举行 操纵 产生 Action,会使State产生变革 ,从而导致 View 重新渲染。
一个单独的Vue的组件,着实 就已经是如许 的布局 。但是当多个如许 的组件来配套的时间 ,就会碰到 一个题目 。每个组件都有它本身 的状态,但整个应用的状态,跟组件之间并不肯定 存在逐一 对应的关系。这个状态大概 是一个全局状态。那么状态到底放在那边 ?大部分 办理 方案是把这个状态从组件树中提取出来,放在一个全局的 Store 内里 。Vuex 也是如许 做的,但是它是针对 Vue 做了特化。
我们看到最左边就是Vue的组件,这些组件在大部分 环境 下,就不再有私有的状态,而是从全局的 Store 内里 获取状态。Actions 和 Mutations 比力 难用一两句话说清楚 ,大抵 就是当应用状态举行 改变的时间 ,必要 通过 Mutations 去显式地触发,而 Actions 则是负责异步和其他副作用。
由于 Mutations 会被记录 下来,我们可以把这些记录 发到工具内里 去做分析,乃至 举行 回滚。当发现bug的时间 ,这使得我们可以更好地明白 大型应用中的状态变革 。更多的细节,还请看官方文档(vuex.vuejs.org)。
(5)构建工具
构建工具方面,Vue有一个官方的,全局安装的 vue-cli。这里有一个笔误。全局安装之后,我们就可以用 vue 下令 创建一个新的项目,Vue 的 CLI 跟其他 CLI 差别 之处在于,有多个可选模板,有简单 的也有复杂的。极简的设置 ,更快的安装,可以更快的上手。
它也有一个更完备 的模板,包罗 单位 测试在内的各种内容都涵盖,但是,它的复杂度也更高,这又涉及到根据用例来选择得当 复杂度的题目 。全部 的模板在创建之后,构建脚本都是通过 npm 脚原来 实行 ,在国内安装 npm 依靠 的时间 有点卡,可以用 yarn 大概 保举 用淘宝的 npm 镜象源,可以很大地提拔 安装速率 。
之条件 到了单文件组件,如下图所示,支持恣意 的处理 惩罚 器,开箱即用的热重载,以是 组件都支持热重载 (hot-reload)。当你做了修改,不会革新 页面,只是对组件本身 举行 立即 重载,不会影响整个应用当前的状态。CSS也支持热重载。
我们看下左下角,在利用 这个预处理 惩罚 器的同时,我们只必要 添加一个 scoped 特性,Vue 会通过对模板和CSS代码的分析 改写,来模仿 CSS的结果 。同时单文件组件也支持懒加载,一个懒加载的组件和它的依靠 会被打包成一个额外的包,只有被用到的时间 才加载,这对首屏的加载速率 也是很有资助 的。
如下图所示,这个开辟 者工具本身 也是用Vue写的。
利用 它的话可以看到我们当前应用的组件树布局 。
点击组件,就可以观察这个组件当前的状态。也可以把这个组件发送到控制台里。同时这个开辟 者工具尚有 一个 Vuex 面板,假如 你用了 Vuex,那么每次操纵 都会被记录 下来,记录 下来的状态之间可以举行 跳转。
除此之外,还支持把当前应用的状态快照发送给别的 一个人,这个人可以在他的控制台里导入你发送的状态,就可以立即 跳转到你之前地点 的状态。这对于重现一些 bug,或要形貌 当前状态都很有资助 。
Vue2.0
Vue2.0在不久之前刚刚发布(具体 报道拜见 https://t.cn/RVC0foZ),之前一些技能 细节在前文中已有所涉及。Vue2.0相对于1.0的改进有以下几点。
1、更轻
对Vue1.0巨细 压缩,Vue2.0它有一个只包罗 运行时的版本,全部 的模板在编译的时间 已经完成了。基于这个版本,下图中Vue、vue-router和vuex三个(都是 2.0 版本)加一起,跟Vue1.0的核心 库巨细 一样。
2、更快
Vue2.0可以说是当前最快的框架之一。这个是基于第三方独立测试的结果 。有爱好 的话,可以移步链接(https://stefankrause.net/js-frameworks-benchmark4/webdriver-ts/table.html)举行 查察 。
这个测试是一个比力 综合的测试,它对于各种操纵 ,以及在大列表内里 更新移除等,都有相称 完备 的覆盖。可以看出,Vue2.0,不但 仅是在Vue1.0的底子 上有很大提拔 ,相比其他框架,也有相称 显着 的性能上风 。
3、Vue2.0 架构
下图是Vue2.0的架构图,这里不深入讲整个架构的实现。
Vue2.0同时支持服务端,服务端渲染支持流式渲染。由于 HTTP哀求 也是流式,Vue 的服务端渲染结果 可以直接 pipe 到返回的哀求 内里 。如许 一来,就可以更早地在欣赏 器中出现 给用户内容,通过公道 的缓存战略 ,可以有效 地提拔 服务端渲染的性能。
下图是Vue2.0以及服务端渲染的相干 内容,根本 上把全部 的功能都整合在了一起,有爱好 的同砚 可以在这里搜刮 2.0,它可以作为参考应用。
除了服务端渲染尚有 原生渲染,这里的原生渲染是指阿里巴巴的项目Weex。在架构层面,通过编译一个 Weex 源文件(雷同 于 Vue 单文件组建的格式)然后运行。界面节点的操纵 都是抽象的,这些抽象操纵 会派发到差别 的目标 引擎做实际 的渲染,同时支持 iOS, Android 和 Web。
Vue和Weex如今 有一个相助 ,Vue 2.0 将会正式成为 Weex 的 Java 运行时。如许 的相助 可以使得符合功能交集的Vue组件可以跨平台利用 。
本日 荐号:前端之巅
这里有深度及时 的前端资讯,一线履历 免费的分享活动 ,纯净的前端技能 微信群,只待你参加 ,一起攀缘 前端之巅!
本日 荐文
点击下方图片即可阅读
微信PaxosStore内存云揭秘:十亿Paxos/分钟的挑衅
喜好 我们的会点赞,爱我们的会分享!
标签词分析
28条