在移动开发过程中,除了核心功能(与底层API高度相关,强性能要求,强体验要求等除外),同时充斥着大量的业务页面需要开发(如产品介绍,商品选购,列表展现,报表展现,业务处理,流程处理等),这时候我们就会在想,这些页面是否需要我们在Android和iOS原生上实现一遍呢?
在以前,我们经常用H5编写这些业务页(Hybird),它主要好处是仅仅一个URL就可跨端展现,简单高效,但缺点也很明显,内存占用多,性能不如意,页面卡顿,无法自己掌控内存优化等,所以近一两年H5Native化的框架应用而生,比如基于React的React Native,NativeScript以及本文的基于Vue的Weex,这也代表了现代前端框架中的三驾马车都有了自己Native化解决方法(React,Angularjs,Vue),这种技术兼具了“快”与“体验”;
在飞猪Weex分享会上,针对为什么使用Weex有个探讨,主要基于:
迭代速度快:快速响应需求;
页面体验佳:接近原生的渲染性能;
多容器接入:可同时适配支付宝,飞猪,淘宝,天猫等;
资源占用小;
富交互体验佳,长列表渲染性能好;
跨端使用,一次编写,到处使用;
下图是H5和Weex性能比较:

飞猪技术体系(这也是我们Sumslack的体系架构参考):

前端移动端容器通过URL识别H5页面还是Weex页,当然Weex在需要超长列表(带图),复杂业务逻辑交互等场景应慎用。
好了,说了这么多Weex好处,接下来就来搭建一个Weex开发环境,你需要准备:
node,npm;
visual code;
一个预览Weex页面的移动端(可以是支付宝,淘宝,飞猪,weex playground或者是我们的sumslack),如果要调试页面,请选择weex playgournd或sumslack;
有了这些基础环境后,你只需要使用npm安装开发工具包即可,详见:https://github.com/apache/incubator-weex
有了toolkit接下来装一下weex-ui(在我们sumslack项目中,基础组件在此基础上扩展),然后可以通过weex create xxx来创建weex项目并在此基础上开发即可;
OpenSumslack为Weex扩展一些Native功能,包括:
调试工具:类似微信小程序的“打开调试”按钮;
为移动端底层提供统一接口,避免重复开发:注册,登录,聊天,上传,下载,预览文档,位置获取,电话,通讯录等;
为Weex提供Native UI接口:如打开联系人,打开跟某人聊天,打开地图等;
在OpenSumslack基础上,开发一款App将变得更加快速和高效,我们将这些和Weex相关的页面Demo开源出来,给你做参考,以下是几个截图:

我们的Weex业务实现:

使用Weex Playground或Sumslack的扫一扫功能预览效果:

近期我们会在这个Demo中放出更多实例让您了解,不日将公布demo程序的git地址,请关注本公众号:

这些文章可能对你有用:




