Cordova、Ionic、AngularJS都是什么?
Cordova
Cordova是一款開放源代碼的App開發框架,旨在讓開發者使用HTML、javascript、CSS等WebAPIs開發跨平臺的移動平臺應用程序,其原名稱之為PhoneGap,Adobe收購Nitobi公司后,PhoneGap商標保留,代碼貢獻給了Apache基金會,而Apache將其命名為ApacheCallback,其后發布新版本時,定名為ApacheCordova。
Cordova是一個行動設備的API接口集,利用Javascript存取這些接口可以調用諸如攝影機、羅盤等硬件系統資源。配合上一些基于HTML5、CSS3技術的UI框架,如jQueryMobile、DojoMobile或SenchaTouch,開發者得以快速地開發跨平臺App而不需要編寫任何的原生代碼。
注意到因為Cordova本身仍是一個原生程式,為App打包時依然需要用到這些系統平臺的SDK。
本文將結合Ionic前端框架進行開發。
Ionic
Ionic是一個新的、可以使用HTML5構建混合移動應用的用戶界面框架,它自稱為是“本地與HTML5的結合”。該框架提供了很多基本的移動用戶界面范例,例如像列表(lists)、標簽頁欄(tabbars)和觸發開關(toggleswitches)這樣的簡單條目。它還提供了更加復雜的可視化布局示例,例如在下面顯示內容的滑出式菜單。
Ionic宣稱他們極度強調性能,并且通過限制DOM交互、完全移除jQuery以及使用像translate(z)這種特定的硬件加速的CSS濾鏡觸發移動設備上GPU——與由動力不足的移動瀏覽器提供的交互相比這種方式提供了硬件加速的交互——等方式使速度最大化。
AngularJS
AngularJS是建立在這樣的信念上的:即聲明式編程應該用于構建用戶界面以及編寫軟件構建,而指令式編程非常適合來表示業務邏輯。[1]框架采用并擴展了傳統HTML,通過雙向的數據綁定來適應動態內容,雙向的數據綁定允許模型和視圖之間的自動同步。因此,AngularJS使得對DOM的操作不再重要并提升了可測試性。
設計目標:
將應用邏輯與對DOM的操作解耦。這會提高代碼的可測試性。
將應用程序的測試看的跟應用程序的編寫一樣重要。代碼的構成方式對測試的難度有巨大的影響。
將應用程序的客戶端與服務器端解耦。這允許客戶端和服務器端的開發可以齊頭并進,并且讓雙方的復用成為可能。
指導開發者完成構建應用程序的整個歷程:從用戶界面的設計,到編寫業務邏輯,再到測試。
Angular遵循軟件工程的MVC模式,并鼓勵展現,數據,和邏輯組件之間的松耦合。通過依賴注入(dependencyinjection),Angular為客戶端的Web應用帶來了傳統服務端的服務,例如獨立于視圖的控制。因此,后端減少了許多負擔,產生了更輕的Web應用。
開發環境
我所使用的開發環境包括下面這些:
工作站:一臺13寸的MacBookPRoRetina+iPadMini
使用Mac開發前端有很多優勢,對于我來講,最大的優勢就在于我還是一個linux用戶,很多的Linux習慣在Windows下面總是會有一些不適應,再者,OSX的系統穩定性以及各種各樣優秀的App,也讓它一直都成為我的工作利器。
我沒有像很多牛逼的大神們購買多塊屏幕,我只有一臺iPadMini,然后還有一個叫作Duet的App,它可以讓我把iPad作為我的Mac的第二塊屏幕,一般不需要,但是它真的能提高我的工作效率,而且可以直接使用到iPad的觸摸屏,這對于移動開發來講,很好。
我還有一臺Lenovo的Yoga3,裝了Ubuntu,不過很少用,顯示有點兒別扭,但是,比起其它的PC機,這臺還是很不錯了,大家也可以試試。
開發工具
以前是Notepad++的忠實用戶,然后還有Coda、TextMate、BBEdit、SublimeText等等的,現在用的(而且可能以后會一直使用的)——WebStorm。
新聞熱點
疑難解答