APP的開發(fā)模式可分為四種:原生應(yīng)用Native App、網(wǎng)頁應(yīng)用 Web App、混合開發(fā) Hybrid App、React Native。
使用相應(yīng)移動平臺特有的開發(fā)工具和語言進(jìn)行開發(fā)。
當(dāng)今最流行的兩大移動端平臺Android和i0S各有自己的一套獨(dú)立的開發(fā)模式。
基于Android平臺的Java語言開發(fā)
基于iOS平臺的Obective-C語言/Swift語言開發(fā)
優(yōu)點(diǎn)
1. 執(zhí)行速度快,界面流暢,動態(tài)效果出色
2. 性能穩(wěn)定,對網(wǎng)絡(luò)的依賴性小
3. 用戶體驗(yàn)趨于完美,用戶留存率高
4. 可以非常方便地調(diào)用操作系統(tǒng)提供的各種功能及終端硬件設(shè)備,如讀取本地通訊錄、推送通知提醒、調(diào)用攝像頭等
缺點(diǎn)
1、Android和iOS上的應(yīng)用需要單獨(dú)開發(fā)、維護(hù),開發(fā)成本很高。周期長,價(jià)格高。
2、升級更新繁瑣,每個系統(tǒng)要單獨(dú)更新,程序猿完成工作后,開發(fā)者要重新上傳,然后審核,用戶才能更新。IOS的審核至少需要一周,所以對于產(chǎn)品運(yùn)營,無疑會加大時(shí)間投入。
3、分發(fā)成本高。
應(yīng)用
原生開發(fā)適用于無需經(jīng)常更新程序框架的APP。
除此之外,游戲類的APP由于要大量加載顯卡及動畫效果,也通常采用原生模式進(jìn)行開發(fā)。
Web App是移動網(wǎng)頁開發(fā)模式,借鑒了傳統(tǒng)Web開發(fā)方式,利用 HTML , CSS , JavaScript 等技術(shù)模仿Native App的界面結(jié)構(gòu),開發(fā)適合于移動端顯示的 網(wǎng)頁 ,并通過手機(jī)上的 瀏覽器 解釋執(zhí)行。
這里要特別提一下HTML5,即H5。嚴(yán)格意義上來說它是第五代HTML標(biāo)準(zhǔn),并不是一項(xiàng)技術(shù)。而我們平時(shí)習(xí)慣從廣義上討論H5,將它打包成一個解決方案,即看起來很酷炫的移動onepage網(wǎng)站的解決方案,包括HTML5新增的audio標(biāo)簽,canvas,拖拽特性,本地存儲,websocket通信,同時(shí)也包括了CSS等。
1. 可跨平臺,跨設(shè)備,開發(fā)成本小。周期短,價(jià)格低。
3. 安裝包小巧,只包含框架文件,而大量的UI元素、數(shù)據(jù)內(nèi)容存放在云端。
2. 完全自控,可在網(wǎng)頁上直接調(diào)試、修改,可實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)交互,升級更新。用戶不用重新安裝,無須官方審核及應(yīng)用商店。
1. 受限于網(wǎng)絡(luò)環(huán)境,沒有網(wǎng)絡(luò)的Web App幾乎沒有任何功能。頁面跳轉(zhuǎn)需要發(fā)送網(wǎng)絡(luò)請求,再通過瀏覽器解釋執(zhí)行,交互時(shí)間長。若遇到網(wǎng)絡(luò)不穩(wěn)定情況,用戶使用中會有斷斷續(xù)續(xù)不流暢的感受。
2. 受限于渲染性能。對復(fù)雜圖形、動態(tài)效果、自定義字體等支持性不強(qiáng)。
3. 無法很好地調(diào)用操作系統(tǒng)提供的硬件設(shè)備(如攝像頭)。
4. 用戶體驗(yàn)很差
適用于商城類APP、資訊、企業(yè)集團(tuán)等需經(jīng)常更新內(nèi)容的APP應(yīng)用。
小結(jié)
Hybrid App是混合開發(fā)模式,這種模式將 Native App與Web App進(jìn)行混合開發(fā) ,一部分 基本界面 用手機(jī)系統(tǒng)的 原生 語言開發(fā)。另一部分 功能界面 用 Web 技術(shù)開發(fā)移動端網(wǎng)頁,利用原生語言中的WebView進(jìn)行顯示網(wǎng)頁,這部分功能能在不升級APP的情況下動態(tài)更新,且在iOS或Android的App上同時(shí)運(yùn)行。
混合開發(fā)根據(jù)側(cè)重點(diǎn)分為三種方案:Web架構(gòu)為重、編譯轉(zhuǎn)換、Native架構(gòu)為重。
這里有種極端情況是只包了原生的殼,里面其實(shí)是H5網(wǎng)頁,大家要有所了解。
Hybrid App結(jié)合了Native App和Web App兩種開發(fā)模式,把這兩種開發(fā)模式的優(yōu)點(diǎn)和缺點(diǎn)折中互補(bǔ)。總體費(fèi)用在原生開發(fā)和HTML5開發(fā)模式之間。開發(fā)周期也在兩者之間。簡而言之,中庸之選,在Native APP和Web APP兩者之間。
React Native起源于Facehook的內(nèi)部項(xiàng)目。它不提供“write once, run anywhere”的解決方案,并不能真正意義上解決同一份代碼,不同平臺運(yùn)行。而是創(chuàng)新的提出了“Learn once, write anywhere”,即學(xué)習(xí)一次,可以在N個平臺使用。
React Native App是采用 React Native框架 開發(fā)的跨平臺移動應(yīng)用。這個框架的原理是 基于網(wǎng)頁開發(fā)技術(shù)并利用JavaScript語言與兩大平臺上的原生語言Java和objective-C進(jìn)行交互,互相調(diào)用,從而達(dá)到使用JavaScript來寫原生應(yīng)用的目的 。
1. 跨平臺,代碼可復(fù)用于兩個平臺,組件化思想可以幫助開發(fā)者增加效率。
2. 動態(tài)更新。程序的JavaScript代碼放在服務(wù)器上,用戶在本地備份執(zhí)行,在程序升級更新時(shí)客戶端自動從服務(wù)器下載代碼到本地解釋執(zhí)行,實(shí)現(xiàn)了 熱更新 。JavaScript代碼占用的空間很小,相當(dāng)于一份文檔,如今的網(wǎng)絡(luò)速度下載這份代碼用戶幾乎察覺不到。
3. React Native App的性能只比Native App差一點(diǎn),比Web App和Hybrid App強(qiáng)很多,用戶體驗(yàn)較好。
4. 有個好爹哈哈
1、擴(kuò)展性不如Web,更遠(yuǎn)遠(yuǎn)不如Native。
2、發(fā)展時(shí)間短,不夠成熟,不夠穩(wěn)定,不夠完善,生態(tài)系統(tǒng)還在搭建中。





公司地址:安徽省安慶市迎江區(qū)綠地藍(lán)海2號樓1809-1812室