如何在现有iOS应用中集成Weex

1.什么是Weex?

简单来说就是用开发Web的技术(HTML,CSS,JS)或框架(Vue)来开发原生应用。

其原理大概是这样:比如说你是用Vue开发一个iOS的原生应用,首先你可以在前端编辑器(比如sublime)开发,调试,最后通过工具打包会生成js文件,这个js文件包含了你开发的所有内容和依赖,然后把这个js文件拖到原生里面,按照Weex的要求配置一下,这时候原生需要集成Weex的解析渲染组件,在iOS里面就是WeexSDK,这个sdk会解析这个js,最终将代码渲染到原生里面。Weex其实虽然用Vue开发,其实真正到原生的时候渲染的组件都是原生组件,这也保证了weex的样式与体验是与原生一致的。并且支持了原生开发的同学可以自己开发原生组件。同时也会出现一个问题就是Weex不会支持所有的Vue语法功能,因为Vue最初是为了Web开发的,比如Web里面有Dom的概念,在原生里面是不存在的。具体的差异可以查看这里weex.incubator.apache.org/cn/guide/us…

2.如何将Weex集成到原生应用

接下来我们就演示上面的过程(如何在现有应用集成Weex)

1.新建一个iOS应用。

配置Podfile如下:

source 'git@github.com:CocoaPods/Specs.git'
target 'YourTarget' do
    platform :ios, '7.0'
    pod 'WeexSDK', '0.17.0'   ## 建议使用WeexSDK新版本
end复制代码

2.新建一个Weex应用

1.搭建开发环境。 www.jianshu.com/p/084b5b1e7…
2.开发调试完成后,在项目根目录执行npm run build,然后在在根目录找到dist文件夹,里面就是生成的js文件,直接拽到xcode里面.


3.初始化Weex环境


4.在ViewController中渲染weex instance



5.销毁weex instance

- (void)dealloc {
    [_instance destroyInstance];
}复制代码

到这里我们以一种最最简单的形式把weex已经集成到原生的ios里面了。

3.开发一个原生组件

这里的原生组件分两种module和component.

module主要是封装一些功能集合,比如网络请求等。

component主要是封装一些view组件,比如地图等。

我们以module为例子讲解,component与之类似。

1.自定义的module需要遵循 WXModuleProtocol协议,通过 WX_EXPORT_METHOD这个宏暴露出需要JavaScript调用的方法


在这里面就可以自由自在的开发原生了,然后通过callback回调到js即可。第一个参数是回调给js的数据,第二个BOOL值,如果为YES表示回调一次后就销毁,为NO则是不销毁。

2.在之前初始化weex环境的位置注册这个module。


3.JavaScript端的使用如下:


到此我们将weex集成到了原生应用并完成了一个module的封装。




转载于:https://juejin.im/post/5b0e02bdf265da08fb019e40

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值