weex

关于Weex

日期:2016-09-22 阅读:1464

dmandwp系统 - wordpress系统和DM系统区块建站>>

QCon第一天,GMTC全球移动技术大会联席主席、手淘技术老大庄卓然(花名南天)在Keynote上宣布跨平台开发框架Weex开始内测,并将于6月份开源,同时他们也放出官网:http://alibaba.github.io/weex/ ,可以在上面申请内测资格,以及下载Android版Demo把玩。

在大会后我对庄卓然做了一个采访,对一些大家关心的问题得到官方的回复,整理在这里。所有该发的不该发的我都发在这儿了,为了涨粉我也是拼啦~

Weex基本信息

官方支持iOS、Android、HTML5.

Write Once, Run Everywhere。一次编写可生成三平台代码。

(简单的说,用weex就可以开发支持ios,android和web的一个应用。)

DSL模板学习超简单,直接写HTML、CSS、JS。这意味着可以直接用现有编辑器和IDE的代码补全、提示、检查等功能。

轻量级、可扩展、高性能。

集成花样多,可在HTML5页面嵌入,也可嵌在原生UI中。

 

Weex的由来

Weex的前身是WeApp,一个用JSON配置原生UI组件来实现动态化的框架,关于类似这个的思想,可以在天猫这篇配置中心实践中看到,已经很牛了,Weex是WeApp的进化版本,加上ex去掉App,就成了现在这个名字。他们还编了个段子:

You give us a few weeks, so we bring you a weex.

这个段子要表达的意思,你get到了吗?

 

与Vue.js的关系

如果对前端有所涉猎的同学会发现,Weex的DSL风格与一个前端的MVVM框架Vue.js比较像,那么它们的关系是什么呢?

Weex由多个关键模块组成,分别是DSL transformer、JS Framework、HTML5/iOS/Android Renderer和工具链 , 其中JS Framework就直接使用了部分来自Vue.JS的代码。不过这种使用也是遵守开源协议的(Vue使用MIT协议,Weex使用Apache协议),Weex团队在源码的说明文件中记录了来自Vue.JS和其他开源项目的贡献。

(简单的说,weex用到了vue。就好比drupal用到了symfony一样。)

 

为什么不用React Native

手淘和天猫曾经尝试过React Native,然后放弃了。但是把它的思想吸收过来,结合Web Component和Vue.js,然后就成了Weex.

关于这个问题,庄卓然列举了一些原因:

因为手淘之前有WeApp,从WeApp进化到Weex是很自然的选择,抛弃自己的解决方案去用别人的反而很奇怪。

React Native的JSX、CSS in JS写法都很别扭,淘宝有很多ISV(即各种店铺),他们之前只会Web技术,写这个有门槛。另外,HTML标准在过去二十年内经受了检验,HMTL/CSS/JS对应的结构、样式和行为,天然分离,代码的可维护性会更好。抛弃标准自己发明DSL也不明智。

React Native重视平台独立性,不能做到100%代码共用,实际上还是要学习各平台的特性,Weex希望做到100%共用,即一次编写到处运行,进一步降低开发门槛。

React Native在一些地方的性能上还有问题,手淘希望能自己主导优化的进程,否则会很被动。 

来自: http://www.imooc.com/article/6961 

 

<<点击返回