The implementation in js framework is finished, and I sent a PR [1] to merge it into the master branch.
The Vue.js framework and native render engines have already achieved it and all unit tests are passed (poison: [2] validator: [3]). I think it's time to test it in some real cases, such as the TaoBao app. [1] https://github.com/apache/incubator-weex/pull/960 [2] http://dotwe.org/vue/665a40b9ccc937025fceda627937f659 [3] http://dotwe.org/vue/5a182754bf404b314d70a4ced455c3e8 2017-12-19 16:47 GMT+08:00 Hanks Zhang <[email protected]>: > For the Vue.js framework, I sent a PR [1] to achieve it. I think Rax > should do the same thing. > > In the PR, I removed legacy framework APIs and use "createInstanceContext" > instead of "createInstance" to create the Vue module instance for each page. > > Native render engines should also call "createInstanceContext" instead of > "createInstance", and the source code is no longer needed. Another change > is, the bundle type of the code (Vue or Rax) should be parsed in native and > send it to js framework. > > [1] https://github.com/vuejs/vue/pull/7272 > > 2017-12-04 16:22 GMT+08:00 Hanks Zhang <[email protected]>: > >> +1. Currently, multiple js bundles are executed in the same js context, >> and the isolation is implemented by js, which is not robust. >> >> In my opinion, the most reasonable solution is to distinguish the "Global >> Context" and the "Instance Context", move the logic of instance management >> and code execution from js to native. >> >> On this basis, I think there are some sub-problems that need to be solved: >> >> (1). How to expose APIs from Global Context to Instance Context? >> (2). How to isolate those exposed APIs? >> (3). Adjustments of Vue and Rax. >> (4). Impact on performance. >> (5). What about the platform APIs and the polyfills? Such as console, >> Object.assign, and timer. >> (6). Redesign the js service. >> >> Feel free to discuss any of these topics, or add one. >> >> Best regards, Hanks >> > >
