app

开发一个 APP 准备条件

  • app 功能需求
  • 页面设计
  • 一个能开发 app 的程序员

开发方式

写在前面 安卓和IOS开发(我不是很了解,只知道有)

区别

iOS开发和Android开发分别是基于苹果系统和安卓系统的APP开发,根本的区别在于iOS是封闭,不是开源的,所以无需考虑屏幕适配问题,所以iOS APP的兼容性好,而开发使用的语言是oc语言。而Android使用的是java语言,由于是开源的,所以要考虑屏幕适配,但是市场占有率却非常高。

Web App

开发者: H5工程师; 使用技术:HTML + CSS + JS; 开发成本:跨平台,开发效率高,开发成本低,维护成本低。 学习成本:低 使用成本:通过设备浏览器访问,使用成本低

用户体验:差,性能不高,不流畅,用户粘度低,太依赖网络(离线缓存), 浏览器安全级别限制,无法跨域访问,无法调用设备的原生功能

通过https://www.dcloud.io/wap2app.html工具转成在手机APP,否则只能在浏览器查看

Native App(原生 APP)

开发者: H5工程师|android,ios; 使用技术:HTML + CSS + JS | Java + xml | Objective-C/Swift + xml ; 开发成本:不能跨平台,开发效率低,开发成本高,维护成本高。 学习成本:高 使用成本:需要下载安装,安装包较大,使用成本高

用户体验:好,性能高,流畅,用户粘度高,不太依赖网络 , 能调用设备的原生功能

RN、Flutter、Weex开发出来的依然是Nativ App,只是从开发方式上实现了跨平台

Hybrid App(混合开发)

HTML页面 + 原生模块,说白了,就是在原生应用模块中利用webview去嵌入H5页面来承担应用的需求逻辑

流行的开发模式有两种:

  1. Native 主导

    整体应用的开发需要原生开发工程师参与,开发部分逻辑后,通过嵌入H5页面来承载另一部分逻辑

    一般布局复杂、逻辑较为简单、更新维护较为频繁模块适合H5开发

    开发嵌入到Native 的app的时候需要掌握两个小小的技巧:

     1. 如何判断用户手机系统 navigator.userAgent
     2. js如何与native交互
    

    交互案例:

     1. H5列表点击之后通知Native进行跳转,并携带参数
     2. 详情Webview打开H5详情页的时候传递参数,H5页面需要接受传递过来的参数
     3. H5点击购票后,通过native来获取用户登录信息
    

    总结一下,Native与H5的通信,指的就是类似上面的几种,互相调用方法、传参

  2. H5主导

    整个业务逻辑都是H5页面来承载,利用一些开发工具来进行打包、测试、调用设备原生功能。

    市场上流行的开发工具、模式:

     1. phonegap + cordova + ionic 
     2. Dcloud...
     3. Appcan/AppCloud ....
    

Dcloud产品开发HybridApp的方式(https://www.dcloud.io/)
Hbuilder 、 mui 、 H5+runtime
Hbuilder是一款编辑器,可以运行调试应用,也可以打包应用
我们可以直接将一个webapp套上原生的壳子,生成一个HybridApp,也可以一步一步的进行开发,创建webview来嵌入H5页面,调用Native功能

我们可以创建多个H5页面,每个页面都有自己承载的Webview窗口对象,通过操作窗口对象,来进行界面间的通信和交互

在开发中,HTML5+为Webview中嵌入的H5页面注入了plus对象,通过调用plus对象来进行与native交互

窗口:

plus.webview->create,getWebviewById,getCurrentWebview....show.hide,close,open

创建窗口,给窗口调整样式,获取窗口,关闭窗口,显示窗口,传参,mui.fire触发事件来进行通信,在某个窗口中控制另一个窗口中html页面执行一段js代码 。。。。
其他系统api:

camera、audio、gallery
借助了mui前端框架进行开发事半功倍: mui-jqlit,openWindow。。。。。。
https://www.cnblogs.com/yuanyingke/p/6060150.html

你可能感兴趣的:(app)