移动开发的常用模式,以及Hybrid模式
原创声明
本文系作者辛苦码字所得,欢迎分享和转载,但请在明显位置注明作者的如下信息:
笔名:来碗鸡蛋面
简书主页:https://www.jianshu.com/u/4876275b5a73
邮箱:job_tom@foxmail.com
CSDN ID:tom_wong666
移动端开发常见的三种模式:
1,webApp
模式:用web技术编写的可以在移动端使用的网站;
优点:成本低(一次开发跨平台使用),迭代迅速,跨平台;
缺点:复杂功能交互体验差,调用移动端设备(定位,摄像头,麦克风等)限制多;
2,NativeApp
模式:用原生iOS和安卓技术开发的移动App;
优点:用户体验好,调用移动端设备(定位,摄像头,麦克风等)方便;
缺点:成本高(iOS和安卓同样的功能要并行开发),迭代流程长(需要经过应用市场进行迭代,
发版周期长);
3,HybridApp
模式:混合web技术和原生技术进行混合编程;
优点:用户体验接近或媲美原生(目前移动设备性能大举进步带来的福利,另外用reactNative
混编出来的移动App可以媲美原生应用),成本低(用web技术做的主要展示页面,一次开发跨
平台使用),调用移动端设备(定位,摄像头,麦克风等)方便;迭代迅速(上线以后的迭代,除
非涉及原生部分的变更,一般情况下可以实现热更);
Hybrid开发的基本模式:
1,将web代码部署到原生工程中,一起打包成App
优点:避免了用户打开应用时请求web代码资源的时间;
缺点:随着功能更多,App体积会越来越大,占用用户本地的存储也会增大,所以不适合大
型生态项目;
伪代码:
WebView wv = new WebView(getApplicationContext())
// 获取本地资源
wv.loadUrl("file:///android_asset/***.html")
wv.getSettings().setJavaScriptEnabled(true)
setContentView(wv)
2,将web代码部署到服务器上,原生App访问在线web代码资源;
优点:App不会因为功能扩展而变得臃肿,不会占用用户更多本地存储;
缺点:用户每次访问时,多了请求web代码资源的时间;
伪代码:
WebView wv = new WebView(getApplicationContext())
// 获取远程资源
wv.loadUrl("http://****.html")
wv.getSettings().setJavaScriptEnabled(true)
setContentView(wv)
三大框架对于混编的实现
1,Vue
web工程项目配合原生webView(比如cordova等)实现混编;
2,Angular
web工程项目配合原生webView(比如Cordova等)实现混编,这里要提一下Ionic,
这是一个开源免费的开发混编移动应用的开发框架,封装了我们熟知的Angular,Sass,
Cordova,可以帮助我们迅速的开发混编应用;
3,React
ReactNative是以混编模式开发的,但是产出的确实可以与原生相媲美的移动App,
如下是官方介绍截图: