iOS Weex跨平台开发工具功能~简介

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

一、weex的概念

Weex全名(Write Once,Run Everywhere)简称Weex.

Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。在开发APP客户端等用到,在JS端,Weex又被人称为Vue Native.

发展经历:

2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请。也是内测时间.

二、weex使用优点

优点:

1.Weex主要解决了频繁发版和多端研发两大痛点,同时解决了前端语言性能差和显示效果受限的问题。开发者可通过Weex官网申请内测。

2.开发者只需要在自己的APP中嵌入Weex的SDK,就可以通过撰写HTML/CSS/JavaScript来开发Native级别的Weex界面。

3.Weex界面的生成码其实就是一段很小的JS,可以像发布网页一样轻松部署在服务端,然后在APP中请求执行。

4.Weex更加轻量,体积小巧。

5.Weex可以支持iOS、Android、HTML5.

三、weexJS引擎

1.weex使用JS引擎V8

2.weex基于vue.js(2W+ star),JS开发框架。

3.小巧轻量的前端开发框架,组件化,数据绑定,2.0引入virtual dom。

四、安装环境:

1.weex安装cli之后就可以使用

2.vue更接近常用的web开发方式,模板就是普通的html,数据绑定使用mustache风格,样式直接使用css

3.布局:实现了flexbox的相同子集使用了FaceBook的代码解析.

4.已经有iOS项目的,可以通过cocospod直接安装Weex的SDK,

五、易用性

1.sdk使用:weex可以直接在mvn项目中使用;

2.调试:weex支持在chrome中预览页面dom节点

3.页面开发:weex提供了一个playground,可以方便的预览正在开发的页面

4.即时预览:weex提供hot reload功能,可以边更改代码,边在手机上看到效果

5.打包:weex默认打的js bundle只包含业务js代码,体积小很多,基础js库包含在weex sdk中

6.部署:斑马提供了可以拖拽搭建weex活动页面的功能

7.扩展:三方库的接入上,weex对网络,图片,统计等常见的用户可能想自己定制的功能,提供了相应的适配接口

8.集团库接入:weex有默认的mtop接入实现,UT接入实现

9.跨平台:weex可以支持Android iOS web三个平台

10.Moudle方法调用线程:weex可以通过注解标注是否在UI线程执行

11.异步:weex只支持callback

六、性能

分包加载:weex默认提供分包实现

官方支持 :weex持续关注性能优化

大块view渲染:weex提供了node和tree两种渲染模式,优化长view的渲染

ListView Android:weex使用recyclerview实现,性能稍好

七、社区

1.weex开源较晚,目前只有4k+ start,contributor以阿里人为主,

2.weex开源较少,issue和pull request也比较少,社区目前规模比较小

八、工具链

1.debug tool提供在chrome中调试的支持

2.打包工具weex默认提供的足够满足使用需求

3.webpack,gulp,脚手架工程

weex有相应的插件,方便开发,部署使用

九、页面降级

Weex默认是支持页面降级的。比如出现了错误,就会降级到H5。这里建议最好做一个线上的开关。我司在处理页面降级的问题上采取了两种级别的开关:

App级的开关。这个开关是管理用户App是否使用Weex SDK的,这块是可以在线配置的。

页面级的开关。这个开关是管理某个页面是否开启Weex的。如果不开启就降级成H5页面。

除了降级以后,还对应采取了灰度的策略,这样保证线上bug降低到最低。

比如在用户量低峰期的时候开启开关进行灰度。还有一级灰度就通过线上实时错误监控平台来控制,如果因为突发事件导致Crash率陡升,那么就立即关闭Weex的开关,立即进行降级处理。

谢谢!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容