1. why
  • For some H5 personnel reasons, the new non-main process requirements will all be developed by app personnel. Since then, the app has shrunk from 15 people to two for ios and two for Android. We investigated WEEX and RN to address the needs of each of the three products.
    • Our original app is very complete, and new businesses are relatively independent pages, so weeX, which is more focused on pages, is more suitable (weeX is not recommended for the whole app, RN and Flutter are more suitable).
    • I personally in the middle of 16 years (should be just open source soon) concern, have a certain understanding.
    • Combined with MPVue, micro programs can share components with WEEX.
    • Weex is easy to use and the team as a whole prefers VUE.
    • There are a lot of articles about weex, but when we tried it, it was mostly fine for app development. But WEEx is not suitable for the whole app.
    • Community support was relatively weak, but we could build our own wheels and modify our own SDKS.
    • We finally decided to use WEEX for development.
  1. Current level of use
  • There are already 5 new businesses developed entirely using WEEx, 12 separate WEEX interfaces, a total of 34 WEEX pages, 23 WEEX components, 3 native provided components, and 6 moudle providing 42 native app features.
  1. Problems encountered
  • Our own network library wrapped in OKHTTP restricts the return of certain data types, whereas WEEX’s IWXHttpAdapter requires the return of bytes.
    • Modify the network library
  • Compilation time is too long. Preview causes
    • Conf filterPage(entrys) for filtering and NPM run serve — –env.page=XX to specify the pages to preview.
  • The CSS displays slightly different UI ends.
  • The weeX official UI library is not rich
    • Some use WEEX-UI
    • Write some of your own using VUE
    • Using native UI (maps, etc.)
  1. Page jump
  • We did not use vue-Router and weeX’s built-in Navigator module. Instead, a custom Navigator module is used to implement the native Scheme jump already defined (shared with push, H5, and external application jump). Both native and WEEX use this set. Weex redirection directly carries parameters to the next WEEX page. Only Map

    json data is transmitted through Scheme.
    ,object>
  1. use
  • Development: After submitting code, GitLib notifies Jenkins server to compile via Webhooks, app uses js link address generated by Jenkins server.

  • Online: Js files generated by the tag version are stored in the online static server, and the APP uses the online link. The next version will support app local caching and update by file version.

  • You can also visit my personal blog: blog.yzapp.cn

  • github:github.com/nesror

  • Jane: www.jianshu.com/u/85e5f9992…