什么是web app、native app以及hybrid app?
移動開發(fā)者們都知道在高端智能手機系統(tǒng)中有兩種應(yīng)用程序:一種是基于本地(操作系統(tǒng))運行的APP,另一種是基于高端機的瀏覽器運行的Web App。
??這一段話其實已經(jīng)很巧妙的解釋了手機應(yīng)用的兩大分類。
??接下來,我們做更加細致的解釋。
nativeapp
原生程序,一般運行在手機操作系統(tǒng)上,有很強的交互,靜態(tài)資源都是在本地的。瀏覽使用方便,體驗度高。在實現(xiàn)上要么使用Objecttive-c和cocoaTouch Framework撰寫IOS程序,要么選擇java+Android Framework撰寫android應(yīng)用程序。
webapp
生存在瀏覽器里的應(yīng)用,所以只能運行在瀏覽器里,宿主是瀏覽器,不再是操作系統(tǒng)。資源一般都在網(wǎng)絡(luò)上。說的根本點就是一個觸屏版的網(wǎng)站。
hybridapp
一個半原生程序,偽造了一個瀏覽器的apk/ipa原生程序,把地址寫死了,然后里面運行了一個webapp。里面是WebView UI 。但是還是運行在機器的操作系統(tǒng)上,交互較弱,資源一般在本地或者網(wǎng)絡(luò)都可以。瀏覽體驗度次之。
怎樣辨別Web App和Native App?
找到“設(shè)置”——“開發(fā)者選項”——“顯示布局邊界”,然后再去啟動app。界面統(tǒng)一而無明顯邊框的為H5反之為Native。
詳細教程:https://www.zhihu.com/question/35743517
Web App目前應(yīng)用最廣泛的兩個框架。
IONIC
IONIC 是目前最有潛力的一款HTML5手機應(yīng)用開發(fā)框架。通過SASS構(gòu)建應(yīng)用程序,它提供了很多UI組件來幫助開發(fā)者開發(fā)強大的應(yīng)用。它使用JavaScript MVVM框架和 AngularJS來增強應(yīng)用。提供數(shù)據(jù)的雙向綁定,使用它成為Web和移動開發(fā)者的共同選擇。即將發(fā)布的AngularJS 2.0將會專注于移動開發(fā),相信IONIC一定會取得不錯的成就 。
IONIC的開發(fā)團隊將盡快開發(fā)出一種通過IONIC creator提供開發(fā)者快速創(chuàng)建IONIC應(yīng)用的方式。我們將很快就會看到一個支持拖拉功能的可視化開發(fā)工具,幾分鐘內(nèi)開發(fā)一個app將不再只是吹xx。
PhoneGap
PhoneGap 恐怕是最老的一個框架了,相信很多人都已經(jīng)聽說過甚至使用過它,但是PhoneGap是基于開源的 Cordova 商業(yè)版本。
第一段PhoneGap代碼是在2008年8月的iPhoneDevCamp上寫成的。創(chuàng)建它的一個主要動力是基于一個幾乎每一個單獨 的iPhone開發(fā)新手都要面對的簡單事實:Objective-C是一個對Web開發(fā)人員來說非常陌生的環(huán)境,并且Web開發(fā)人員的數(shù)量遠遠多于 Objective-C開發(fā)人員的數(shù)量。
問題是,是否有人可以開發(fā)一個框架,讓W(xué)eb開發(fā)人員可以利用他們所有的HTML、CSS和JavaScript知識,而且仍舊可以同iPhone的重要本地應(yīng)用程序(如攝像頭和通訊錄)交互呢?
就在那一年,PhoneGap獲了獎并開始支持Android平臺,對人數(shù)不斷增長的移動開發(fā)人員變得越來越有用,這些人員需要在更多的平臺上獲得代碼支持。
大家可以到PhoneGap documentation官方文檔開始對PhoneGap的學(xué)習(xí)。
本文來源:
7個混合式移動框架
辨別H5和Native