Weex is a framework for building Mobile cross-platform high performance UI. Weex enables developers to use Web-like syntax to build iOS, Android and Web UI with a single codebase.
The vision of Weex is to complement gap between platform-specific Native UI and Web technical based UI in Mobile age. The team behind Weex believe that dynamicly interface update and high performance should be achieved at the same time when people develop a Mobile App. Meanwhile duplicate work between the different platforms should be avoided.
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 performance.
A special task force at Alibaba Inc try to provide a solution for this problem has been setup since 2013. At first the team release a 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.
Although This solution had worked for a while, we found it not able to meet our UI developer's habits. Most of our UI developer have Web background which make them used to use tag based language to design App interface. Meanwhile we found the JSON file lacks of enough flexibility. The following discussion inspire we start to develop Weex.
Nowaday, Mobile Taobao App which developed by Alibaba Inc, the largest user volume eCommerce App in China has adapted Weex in a lot of UI. In the latest November 11th promotions(Alibaba's annual Singles' Day online shopping event), UI developers from Alibaba Inc have build more then 1,500 pages using Weex, 99.6% of all the promotional pages. The ratio of less than one second page open time is more than 90%, the frame rate is 53.0~58.5(depend on device) due to the high performance of Weex. In addition to user experience improvement, the productivity of page development and the efficiency of content delivery both have been improved.
After open-source and have got a lot of followers in chinese mobile App development community, several of popular Apps listed on chinese top charts have adopted or planning for adopt Weex.(UCWeb, Tmall, YouKu, Suning etc...)
Weex has become an open source project since June 2016. It has been used at a lot of Alibaba producted mobile softwares which running on the mobile phone of millions of users.
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 61 contributors involved in the GitHub development process. Weex repository has received 791 pull requests until Nov 2016.
Beyond committer from Alibaba Inc, Weex community welcome anybody join us. Nowaday 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.
Weex syntax is inspired a lot from Web framework Vue.js. For better future of both Weex&Vue.js, we have cooperated with Vue.js community from begin of Weex. The main author of Vue.js Evan You have became committer & mentor of Weex in the first half of 2016.
At the time of this writing (Nov 2016) Weex GitHub star number is 8249, watch number is 1841, fork number is 1090.
Weex use GitHub issue for problem tracking and technical discussion. Currently 813 issues have been submited, 756 of them have been solved.
- BryantWu firstname.lastname@example.org (Alibaba Inc)
- LuicsXu email@example.com (iOS/Android, Alibaba Inc)
- Jin-JiangZhao firstname.lastname@example.org (Web/Node , Alibaba Inc)
- Tai-ChengHuang email@example.com (Web/Node, Alibaba Inc)
- FengYin firstname.lastname@example.org (iOS, Alibaba Inc)
- YuanYin email@example.com (Android, Alibaba Inc)
- BobNing ningli928@1 6 3.com (iOS, Alibaba Inc)
- WeiZheng firstname.lastname@example.org (Android, Alibaba Inc)
- YorkShen email@example.com (Android, Alibaba Inc)
- SaiHe firstname.lastname@example.org (Web, Alibaba Inc)
- BonoLv email@example.com (Web/Node, Alibaba Inc)
- GurisXie firstname.lastname@example.org (Testing, Alibaba Inc)
- AtomTong email@example.com (Testing, Alibaba Inc)
The intent of this proposal is to start building a diverse developer and user community around Weex following the ASF meritocracy model. After Weex becoming an OpenSource project, we have been working to make an open governance structure for project leadership to encourage individual and company involvement and contributions.
The Weex community believes that the Apache Software Foundation promotes and enforces the sort of community that will best serve the future of the project. It is also believed that Weex can enhance the ASF by expand the technical scope of ASF in Mobile age.
Relationships with Other Apache Products
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 community.
Difficult to refuse platform-specific features
"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.
Inexperience with build international community
Although we are full of passion about build a successful Opensource project and a community, Weex initial team lack of experience about participate in international community. After consulting with our mentors, we know modesty will be our code of conduct in Apache community.
Homogeneous and Reliance on salaried developers
Since the Weex Project has been mainly developed to date by Alibaba Inc, the vast majority of initial committers to the project are from Alibaba Mobile engineering team. As an Opensource project, Weex project has received lots bug fixes and enhancements from other developers(not Alibaba Employee). We will continue to encourage more independent developers to participate in Weex.
We know Apache Way is about people, not corporations. After Weex developer community grows, we hope the contribution ratio from Alibaba salaried developer will decrease.
- 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
- English Document: http://alibaba.github.io/weex/doc/
- Chinese Document(English first, currently only partially docs have been translate to Chinese): https://github.com/weexteam/article/wiki/Weex中文文档
- 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.
- Mailing Lists
- Git Repos
- Issue Tracking
- JIRA Weex (WEEX)
- Continuous Integration
- Jenkins builds on https://builds.apache.org/
- Edward J. Yoon (ASF id: edwardyoon email: edwardyoon at apache dot org)
- Luke Han (ASF id: lukehan email:luke.hq at gmail dot com )
- Willem Jiang (ASF id: ningjiang email:willem.jiang at gmail dot com)
- Stephan Ewen (ASF id: sewen email: sewen at apache dot org)
- Niclas Hedhman (ASF id: niclas email: niclas at hedhman dot org)
- Longda Feng (ASF id: longda email: hustjackie at gmail dot com)
- The Apache Incubator
- 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 )