移动互联网应用发展到现在出现了移动五端: ios、android、微信公众号、微信小程序、支付宝小程序。
如何以最小的代价把他们五端合一,这个就牵涉到开发模式的问题。
微信小程序合支付宝小程序,除了框架不同,他们采用都是js语言,在组件化开发方式下,通过简单修改可以实现两者的快速转换,这个也就算实现了两端合一。
那么 ios,android,微信公众号是否有相同的语音可以实现这三端合一呢?
真的存在这种开发模式,它就是Hybrid App,现在它采用的语音主要是js语言。Hybrid App是指介于web-app、native-app这两者之间的app,它虽然看上去是一个Native App,其实是一个原生框架(UINavigationController,UITabBarController ,UIViewController)加上一个WKWebview或uiwebview,它的页面入口就是一个页面连接,具体的页面逻辑由js页面自己自实现。它能实现云端一体,页面都在云端。
由于移动三端和小程序两端都是采用是js语言,只是他们的开发框架不同,在采用组件化开发的方式下,他们能高度复用,接近五端统一。我们已经实现ios、android、微信公众号三端完全合一。微信小程序、支付宝小程序采用组件化高度复用,当然也复用了其它三端合一的代码。
app的四种开发模式的优缺点
这个是我们采用Hybrid App开发模式下的框架情况:版本更新,登录注册,直播(公众号不能直接实现,让原生来实现),主页面(WKWebview,标签函数的图片预处理,图片拍照上传,返回按钮的显示,分享功能等是通过- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message
与canInitWithRequest
等函数实现)。可以看到app的主要页面都在云端,iOS只是开发了一个壳,实现了一些基础功能。每一个页面都带有自己的cookies,不经过登录入口直接访问页面,由于cookies不正确会打开页面失败。
开发模式研究:
app四种开发模式的优缺点。移动五端合一说了如何让移动五端合一。
如何访问组件的bundle资源。
创建使用SDK静态库具体方案:
创建制作SDK的静态库工程说了如何创建工程,制作SDK静态库已经说了SDK如何写,打包SDK静态库说了如何打包iOS使用SDK静态库。
.framework类型的静态库和.a类型的静态库的优缺点及.framework类型的静态库zip压缩后解压后头文件丢失问题。
Mac电脑如何使用WinRAR。
下面是Demo:
iOS使用SDK静态库Demo.
SDK的Demo。