You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@incubator.apache.org by Apache Wiki <wi...@apache.org> on 2016/11/09 03:12:54 UTC

[Incubator Wiki] Update of "Weex" by BonoLv

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Incubator Wiki" for change notification.

The "Weex" page has been changed by BonoLv:
https://wiki.apache.org/incubator/Weex

New page:
= Weex Proposal =

== Abstract ==
Weex is a framework for building Mobile cross-platform UI.

== Proposal ==
Weex allows developers to build iOS,Android and Web user interface with a single codebase. Compared with WebView based UI framework which performance and features are limited, Weex preserves its lightweight development pattern and improve the user experience by high-quality native view and native features at the same time.. 

Weex provide a tag based language which maintained a consistent style with Web standards.  Developers write in this language just like writting in HTML. After transforming to JSBundle by Weex build-in tools, these tag will be render to higher-level platform-specific components using Weex SDK.

Because Weex use JavaScript as UI operation and data processing language which don't need compile before execute in user's Mobile phone. Interface implemented by Weex is "Dynamic". At the time of this writing , another famed dynamic Native UI framework is React Native which developed by Facebook Inc .

Weex and React Native share some common features but have different language syntax. React Native use specific JSX , whereas Weex use vanilla Javascript .React Native set target that to replace whole Mobile App development process, whereas Weex allow developer choose which page in Mobile App should be implemented by Weex freely. At principle level React Native adopt "Learn Once, Write Anywhere", whereas Weex keep "Write Once, Run Everywhere" on different platform development environment.

We think Weex is an effective supplement to Apache Cordova. Both Apache Cordova and Weex help developer for leveraging Web development technique in Mobile age. Boot developer the ability of delivering consistent content to different platform. With our sincere heart and determination to open source , we will always keep an open mind for Apache Cordova community.

== Background ==
Prior to Weex, in order to develop high performance mobile application we need write at least three different codebase(iOS,Android,Mobile Web) or adopt WebView based UI technique(Apache Cordova for example) which can't satisfy the demand for neat user experience on critical Interactive scenes.

A special task force at Alibaba Inc try to provide a solution for this problem have been setup since 2013.  At first the team release an cross-platform rendering engine which render a special format JSON to native components on different platform. To output this JSON file the team had  build a website which other developer can use to simply design final interface.

This solution had worked for a while. We found it not able to meet our requirement , the website be use to design interface have too many limitations , the JSON file be use to render final interface lacks enough dynamics. The following discussion inspire we start to develop Weex.

Now days, Mobile Taobao App which developed by Alibaba Inc , the largest user volume eCommerce App in China have adapted Weex in a lot of UI. We have measured Weex page and prior Mobile Web page which have same interface design and content with Weex page by A/B testing in one of Mobile Taobao shopping guide product. The result show the Bounce Rate drop from 5.5%(Mobile Web page) to 1.7%(Weex page).

== Current Status ==
Weex have become a open source project since June 2016.  It have been use at a lot of Alibaba producted mobile softwares which running on the mobile phone of millions of users.

Weex code repository located at GitHub . All development activities have already happened on GitHub as open source manner.

== Community ==
The community surrounding Weex is a variety of developer which have different technique background. iOS,Android,Web developer must collaborate closely to implement most Weex feature.  

Currently total 43 contributors involved in the GitHub development process. Weex repository have received 517 pull requests until Aug 2016.

Beyond committer from Alibaba Inc,Weex community welcome anybody join us.Now days Evan You from Vue Technology LLC, Wang Run Xiang from Aipai Inc and lots of GitHub users have contributed source code or document to Weex.

At the time of this writing ( Aug 2016) Weex GitHub star number is 4935 , watch number is 1829 , fork number is 500.  
Weex use GitHub issue for problem tracking and technical discussion.  Currently 437 issues have been submited , 362 of them have been solved.

== Core Developer ==
 * BryantWu      zhihua.wzh@alibaba-inc.com
 * LuicsXu       luics.xu@gmail.com   (iOS)
 * Jin-JiangZhao  zhaojinjiang@me.com  (Web/Node)
 * Tai-ChengHuang iskenhuang@gmail.com (Web/Node)
 * FengYin       cxfeng1@gmail.com    (iOS)
 * YuanYin       zshshr@sina.com      (Android)
 * BobNing       ningli928@1 6 3.com    (iOS)
 * WeiZheng      sospartan@gmail.com  (Android)
 * YorkShen      shenyuancs@gmail.com (Android)
 * SaiHe         tekkahs@gmail.com    (Web)
 * BonoLv        lvscar@gmail.com     (Web/Node)
 * GurisXie      279483595@qq.com     (Testing)
 * AtomTong      tong_huabing@qq.com  (Testing)

== Known Risks ==
"Write Once Run Everywhere"  is one of original goal of Weex.  But as Weex  provides more feature ,we have received more suggestions for implement single platform exclusive feature.

== Source Code ==
 * Main repository:  https://github.com/alibaba/weex
 * Weex transformer: https://github.com/weexteam/weex-transformer
 * Weex toolkit: https://github.com/weexteam/weex-toolkit
 * Weex loader: https://github.com/weexteam/weex-loader
 * Gulp Weex:   https://github.com/weexteam/gulp-weex

== Documentation ==
 * English Document: http://alibaba.github.io/weex/doc/
 * Chinese Document(English first , currently only partially doc have been translate to Chinese): https://github.com/weexteam/article/wiki/Weex中文文档

== External Dependencies ==
 * semver(http://semver.org/) developed by Tom Preston-Werner , licensed under the Creative Commons - CC BY 3.0 License.
 * core-js(https://github.com/zloirock/core-js) developed by Denis Pushkarev , licensed under the MIT License.
 * vuejs(https://github.com/vuejs/vue) developed by Yuxi Evan You , licensed under the MIT License.
 * scroll-to (https://github.com/component/scroll-to) developed by TooTallNate , licensed under the MIT License.
 * Chrome V8(https://developers.google.com/v8/) developed by Google Inc & V8 project authors, licensed under BSD License.
 * css-layout(https://github.com/facebook/css-layout) developed by Facebook Inc., licensed under the BSD License.

== Next Goals ==
 * License all Weex source code and documentation to the Apache Software Foundation. ( We already using Apache license for our main code repository) 
 * Setup and standardize the open governance of the Weex Project.
 * Move Weex development activity to Apache infrastructure ( Git repository , Mail list )

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org