摘要:本文轉(zhuǎn)載自眾成翻譯譯者文藺鏈接原文譯者注本文講到的可能和我們通常理解的略有差異。文中部分主要講到的是,這一點可能在一些開發(fā)者看來是有爭議的。談到,最好也是最簡單的辦法是使用免費開源的框架。需要快速開發(fā)打樣那可能最好的選擇。
本文轉(zhuǎn)載自:眾成翻譯
譯者:文藺
鏈接:http://www.zcfy.cc/article/861
原文:http://www.telerik.com/blogs/hybrid-or-native-mobile-app-use-the-right-tool-for-the-job譯者注:本文講到的 hybrid & native 可能和我們通常理解的略有差異。文中 native 部分主要講到的是 NativeScript,這一點可能在一些開發(fā)者看來是有爭議的。關(guān)于 NativeScript,想起來@前端外刊評論 有一篇文章《使用 NativeScript 和 Angular2 構(gòu)建跨平臺 APP》,可以參閱。
移動應(yīng)用開發(fā),何時該用 hybrid,何時又該用 native?一起來學習它們的差異,看看哪款更適合你。
移動應(yīng)用開發(fā)者的工具箱正在膨脹,比任何人期待的都更加多樣化了。從像 Xcode 和 Android Studio 這樣的純原生 (pure native) 解決方案,到 Telerik NativeScript和 React Native 這樣的原生 JavaScript 選項,再到 Kendo UI 和 Ionic 這樣基于 web 的框架,開始App 開發(fā)比以前任何時候都容易。然而,隨著可選項的增加,“選擇悖論” (paradox of choice) 出現(xiàn)了 —— 我們驚呆了,看不懂了,竟然有如此多的可選項。我們真正想要的是,更少的選擇,更清晰的指南。在這篇文章中,我希望能讓您看清選擇,為您指向一條康莊大道,創(chuàng)建成功的移動應(yīng)用。
談?wù)撘苿討?yīng)用開發(fā)的工具、服務(wù),比如說Telerik Platform by Progress提供的那些,選擇就變得簡潔多了:
想試試 hybrid ?我們提供 Cordova/PhoneGap 開發(fā),你可以使用任何移動端 JavaScript 框架
想用 native ?我們支持 NativeScript 開發(fā)(附帶可選的 [Angular 2 集成])
使用 Telerik Platform,不需要 Mac,也不需要管理各種 SDK。你可以使用到最佳的模擬、調(diào)試以及像消息推送、實時同步(LiveSync)、App Store發(fā)布等等服務(wù)。
Hybrid App 到底是什么?我的同事 John Bristowe 在這篇博客中講到了這個,其中有關(guān)于 hybrid 的全面解釋。說得更清楚一點,Hybrid App 并不是移動端網(wǎng)站!它是安裝在設(shè)備本地的應(yīng)用,但使用 Web 技術(shù)(HTML5, CSS,JavaScript)編碼,在 WebView 中運行。WebView 是打包在移動應(yīng)用中的瀏覽器。
Hybrid App 無論是看起來、感覺起來還是使用起來,都很像 Native App(多數(shù)情況下... 往下看)。它可以與設(shè)備的原生功能如地理定位、相機、通訊錄等等交互。任何無法使用的原生功能,通常都能用各種 Cordova 插件解決。
聽起來真棒,是吧?來看看 hybrid 的更多優(yōu)弱勢:
Hybrid 強項完全跨平臺:編碼一次,然后就可以構(gòu)建 iOS、Android 和/或 Windows Phone 應(yīng)用
代碼復用:可以復制現(xiàn)有的大部分 Web App 代碼,將其轉(zhuǎn)換為移動 App
技能復用,學習曲線低:如果你有 JavaScript、HTML、CSS 相關(guān)知識的話,很快就能使用 Cordova 和移動 JavaScript 框架開發(fā)應(yīng)用
減少開發(fā)時間和成本:因為上述有點,可以相對快速完成移動 App 開發(fā)并上線
健全的生態(tài)系統(tǒng): Cordova 是一個成熟的開源框架,Kendo UI 包含一個著名的(且開源的)移動框架。
Hybrid 缺點感知性能問題: Hybrid App 在 WebView 中運行,所以會受到設(shè)備上 WebView 的性能的影響(尤其 Android 有一堆問題)
跨設(shè)備行為差異: WebView 在各平臺(甚至不同版本)上不一樣,需要額外調(diào)整并優(yōu)化代碼,確保 App 按照預期能在所有設(shè)備上運行
大量圖形和過渡(heavy graphics and transitions)情況下的性能問題: WebView 在處理大量圖形和過渡(特別是游戲和其他重 UI 的應(yīng)用中)的時候,肯定有各種問題
特定平臺 UI 或特性需要額外開發(fā):進軍特殊平臺的特性,通常需要額外編碼,或者在某些情形下使用插件,甚至需要自己來創(chuàng)建插件
新版本平臺支持緩慢:新版移動平臺可以使用的時候,在 Cordova 引入新版本及其特性的各種支持之前,需要等上幾個月
Native App 又是什么?Native App 是運行在設(shè)備本地的應(yīng)用,使用的是真實的原生 UI 元素。不像 Hybrid App,Native App 無需犧牲性能,因為它運行在設(shè)備原生環(huán)境中!Native App 中沒有 WebView 礙事了。 Native App 也能完整訪問平臺上所有可用的 API(所以不必使用任何插件,雖然它們也有用)。
談到 Native App,最好也是最簡單的辦法是使用免費、開源的 NativeScript 框架。
為什么使用 NativeScript ?好吧,就像 hybrid 技術(shù),它可以讓你使用所掌握和喜愛的 Web 技能(CSS 和 JavaScript/TypeScript),同時使用我們的插件如 Telerik UI for NativeScript 達到平滑、優(yōu)雅的用戶體驗。
這聽起來也挺好的吧? 也來看看 native 的優(yōu)缺點細節(jié):
Native 強項跨平臺:同 hybrid 一樣,使用 NativeScript 創(chuàng)建的應(yīng)用,同一套代碼可以在 iOS 和 Android 上運行
代碼復用:還是一樣,可以將許多 JavaScript 業(yè)務(wù)邏輯拷到 NativeScript 應(yīng)用中(當然得視情況而定)
技能復用:如果你會 JavaScript 和 CSS,或者理解 XML(UI 標記)的概念,那你已經(jīng)具備理解 NativeScript 的基礎(chǔ)了
跨平臺的原生 UI 和性能:因為應(yīng)用使用的是原生組件,它們在任何地方都能跑起來
利用現(xiàn)有的原生庫: NativeScript 提供包括 CocoaPods 這樣的原生庫的框架外支持
新特性無縫支持:新的移動操作系統(tǒng)版本可用的時候,NativeScript 馬上就能提供支持
Native 弱勢相對較新: JavaScript Native 框架相對來說還是比較新,因此社區(qū)還在制造資源、拓展文檔
更陡峭的學習曲線: Hybrid 讓我們使用 HTML,但 NativeScript 迫使我們使用更多的原生應(yīng)用概念如 原生 UI 元素。對不起,沒有 div 了,但是 NativeScript 布局引擎理解起來很簡單
兩者如何選擇?這才是關(guān)鍵問題,對吧?如果你想開發(fā)移動應(yīng)用,而且有得選擇,然后 Telerik Platform 兩種方案都支持,你會怎么選?這兒有一些問題是我們聽到人們在選擇 hybrid 和 native 開發(fā)時的談?wù)摰模?/p>
性能對我很重要 —— 如果體驗不好客戶才不會要!如果性能是關(guān)鍵(通常都這樣),那就使用 NativeScript 吧。
我只想盡快上線應(yīng)用。不需要完美,也不需要 100% 原生。需要快速開發(fā)打樣 App?那 hybrid 可能最好的選擇。NativeScript 很酷的一點是,你甚至可以直接從打樣 App 中復制大部分業(yè)務(wù)邏輯,放到 NativeScript App 中(它們都是 JavaScript)。
我想讓我的應(yīng)用不會過時。我可等不及別人寫插件或者更新框架。和最新的移動平臺保持同步確實有點麻煩,這也是為何 NativeScript 為各種新操作系統(tǒng)發(fā)布、API 升級提供快速支持。
我需要給我的應(yīng)用創(chuàng)建一個 Windows Phone 版本!截至現(xiàn)在,Windows Phone 只支持 hybrid(不過 NativeScript 團隊正在為此努力)。
下一步現(xiàn)在開始,在 Telerik Platform 上開始免費試用吧。我們?yōu)槟闾峁┘磿r可用的開發(fā)體驗,眾多關(guān)于 hybrid 和 native 的快速入門教程。祝你好運!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87771.html
摘要:這是一個用于構(gòu)建響應(yīng)式應(yīng)用和網(wǎng)站的前端框架。是基于設(shè)計的一套豐富的組件。這是一個對混合式手機應(yīng)用框架的擴展庫。到目前為止它僅大小,而且不依賴于任何第三方的插件,它可以很輕量的被用來創(chuàng)建和應(yīng)用。 _Material design_是Google開發(fā)的,目的是為了統(tǒng)一公司的web端和手機端的產(chǎn)品風格。它是基于很多的原則,比如像合適的動畫,響應(yīng)式,以及顏色和陰影的使用。完整的指南詳情請看這里...
摘要:這是一個用于構(gòu)建響應(yīng)式應(yīng)用和網(wǎng)站的前端框架。是基于設(shè)計的一套豐富的組件。這是一個對混合式手機應(yīng)用框架的擴展庫。到目前為止它僅大小,而且不依賴于任何第三方的插件,它可以很輕量的被用來創(chuàng)建和應(yīng)用。 _Material design_是Google開發(fā)的,目的是為了統(tǒng)一公司的web端和手機端的產(chǎn)品風格。它是基于很多的原則,比如像合適的動畫,響應(yīng)式,以及顏色和陰影的使用。完整的指南詳情請看這里...
閱讀 1613·2021-09-23 11:31
閱讀 929·2021-09-23 11:22
閱讀 1353·2021-09-22 15:41
閱讀 4085·2021-09-03 10:28
閱讀 2918·2019-08-30 15:55
閱讀 3549·2019-08-30 15:55
閱讀 1966·2019-08-30 15:44
閱讀 2727·2019-08-30 13:50