天天看點

技術選型——混編APP應用概述一, 主要應用技術二, 開發概述三,前期Demo&概述

本文主要是針對**APP進行開發之前的技術選型準備文檔,現在share出來,希望在做同類開發的您留下寶貴意見。

=============================分割線=====================================

    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是一個新的、可以使用HTML5建構混合移動應用的使用者界面架構,它自稱為是“本地與HTML5的結合”。該架構提供了很多基本的移動使用者界面範例,例如像清單(lists)、标簽頁欄(tabbars)和觸發開關(toggleswitches)這樣的簡單條目。它還提供了更加複雜的可 視化布局示例,例如在下面顯示内容的滑出式菜單。

Ionic宣稱他們極度強調性能,并且通過限制DOM互動、完全移除jQuery以及使用像translate(z)這種特定的硬體加速的CSS濾鏡觸發移動裝置上GPU——與由動力不足的移動浏覽器提供的互動相比這種方式提供了硬體加速的互動——等方式使速度最大化。

PS:Ionic的npm安裝需要Python環境的支援,建議使用2.7的版本。

     AngularJS是建立在這樣的信念上的:即聲明式程式設計應該用于建構使用者界面以及編寫軟體建構,而指令式程式設計非常适合來表示業務邏輯。[1]架構 采用并擴充了傳統HTML,通過雙向的資料綁定來适應動态内容,雙向的資料綁定允許模型和視圖之間的自動同步。是以,AngularJS使得對DOM的操 作不再重要并提升了可測試性。

設計目标:

将應用邏輯與對DOM的操作解耦。這會提高代碼的可測試性。

将應用程式的測試看的跟應用程式的編寫一樣重要。代碼的構成方式對測試的難度有巨大的影響。

将應用程式的用戶端與伺服器端解耦。這允許用戶端和伺服器端的開發可以齊頭并進,并且讓雙方的複用成為可能。

指導開發者完成建構應用程式的整個曆程:從使用者界面的設計,到編寫業務邏輯,再到測試。

   Angular 遵循軟體工程的MVC模式,并鼓勵展現,資料,和邏輯元件之間的松耦合。通過依賴注入(dependencyinjection),Angular為客戶 端的Web應用帶來了傳統服務端的服務,例如獨立于視圖的控制。是以,後端減少了許多負擔,産生了更輕的Web應用。

    混編APP主要是在Cordova的基礎上,加入移動端元件Ionic,因為Ionic是基于Angular.Js編寫的,是以,要求頁面前端使用Angular.JS取代Jquery。