DATE: 2020/02/09
By finishing the following two articles:
- taro: applet multiport framework of a comprehensive evaluation
- uni-app: Cross-end development framework depth Hengping
Summary
Bottom level
Provide the underlying rendering engine layout engine, middle DSL (Domain-specific Language), the upper frame.
High performance, consistent rendering, cross-platform, it can be compiled to run on the browser;
We need to learn development language;
It does not support applets;
Web Technology
No DOM, no BOM, by close to front-end eco-technology, self-development layout engine deal with CSS, using JavaScript to write business logic, using the popular front-end framework as DSL, each end of each use their own native component rendering; By registering, call modules to achieve call the mobile device native API;
In order to maintain commonality of the frame, the built-native module is limited;
No rendering engine, rendering consistency is not high;
Business logic runs JavaScript Thread, and Native frequent communication, performance is not high, easy to dropped frames Caton.
- React Native,react-native-web
- Weex
Compiled
As a basis to select a DSL JavaScript framework, the framework to the DSL standard codes are compiled into different at each end, respectively, each end frame (container) or compatible component library to ensure a proper runtime code runs.
Follow React, Vue syntax specification, as many-fold the upper layer application language, compiled into different platforms, to develop once, run everywhere, once developed, the wrong tune everywhere.
- JD / Taro , grammar React
- Dcloudio / uni app
- DiDi / Chameleon , multi-state agreement for the development of multi-terminal
- Tencent / wepy: applet component-based development framework , inadequate support multiport
- Meituan-Dianping / mpvue
taro
/ (React Native, Expo), chameleon
/ (weex), uni-app
/ (weex, nvue) APP end support frame.
When poor compatibility across APP end, difficult to locate the root cause (runtime, compile-time, component library, library.);
chameleon
, A set of SDK with multiport communications protocol native language, multiport good support; test code and very standardized.
Conclusion (TL; DR)
The pursuit of performance, cross-platform, non-small program with Chinese characteristics,Flutter
React to follow the syntax taro
specification ;
Vue follow the syntax specification, components and uni-app
more ;
Vue follow the syntax specification, architecture design is reasonable, good multiport support, chameleon
.