暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OpenSumslack跨端应用解决方法 - Weex

Sumslack团队 2018-01-23
576

    在移动开发过程中,除了核心功能(与底层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地址,请关注本公众号:



这些文章可能对你有用:


Vue2的单元测试与调试技术

一篇文章学会Vue开发


    

文章转载自Sumslack团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论