根據跨平臺的框架功能,把跨平臺開發框架主要分為3大類,分別是:Web App框架、Hybrid框架、含有編譯轉換的框架。
一、Web App框架
Web App其實不算是嚴格意義上的App,我覺得應該把它稱作網頁端自適應移動版更合適。
網頁一般是wap開頭的,比如wap.xxx.com。后來有了3g網絡之后,升級為3g開頭的,比如3g.xxx.com,還有一種是以m開頭的,比如m.xxx.com。
采取這樣的一種策略的優勢:入門門檻低,只需要會HTML5、CSS3、JS前端語言就可以開發Web App了,開發成本低,內容更新也很方便,Web App無需安裝,可以在不同系統、不同平臺和設備上運行。
Web App缺點:用戶體驗比不上原生那么流暢,性能上比不上原生;有一些功能受瀏覽器、系統以及平臺本身限制不好實現。
二、Hybrid框架
由于原生WebView控件存在一定的局限性,和Web交互起來有些問題不好處理,于是出現了一些基于原生WebView封裝的Hybrid框架,這些框架有一個共同特點:封裝了移動端設備(Android、iOS)上最常用的本地API調用,然后以統一的Javascript API形式提供給Web開發者調用。這樣一來原生不能解決的問題可以用Web去處理,同時你也可以自己封裝原生API,做成一些插件使用。
比較熱門的Hybrid框架有Ionic、Cordova、DCloud:
Ionic:
Ionic底層打包使用 Cordova,Ionic自帶豐富的Ionic UI樣式,Ionic使用的是AngularJS前端框架,基于PhoneGap編譯平臺。
Ionic擁有豐富的命令操作,可以通過命令行工具快速創建Android和iOS項目,并且也可以編譯成Android和iOS平臺的應用程序,同時Ionic也支持自定義編寫Android和iOS的插件。
Cordova:
Cordova是一個使用HTML,CSS和JS這些前端語言去構建移動應用的平臺。
Cordova提供了一些操作原生設備有關的API,通過這些API,可以使用JavaScript去訪問原生的設備的相關功能,例如打開攝像頭、打電話、開啟傳感器等。比如拿Android來說,Cordova是通過addJavascriptInterface(Android Webview的API)和JS Prompt這兩種方式來實現JS對于原生 Android API的調用。
三、含有編譯轉換的框架
React Native:
使用JavaScript 和 React 編寫移動應用,在 UI方面使用是原生的控件,性能比Hybrid表現要好很多。React Native因為是基于React,它是響應式編程,熟悉React的會很快上手,一次性學習,全平臺開發,團隊可以為任何平臺開發應用,不需要為每個平臺學習不同的基礎技術。React Native支持熱更新也成了很多開發團隊的熱捧。
Weex:
Weex 是一個使用 Web 開發體驗來開發高性能原生應用的框架。使用同一套代碼就可以構建 Android、iOS 和 Web 應用。Weex 的結構是解耦的,渲染引擎與語法層是分開的,目前主要支持 Vue.js 和 Rax 這兩個前端框架。Weex 在 iOS 和 Android 上都實現了一個渲染引擎,并提供了一套基礎的內置組件?;谶@些組件,你可以用JS封裝更多的上層組件。
Flutter:
Flutter是谷歌推出的跨平臺項目,它的前身是Sky項目,起源于2015年。Sky項目一開始就定位Dart作為開發語言,使用Dart語言開發移動端項目,Sky它不依賴于平臺,它的代碼可以運行在Android、iOS設備上,真正做到了“一次代碼,處處運行”,讓你在Android、iOS設備上擁有接近原生的體驗。
其他
Kotlin:
它利用LLVM來編譯到機器碼。它主要是基于 LLVM后端編譯器(Backend Compiler)來生成本地機器碼。Kotlin Native設計初衷是為了支持在非JVM虛擬機平臺環境的編程,如 ios、嵌入式平臺等。同時支持與 C 互操作。
Scade:
Scade是一個跨平臺的,支持Android,Apple和Linux的工具。使用Swift的代碼庫為進行開發,可以構建和部署多個不同平臺的應用。Swift代碼編譯為Android和iOS可執行文件以及靜態和動態庫,并打包為IAK和ADK文件。通用平臺特定的控件直接集成到Scade圖形SVG渲染引擎中,Scade標準庫提供了大量系統功能,操作系統特定功能作為默認包公開并易于使用,無需包裝或使用外部功能接口。
APICloud-專業APP開發、app定制服務商,提供一站式移動應用解決方案,滿足您的各類需求,歡迎免費評估需求和獲取報價。
立即免費在線制作一個APP,新手注冊即送開發大禮包
提交app定制需求,免費獲取報價和周期:
電腦請點擊https://app.apicloud.com/index?uzchannel=500
手機請點擊http://www.cvrender.com/m/customizedservice