QCon第一天,GMTC全球移动技术大会联席主席、手淘技术老大庄卓然(花名南天)在Keynote上宣布跨平台开发框架Weex开始内测,并将于6月份开源,同时他们也放出官网:http://alibaba.github.io/weex/ ,能够在上面申请内测资格,以及下载Android版Demo把玩。前端
在大会后我对庄卓然作了一个采访,对一些你们关心的问题获得官方的回复,整理在这里。全部该发的不应发的我都发在这儿了,为了涨粉我也是拼啦~git
Weex基本信息github
官方支持iOS、Android、HTML5.后端
Write Once, Run Everywhere。一次编写可生成三平台代码。weex
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和其余开源项目的贡献。
为何不用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在一些地方的性能上还有问题,手淘但愿能本身主导优化的进程,不然会很被动。
关于KPI项目
去年在手淘向外界宣布有这个项目的时候,引发你们的关注,有人在知乎提了个问题,有人回答说是KPI项目云云。所谓KPI项目,就是为了完成KPI而作的项目,但实际以后不维护等等。
手淘在这个问题下面并无正式回应,据庄卓然表示,其实KPI项目看从什么维度去理解,任何一家公司去作一个创新都会有目标,有目标的话均可以被理解为是一个KPI项目。在他的角度来看,是否是KPI项目不重要,重要的是目标定得对不对,想解决的问题是否是核心问题。
关于维护,涉及到阿里如今的开源策略,咱们看下一个问题。
为何还要内测,不直接开源?
其缘由是,阿里调整了开源策略。在过去,阿里集团开源了很多项目,但其中不少没有后续维护,这也是被诟病为KPI项目的缘由之一。其实阿里本身也想改变这种状况。
如今,手淘作开源,但愿真正为社区创造价值,而不是把公司的一坨代码处理一下往外一丢,别人在使用的时候还要花不少功夫处理,这样的开源项目意义并不大。阿里但愿发布出去的开源项目都是有生命的,能好好的维护起来。
在Weex去年双十一在线上验证以后,其实就准备开源,但有不少准备工做要作,好比文档、配套的工具等等,过去的四个多月一直在作这些事情。在集团内部也进行过测试,集团BU、UC包括高德、天猫等都有不少同窗参与进去贡献DEMO和代码,到了4月份以为适合放出来了,因此宣布内测。
内测这个是相似产品运营的思路,但愿能像打造产品同样打造开源项目,和通常的开源项目的快速迭代不太同样,目前来看也并不能说哪一个更好。
阿里百川在6月份会有一个生态大会,面向阿里生态体系内的商家和客户,固然也包括开发者。到时候会在大会上宣布开源。
阿里百川(baichuan.taobao.com)是阿里巴巴集团“云”+“端”的核心战略是阿里巴巴集团无线开放平台,基于世界级的后端服务和成熟的商业组件,经过“技术、商业及大数据”的开放,为移动创业者提供可快速搭建App、商业化APP并提高用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投资等,为移动创业者提供全面保障。