• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺議四種移動APP的開發(fā)模式

      2017-04-26 00:01:42張帥桐
      電腦知識與技術(shù) 2017年6期
      關(guān)鍵詞:網(wǎng)頁界面程序

      張帥桐

      摘要:移動APP是移動互聯(lián)網(wǎng)時代的重要支柱,隨著智能終端設(shè)備在全世界的普及,大大小小的公司都在設(shè)法把自身的業(yè)務(wù)往移動終端設(shè)備上轉(zhuǎn)變,從而對于移動APP的開發(fā)與運營也有了極大的需求。本文將結(jié)合近年流行的技術(shù),對四種移動APP開發(fā)模式進行探討。

      關(guān)鍵詞:APP開發(fā)模式;Web App;Native App;Hybrid App;React Native App

      中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)06-0087-02

      伴隨著4G網(wǎng)絡(luò)的發(fā)展與移動終端設(shè)備的普及,移動APP成為了企業(yè)在用戶身邊的重要表現(xiàn)形式,移動APP主要安裝在用戶的手機中,是公司宣傳以及公司與用戶開展業(yè)務(wù)的重要媒介。

      經(jīng)統(tǒng)計,中國的網(wǎng)民約有7.31億,與全歐洲的人口總和相當(dāng),其中使用手機上網(wǎng)人群已高達(dá)95.1%。目前移動端APP開發(fā)擁有巨大的市場,并且未來隨著智能穿戴設(shè)備、智能家居和人工智能的迅猛發(fā)展,移動APP還具有十分大的發(fā)展空間。

      如今開發(fā)出一款成功的APP已經(jīng)成為公司運營的重要一環(huán),但APP的開發(fā)模式很多,不同模式的實現(xiàn)機理不同,因而會在APP的開發(fā)成本、運行性能、升級維護和用戶體驗等方面造成不同的影響。

      1主要開發(fā)模式

      APP的主要開發(fā)模式主要分為四類,第一類是原生應(yīng)用開發(fā),即Native App。原生應(yīng)用開發(fā)由于手機操作系統(tǒng)的不同又分為成了兩部分,基于Android平臺的Java語言開發(fā)和基于iOS平臺的Objective-C語言/Swift語言開發(fā)。第二類是移動網(wǎng)頁應(yīng)用開發(fā),即Web App。網(wǎng)頁應(yīng)用開發(fā)是利用Web技術(shù),使用HTML、CSS和JavaScript開發(fā)用于移動端顯示的網(wǎng)頁。第三類是把Native App和Web App結(jié)合的混合開發(fā)模式,即Hybrid App。第四類是基于React Native框架的JavaScript語言開發(fā)的類原生應(yīng)用,即React Native App。

      1.1 Native App開發(fā)模式

      Native App是本地開發(fā)方式,基于手機操作系統(tǒng)進行開發(fā),利用Java、Objective-C或Swift語言進行程序開發(fā),然后編譯成字節(jié)碼或機器碼后經(jīng)操作系統(tǒng)調(diào)度運行。

      由于操作系統(tǒng)不同以及開發(fā)語言的不同,當(dāng)今最流行的兩大移動端平臺Android和iOS各有自己的一套獨立的開發(fā)模式,兩大平臺差異較大。現(xiàn)以iOS平臺為例簡述下Native App的開發(fā)模式。首先需要在Mac OS X系統(tǒng)上安裝蘋果公司開發(fā)的IDE——Xcode。Xcode內(nèi)擁有開發(fā)iOS Native App快捷高效的Cocoa Touch框架,是開發(fā)原生iOS程序的不二選擇。在Xcode中創(chuàng)建一個Single View Application工程后選用Swift語言開發(fā),會自動生成以Main.storyboard、AppDelegate.swift、ViewController.swift開發(fā)核心的若干文件。其中Main.storyboard用于構(gòu)建各個頁面之間跳轉(zhuǎn)關(guān)系和具體頁面布局,在Xcode的右下角有可拖拽的若干控件,拖拽控件到Main.storyboard后結(jié)合AutoLayout為各個控件添加各種布局約束,來保證界面在不同大小的屏幕上的適配。AppDelegate.swift是為iOS程序做一些初始化設(shè)置,主要用于在APP啟動時為重要的數(shù)據(jù)結(jié)構(gòu)進行初始化,以及響應(yīng)APP運行時事件,如程序啟動、程序運行內(nèi)存不足、程序切換等。程序員可在AppDelegate.swift中的相關(guān)函數(shù)里對事件響應(yīng)進行操作。ViewController.swift就是iOS程序中的初始界面,是UI控件和程序邏輯的控制器。程序員主要通過ViewController.swift中的viewDidLoad和viewWillAppear等方法對iOS程序的數(shù)據(jù)層和視圖層進行控制,來表達(dá)APP的業(yè)務(wù)邏輯。

      Native App開發(fā)模式的優(yōu)勢在于Native App是編譯后的文件,執(zhí)行速度快,界面動畫十分流暢,對網(wǎng)絡(luò)的依賴性小,用戶體驗很好。Native App基于平臺層可以非常方便地調(diào)用操作系統(tǒng)提供的各種功能,如調(diào)用攝像頭、推送信息和讀取本地通訊錄等。

      Native App開發(fā)模式的劣勢主要是:開發(fā)周期長,兩套獨立的知識體系復(fù)雜且學(xué)習(xí)成本高,依賴操作系統(tǒng)而無法進行跨平臺開發(fā),APP版本升級繁瑣需要重新把源文件編譯打包再由用戶下載覆蓋安裝。

      1.2 Web App開發(fā)模式

      Web App是移動網(wǎng)頁開發(fā)模式,借鑒了傳統(tǒng)Web開發(fā)方式,利用HTML、CSS、JavaScript等技術(shù)模仿Native App的界面結(jié)構(gòu),開發(fā)適合于移動端顯示的網(wǎng)頁,并通過手機上的瀏覽器解釋執(zhí)行。

      與Native App開發(fā)模式相比,Web App開發(fā)模式的優(yōu)勢有以下幾點。首先,知識體系與原本開發(fā)網(wǎng)頁的方式相似,便于大量的傳統(tǒng)網(wǎng)頁開發(fā)人員學(xué)習(xí);其次,網(wǎng)頁是跨平臺的,相同的業(yè)務(wù)邏輯無須迎合操作系統(tǒng)的不同而開發(fā)Android和iOS兩個APP;最后,Web App運營升級簡單,只需要把服務(wù)器上的網(wǎng)頁代碼進行修改即可,用戶不用重新安裝,無須官方審核進入應(yīng)用商店。

      但Web App存在著很多致命缺陷,過度依賴于網(wǎng)絡(luò),沒有網(wǎng)絡(luò)的Web App幾乎沒有任何功能,頁面跳轉(zhuǎn)需要發(fā)送網(wǎng)絡(luò)請求再通過瀏覽器解釋執(zhí)行交互時間長,而且Web App是基于瀏覽器開發(fā)的,所以無法很好地調(diào)用操作系統(tǒng)提供的功能,這些缺陷使得Web App的用戶體驗很差。

      1.3 Hybrid App開發(fā)模式

      Hybrid App是混合開發(fā)模式,這種模式將Native App與Web App進行混合開發(fā),一部分基本界面用手機系統(tǒng)的原生語言開發(fā),另一部分功能界面用Web技術(shù)開發(fā)移動端網(wǎng)頁,利用原生語言中的WebView進行顯示網(wǎng)頁。

      Hybrid App結(jié)合了Native App和Web App兩種開發(fā)模式,把這兩種開發(fā)模式的優(yōu)點和缺點折中互補?;窘缑媸遣粫?jīng)常修改的,需要修改的功能界面用網(wǎng)頁來實現(xiàn),修改時只需更改服務(wù)器中的網(wǎng)頁,實現(xiàn)了功能界面的跨平臺,減輕了開發(fā)成本?;窘缑娉Ec用戶進行交互,用原生語言進行開發(fā),在功能和性能方面比Web App有了較大的提高,提高了用戶體驗。

      這種混合開發(fā)的折中方式越來越受到重視,微信和移動QQ等程序都采用了這種方式,從各個方面迎合了需求。

      1.4 React Native App開發(fā)模式

      React Native App是采用React Native框架開發(fā)的跨平臺移動應(yīng)用。目前支持最流行的兩大移動平臺——iOS和Android。React Native App開發(fā)模式使用JavaScript、CSS和類似HTML的JSX進行開發(fā),這個框架的原理是基于網(wǎng)頁開發(fā)技術(shù)并利用JavaScript語言與兩大平臺上的原生語言Java和Objective-C進行交互,互相調(diào)用,從而達(dá)到使用JavaScript來寫原生應(yīng)用的目的。React Native App存在著原生模塊和JavaScript模塊,原生模塊是一個或多個線程,JavaScript模塊只是一個單線程與原生模塊異步執(zhí)行。程序最開始執(zhí)行是在原生模塊中,之后原生模塊會調(diào)用JavaScript模塊,程序員把程序代碼用JavaScript語言寫在JavaScript模塊中,JavaScript代碼由手機上的JS解釋器執(zhí)行。React Native內(nèi)封裝了原生的iOS組件和Android組件可在兩大平臺上很好的適配,并且利用Virtual DOM方式更好的渲染UI組件,再加上diff算法獲得UI組件在事件響應(yīng)時需要更新的部分,極大地提高了React Native App的性能,使其能與原生程序媲美。

      React Native App幾乎具備前幾種開發(fā)模式所有的優(yōu)點。JavaScript可與Java和Objective-C互相調(diào)用,從而可以方便地使用操作系統(tǒng)的功能。只學(xué)習(xí)React Native這套理論就可以開發(fā)兩個主流平臺的App。程序的JavaScript代碼放在服務(wù)器上,用戶在本地備份執(zhí)行,在程序升級更新時客戶端自動從服務(wù)器下載代碼到本地解釋執(zhí)行,實現(xiàn)了熱更新,JavaScript代碼占用的空間很小相當(dāng)于一份文檔,如今的網(wǎng)絡(luò)速度下載這份代碼用戶幾乎察覺不到,而且React Native App的性能只比Native App差一點,比Web App和hybrid App強很多,用戶體驗較好。

      2 結(jié)束語

      移動互聯(lián)網(wǎng)的浪潮,推動著移動開發(fā)技術(shù)的不斷發(fā)展,移動App的開發(fā)模式也豐富了起來。本文探討了目前主流的四種開發(fā)模式,這些模式都存在著自身的優(yōu)勢與不足,在實際開發(fā)前應(yīng)仔細(xì)權(quán)衡開發(fā)人員的知識體系和開發(fā)成本。個人認(rèn)為React Native App是發(fā)展趨勢,適合學(xué)習(xí)。不過目前React Native框架還在實驗發(fā)展階段,還沒有Native App開發(fā)模式成熟,最近幾年內(nèi)應(yīng)還會以Hybrid App為主要開發(fā)模式。

      參考文獻:

      [1] 楊毅.移動APP開發(fā)模式探討[J].福建電腦,2014(6):86-87.

      [2] 高晶.校園業(yè)務(wù)中混合模式移動應(yīng)用軟件架構(gòu)的實現(xiàn)[J].中國信息技術(shù)教育,2015(15):119-121.

      [3] 黃悅深.基于HTML5的移動WEB APP開發(fā)[J].圖書館雜志,2014(7):72-76.

      [4] 嚴(yán)新巧.基于移動開發(fā)現(xiàn)狀探討React Native[J].電腦知識與技術(shù),2016(32):76-82.

      [5] 潘婷婷.React Native在APP開發(fā)中的應(yīng)用研究[J].無線互聯(lián)科技,2016(19):142-143.

      猜你喜歡
      網(wǎng)頁界面程序
      國企黨委前置研究的“四個界面”
      試論我國未決羈押程序的立法完善
      基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
      電子制作(2018年10期)2018-08-04 03:24:38
      基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
      “程序猿”的生活什么樣
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      英國與歐盟正式啟動“離婚”程序程序
      人機交互界面發(fā)展趨勢研究
      網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      創(chuàng)衛(wèi)暗訪程序有待改進
      霍山县| 枣强县| 杂多县| 汉阴县| 巴林左旗| 全椒县| 江阴市| 凌源市| 上饶县| 府谷县| 沙坪坝区| 嘉兴市| 南京市| 图木舒克市| 富平县| 泰顺县| 永寿县| 沙雅县| 肇东市| 四会市| 新沂市| 南阳市| 泽普县| 云和县| 和平县| 若尔盖县| 勐海县| 东乌珠穆沁旗| 资中县| 山丹县| 怀来县| 新竹县| 佛教| 榆中县| 永善县| 集贤县| 玛沁县| 囊谦县| 南漳县| 柳林县| 博湖县|