1. 程式人生 > >[轉]ionic工作原理

[轉]ionic工作原理

本文轉自:https://segmentfault.com/a/1190000011495654

1.Ionic的工作原理

Ionic通過cordova把一個Web應用嵌入原生應用

使用者開啟一個ionic的應用,過程如下:首先是裝置載入cordova應用封裝器,然後cordova應用封裝器載入webview,webview載入index.html檔案,最後angular載入並確定預設檢視,ionic渲染ionic元件作為UI。

clipboard.png

其中cordova的任務是實現瀏覽器視窗和原生API間的通訊

這個過程是Angular控制器使用Cordova JavaScript API呼叫Cordova,Cordova使用原生SDK和裝置通訊。

2.名詞解釋

Cordova
Cordova是貢獻給Apache後的開源專案,是從PhoneGap中抽出的核心程式碼,是驅動PhoneGap的核心引擎。你可以把他想象成類似於Webkit和Google Chrome的關係。
Cordova 是一個可以讓 JS 與原生程式碼(包括 Android 的 java,iOS 的 Objective-C 等)互相通訊的一個庫

Cordova JavaScript API
Cordova提供了一組裝置相關的API,通過這組API,移動應用能夠以JavaScript訪問原生的裝置功能,如攝像頭、麥克風等。Cordova還提供了一組統一的JavaScript類庫,以及為這些類庫所用的裝置相關的原生後臺程式碼。

API
API(應用程式程式設計介面)是一組功能和規則,它們存在於軟體程式中,可以在軟體和其他專案之間進行互動,例如其他軟體或硬體。

WebView
WebView(網路檢視)能載入顯示網頁,可以將其視為一個瀏覽器。它使用了WebKit渲染引擎載入顯示網頁。

3.Mobile App

Mobile App分為三大類:Native App、Hybrid App、Web App。

原生應用

ios使用Objective-C,或者Swift。Android使用java。

移動端網站(web應用)

移動端網站免安裝、跨平臺,並且沒有任何稽核流程,缺點是不具備原生訪問能力,它依賴於瀏覽器的功能。(使用者更習慣使用app,而不是輸入網址、訪問移動端網站)

Hybrid應用

它一次開發,多個平臺部署,能夠最小化開發成本,它使用web技術開發,又能訪問原生API。當然從效能上由於依賴於webview所以效能比不上原生應用,原生功能的訪問也取決於相應的外掛有沒有被開發出來或者其他方法。

clipboard.png

參考
ionic實戰系列(一):ionic的開發環境配置和編譯、釋出
淺析 Cordova for iOS
Cordova webapp實戰開發:(2)認識一下Cordova