Differences between revisions 17 and 18
Revision 17 as of 2016-11-16 11:47:37
Size: 9931
Editor: BonoLv
Comment:
Revision 18 as of 2016-11-20 22:13:03
Size: 9955
Editor: edwardyoon
Comment: spacing
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
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. 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.
Line 7: Line 7:
Weex provide an uniform Web-like syntax for develop native Mobile App UI. By leverage the Javascript engine that enable dynamic update, the process of App interfce and content update can be simple and controllable just like Web.Compared with WebView based UI framework which performance are limited,Weex use build-in native components instead. Weex provide an uniform Web-like syntax for develop native Mobile App UI. By leverage the Javascript engine that enable dynamic update, the process of App interfce and content update can be simple and controllable just like Web.Compared with WebView based UI framework which performance are limited, Weex use build-in native components instead.
Line 9: Line 9:
Because of tag based syntax that maintain a consistent style with Web standards Weex using. Developers write in this language just like writting in HTML. After transforming to JSBundle by Weex tools,these tags will be rendered by build-in platform-specific components. The logic part of Weex syntax write in Javascript which don't need be compiled control these components. Because of tag based syntax that maintain a consistent style with Web standards Weex using. Developers write in this language just like writting in HTML. After transforming to JSBundle by Weex tools, these tags will be rendered by build-in platform-specific components. The logic part of Weex syntax write in Javascript which don't need be compiled control these components.
Line 14: Line 14:
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. 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.
Line 18: Line 18:
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. 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.
Line 20: Line 20:
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. 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.
Line 22: Line 22:
After open-source and have get 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...) After open-source and have get 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...)
Line 30: Line 30:
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. 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.
Line 34: Line 34:
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. 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.
Line 36: Line 36:
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. 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.
Line 48: Line 48:
 * YuanYin zshshr@sina.com (Android,Alibaba Inc)  * YuanYin zshshr@sina.com (Android, Alibaba Inc)
Line 50: Line 50:
 * WeiZheng sospartan@gmail.com (Android,Alibaba Inc)
 * YorkShen shenyuancs@gmail.com (Android,Alibaba Inc)
 * SaiHe tekkahs@gmail.com (Web,Alibaba Inc)
 * BonoLv lvscar@gmail.com (Web/Node,Alibaba Inc)
 * GurisXie 279483595@qq.com (Testing,Alibaba Inc)
 * AtomTong tong_huabing@qq.com (Testing,Alibaba Inc)
 * WeiZheng sospartan@gmail.com (Android, Alibaba Inc)
 * YorkShen shenyuancs@gmail.com (Android, Alibaba Inc)
 * SaiHe tekkahs@gmail.com (Web, Alibaba Inc)
 * BonoLv lvscar@gmail.com (Web/Node, Alibaba Inc)
 * GurisXie 279483595@qq.com (Testing, Alibaba Inc)
 * AtomTong tong_huabing@qq.com (Testing, Alibaba Inc)
Line 65: Line 65:
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. 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.
Line 71: Line 71:
"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. "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.
Line 74: Line 74:
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. 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.
Line 77: Line 77:
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. 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.
Line 79: Line 79:
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. 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.
Line 93: Line 93:
 * 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.
 * 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.
Line 96: Line 96:
 * scroll-to (https://github.com/component/scroll-to) developed by TooTallNate , licensed under the MIT License.  * scroll-to (https://github.com/component/scroll-to) developed by TooTallNate, licensed under the MIT License.
Line 118: Line 118:
 * Edward J. Yoon (ASF member,Apache Hama)  * Edward J. Yoon (ASF member, Apache Hama)
Line 130: Line 130:
 * License all Weex source code and documentation to the Apache Software Foundation. ( We already using Apache license for our main code repository)  * License all Weex source code and documentation to the Apache Software Foundation. (We already using Apache license for our main code repository)
Line 132: Line 132:
 * Move Weex development activity to Apache infrastructure ( Git repository , Mail list )  * Move Weex development activity to Apache infrastructure ( Git repository, Mail list )

Weex Proposal

Abstract

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.

Proposal

Weex provide an uniform Web-like syntax for develop native Mobile App UI. By leverage the Javascript engine that enable dynamic update, the process of App interfce and content update can be simple and controllable just like Web.Compared with WebView based UI framework which performance are limited, Weex use build-in native components instead.

Because of tag based syntax that maintain a consistent style with Web standards Weex using. Developers write in this language just like writting in HTML. After transforming to JSBundle by Weex tools, these tags will be rendered by build-in platform-specific components. The logic part of Weex syntax write in Javascript which don't need be compiled control these components.

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.

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 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 get 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...)

Current Status

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.

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 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.

Initial Developer

Meritocracy

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.

Alignment

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.

Known Risks

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.

Source Code

Documentation

External Dependencies

Required Resources

Sponsors

Champion

  • Edward J. Yoon (ASF member, Apache Hama)

Nominated Mentors

  • Luke Han (Apache Kylin)
  • Longda Feng (Apache Storm)
  • Willem Jiang (Apache Camel)

Sponsoring Entity

  • The Apache Incubator

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 )

WeexProposal (last edited 2016-11-29 22:04:02 by edwardyoon)