文档章节

关于Weex你需要知道的一切

阿里百川
 阿里百川
发布于 2016/05/09 16:32
字数 1613
阅读 529
收藏 1


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


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


Weex基本信息


  • 官方支持iOS、Android、HTML5.


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


  • 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商业化进程,全方位赋能移动开发者及移动创业者。



本文转载自:http://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112102&idx=1&sn=ec0575a61f4dabddf02cd40b...

阿里百川
粉丝 49
博文 37
码字总数 61962
作品 0
杭州
技术主管
私信 提问
加载中

评论(1)

l
limenghang
APKBUS是一家服务于中国移动开发者学习与成长需要的综合社区服务平台,专门为开发者提供最优质的资源服务、最完善的信息共享平台!http://www.apkbus.com/forum.phpcode4app 全国最大的 iOS 源代码收集平台,汇集近 5 千份优质代码。为开发者造轮子,提高开发者朋友的工作效率。 http://www.code4app.com
Android碎碎念 -- 阿里Weex

官方地址:http://alibaba.github.io/weex/ 参考资料: https://open.taobao.com/doc2/detail?spm=a21l5.77726.340855.2&&docType=1&articleId=104742 #Android集成指南 https://www.sdk.cn......

淡定的米哥
2016/07/26
372
0
Weex快速上手教程(Weex Tutorial)

我们将使用Weex编写一个简单的列表 , 类似的列表经常能在电商类移动应用中见到。 开始 我们先编写一个列表项。 请创建一个名为 tech_list.we 的文件( .we 是Weex推荐的后缀名 ) ,请复制粘贴...

阿里百川
2016/06/14
5.9K
0
iOS 开发者的 Weex 伪最佳实践指北

引子 这篇文章是笔者近期关于Weex在iOS端的一些研究和实践心得,和大家一起分享分享,也算是对学习成果的总结。文章里面提到的做法也许不是最佳实践,也许里面的方法称不算是一份标准的指南手...

一缕殇流化隐半边冰霜
2017/05/04
0
0
Weex 是如何在 iOS 客户端上跑起来的

前言 2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请。Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、...

一缕殇流化隐半边冰霜
2017/03/20
0
0
Weex 开发小游戏是件很 high 的事儿

前言(废话) 自上一篇 Weex 体验文章《网易严选 App 感受 Weex 开发》发布以来,朋友们的反馈还是不错的,github 也意外得到了400+的 star,18%(有实践精神)的朋友们选择了 fork 下来试一...

木羽zwwill
2017/10/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

将key=value转成对象形式

var params = {};testParan.split(',').forEach(item =>{ var tmpArr = item.split('='); Vue.set(params, tmpArr[0].trim(), tmpArr[1].trim());});Vue.set(params, 'sql', sql);......

沉迷代码我爱学习
13分钟前
1
0
什么是分立器件

  分立器件被广泛应用到消费电子、计算机及外设、网络通信,汽车电子、led显示屏等领域。   半导体产业中有两大分支:集成电路和分立器件。   集成电路   集成电路(integrated circ...

仙溪
23分钟前
1
0
kibana rpm安装

https://www.elastic.co/guide/en/kibana/6.2/rpm.html 下载对应的版本wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm 安装 rpm -ivh kibana-6.2.4-x86_64......

看的最远的地方
26分钟前
1
0
高防CDN相比较于高防服务器,为何更加稳定?

对于DDoS攻击,那些已经做过网站、平台的人应该知道,DDoS攻击是非常可怕的,因为这种攻击本质上不能防御,或者DDoS攻击只能被减轻,不能完全消除。DDoS,意思是“分布式拒绝服务”。它是一种...

云漫网络Ruan
27分钟前
3
0
线程SuspendThread() ResumeThread()的使用

SuspendThread():挂起线程 If the function succeeds, the return value is the thread's previous suspend count; otherwise, it is (DWORD) -1. ResumeThread():启动线程 If the functio......

rainbowcode
27分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部