Differences between revisions 12 and 13
Revision 12 as of 2016-11-16 02:25:49
Size: 9736
Editor: BonoLv
Comment:
Revision 13 as of 2016-11-16 09:29:42
Size: 9950
Editor: BonoLv
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
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 dynamic and speed should be achieved at the same time when people develop a Mobile App. Meanwhile duplicate work between the different platforms should be avoided. 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:
Compared with WebView based UI framework which performance and features are limited, Weex preserves it's lightweight development pattern and improve the user experience by high-quality native render engine and native features at the same time. 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 manage these components.
Line 11: Line 11:
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".
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 speed should be achieved at the same time when people develop a Mobile App. Meanwhile duplicate work between the different platforms should be avoided.
Line 18: Line 16:
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 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. 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.
Line 20: 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 dynamics. 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 22: 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. 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).In laest November 11th promotions, 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. 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. 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).In laest 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 25: Line 23:
Weex has become a 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 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.
Line 27: Line 25:
Weex code repository located at GitHub . All development activities have already happened on GitHub as open source manner. Weex code repository located at GitHub. All development activities have already happened on GitHub as open source manner.
Line 59: Line 57:
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 a OpenSource project, we have been working to make an open governance structure for project leadership to encourage individual and company involvement and contributions. 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.
Line 66: Line 64:
Line 76: Line 75:
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 a 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 78: Line 77:
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 124: Line 123:
Line 132: Line 130:
c

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 manage 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 speed 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. 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).In laest 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.

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 )

c

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