app

開發(fā)一個 APP 準備條件

  • app 功能需求
  • 頁面設計
  • 一個能開發(fā) app 的程序員

開發(fā)方式

寫在前面 安卓和IOS開發(fā)(我不是很了解,只知道有)

區(qū)別

iOS開發(fā)和Android開發(fā)分別是基于蘋果系統(tǒng)和安卓系統(tǒng)的APP開發(fā),根本的區(qū)別在于iOS是封閉,不是開源的,所以無需考慮屏幕適配問題,所以iOS APP的兼容性好,而開發(fā)使用的語言是oc語言。而Android使用的是java語言,由于是開源的,所以要考慮屏幕適配,但是市場占有率卻非常高。

Web App

開發(fā)者: H5工程師; 使用技術:HTML + CSS + JS; 開發(fā)成本:跨平臺,開發(fā)效率高,開發(fā)成本低,維護成本低。 學習成本:低 使用成本:通過設備瀏覽器訪問,使用成本低

用戶體驗:差,性能不高,不流暢,用戶粘度低,太依賴網絡(離線緩存), 瀏覽器安全級別限制,無法跨域訪問,無法調用設備的原生功能

通過https://www.dcloud.io/wap2app.html工具轉成在手機APP,否則只能在瀏覽器查看

Native App(原生 APP)

開發(fā)者: H5工程師|android,ios; 使用技術:HTML + CSS + JS | Java + xml | Objective-C/Swift + xml ; 開發(fā)成本:不能跨平臺,開發(fā)效率低,開發(fā)成本高,維護成本高。 學習成本:高 使用成本:需要下載安裝,安裝包較大,使用成本高

用戶體驗:好,性能高,流暢,用戶粘度高,不太依賴網絡 , 能調用設備的原生功能

RN、Flutter、Weex開發(fā)出來的依然是Nativ App,只是從開發(fā)方式上實現了跨平臺

Hybrid App(混合開發(fā))

HTML頁面 + 原生模塊,說白了,就是在原生應用模塊中利用webview去嵌入H5頁面來承擔應用的需求邏輯

流行的開發(fā)模式有兩種:

  1. Native 主導

    整體應用的開發(fā)需要原生開發(fā)工程師參與,開發(fā)部分邏輯后,通過嵌入H5頁面來承載另一部分邏輯

    一般布局復雜、邏輯較為簡單、更新維護較為頻繁模塊適合H5開發(fā)

    開發(fā)嵌入到Native 的app的時候需要掌握兩個小小的技巧:

     1. 如何判斷用戶手機系統(tǒng) navigator.userAgent
     2. js如何與native交互
    

    交互案例:

     1. H5列表點擊之后通知Native進行跳轉,并攜帶參數
     2. 詳情Webview打開H5詳情頁的時候傳遞參數,H5頁面需要接受傳遞過來的參數
     3. H5點擊購票后,通過native來獲取用戶登錄信息
    

    總結一下,Native與H5的通信,指的就是類似上面的幾種,互相調用方法、傳參

  2. H5主導

    整個業(yè)務邏輯都是H5頁面來承載,利用一些開發(fā)工具來進行打包、測試、調用設備原生功能。

    市場上流行的開發(fā)工具、模式:

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

Dcloud產品開發(fā)HybridApp的方式(https://www.dcloud.io/
Hbuilder 、 mui 、 H5+runtime
Hbuilder是一款編輯器,可以運行調試應用,也可以打包應用
我們可以直接將一個webapp套上原生的殼子,生成一個HybridApp,也可以一步一步的進行開發(fā),創(chuàng)建webview來嵌入H5頁面,調用Native功能

我們可以創(chuàng)建多個H5頁面,每個頁面都有自己承載的Webview窗口對象,通過操作窗口對象,來進行界面間的通信和交互

在開發(fā)中,HTML5+為Webview中嵌入的H5頁面注入了plus對象,通過調用plus對象來進行與native交互

窗口:

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

創(chuàng)建窗口,給窗口調整樣式,獲取窗口,關閉窗口,顯示窗口,傳參,mui.fire觸發(fā)事件來進行通信,在某個窗口中控制另一個窗口中html頁面執(zhí)行一段js代碼 。。。。
其他系統(tǒng)api:

camera、audio、gallery
借助了mui前端框架進行開發(fā)事半功倍: mui-jqlit,openWindow。。。。。。
https://www.cnblogs.com/yuanyingke/p/6060150.html

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容