當前位置:
首頁 > 知識 > 該死,原生移動應用的開發成本太高了!

該死,原生移動應用的開發成本太高了!

該死,原生移動應用的開發成本太高了!


我們遇到了一個臨界點。除去少數幾個特別的的用例之外,使用原生框架和原生應用開發團隊構建、維護移動應用再也沒有意義了。 -- Nader Dabit

本文導航

  • -這一切對於我們意味著什麼? …… 12%

  • -能不能拋棄移動應用,僅面向 Web 呢? …… 19%

  • -那混合開發呢? …… 31%

  • -解決方案 …… 41%

  • -在產品中特別注意使用 React Native …… 62%

  • -Facebook …… 63%

  • -Instagram …… 69%

  • -Airbnb …… 71%

  • -Vogue …… 74%

  • -沃爾瑪 …… 78%

  • -微軟 …… 81%

  • -結論 …… 86%

  • -公司 …… 87%

  • -開發者 …… 89%

編譯自: https://hackernoon.com/the-cost-of-native-mobile-app-development-is-too-damn-high-4d258025033a

作者: Nader Dabit

譯者: fuowang

一個有價值的命題

我們遇到了一個臨界點。除去少數幾個特別的的用例之外,使用原生框架和原生應用開發團隊構建、維護移動應用再也沒有意義了。

該死,原生移動應用的開發成本太高了!

在美國,僱傭 iOS,Android[1],JavaScript[2] 開發人員的平均花費

在過去的幾年,原生移動應用開發的費用螺旋式上升,無法控制。對沒有大量資金的新創業者來說,創建原生應用、MVP 設計架構和原型的難度大大增加。現有的公司需要抓住人才,以便在現有應用上進行迭代開發或者構建一個新的應用。要盡一切努力才能留住最好的人才,與 世界各地的公司[3] 拼盡全力爭個[4]高[5]下[6]。

該死,原生移動應用的開發成本太高了!

2015 年初,原生方式和混合方式開發 MVP 設計架構的費用對比[7]

這一切對於我們意味著什麼?

如果你的公司很大或者有足夠多的現金,舊思維是只要你在原生應用開發方面投入足夠多的資金,就高枕無憂。但事實不再如此。

Facebook 是你最不會想到的在人才戰中失敗的公司(因為他們沒有失敗),它也遇到了原生應用方面金錢無法解決的問題。他們的移動應用龐大而又複雜,他們發現編譯它竟然需要 15 分鐘[8]。這意味著哪怕是極小的用戶界面改動,比如移動幾個點,測試起來都要花費幾個小時(甚至幾天)。

除了冗長的編譯時間,應用的每一個小改動在測試時都需要在兩個完全不同的環境(IOS 和 Android)實施,開發團隊需要使用兩種語言和框架工作,這趟水更渾了。

Facebook 對這個問題的解決方案是 React Native[9]。


能不能拋棄移動應用,僅面向 Web 呢?

一些人認為移動應用的末日已到[10]。儘管我很欣賞、尊重 Eric Elliott[11] 和他的工作,但我們還是通過考察一些近期的數據,進而討論一下某些相反的觀點:

該死,原生移動應用的開發成本太高了!

人們在移動應用上花費的時間[12](2016年4月)


人們使用 APP 的時間占使用手機總時長的 90%

目前世界上有 25 億人在使用移動手機。這個數字增長到 50 億的速度會比我們想像的還要快。[13] 在正常情況下,丟掉 45 億人的生意,或者拋棄有 45 億人使用的應用程序是絕對荒唐且行不通的。

老問題是原生移動應用的開發成本對大多數公司來說太高了。然而,面向 web 的開發成本也在增加。在美國,JavaScript 開發者的平均工資已達到 $97,000.00[14]。

伴隨著複雜性的增加以及對高質量 web 開發的需求暴漲,僱傭一個 JavaScript 開發者的平均價格直逼原生應用開發者。論證 web 開發更便宜已經沒用了。


那混合開發呢?

混合應用是將 HTML5 應用內嵌在原生應用的容器里,並且提供實現原生平台特性所需的許可權。Cordova 和 PhoneGap 就是典型的例子。

如果你想構建一個 MVP 設計架構、一個產品原型,或者不擔心對原生應用的模仿的用戶體驗,那麼混合應用會很適合你。但謹記如果你最後想把它轉為原生應用,整個項目都得重寫。

此領域有很多創新的東西,我最喜歡的當屬 Ionic Framework[15]。混合開發正變得越來越好,但還不如原生開發那麼流暢自然。

有很多公司,包括最嚴峻的初創公司,也包括大中規模的公司,混合應用在質量上的表現似乎沒有滿足客戶的要求,給人的感覺是活糙、不夠專業。

聽說應用商店裡的前 100 名都不是混合應用[16],我沒有證據支持這一觀點。如果說有百分之零到百分之五是混合應用,我就不懷疑了。


我們最大的錯誤是在 HTML5 身上下了太多的賭注[17] — 馬克·扎克伯格

解決方案

如果你緊跟移動開發動向,那麼你絕對聽說過像 NativeScript[18] 和 React Native[19] 這樣的項目。

通過這些項目,使用由 JavaScript 寫成的基本 UI 組成塊,像常規 iOS 和 Android 應用那樣,就可以構建出高質量的原生移動應用。

你可以僅用一位工程師,也可以用一個專業的工程師團隊,通過 React Native 使用 現有代碼庫[20] 或者 底層技術[21] 進行跨平台移動應用開發、原生桌面開發[22],甚至還有 web 開發。把你的應用發布到 APP Store 上、 Play Store 上,還有 Web 上。如此可以在保證不喪失原生應用性能和質量的同時,使成本僅占傳統開發的一小部分。

通過 React Native 進行跨平台開發時重複使用其中 90% 的代碼也不是沒有的事,這個範圍通常是 80% 到 90%。

如果你的團隊使用 React Native, 既可以消除團隊之間的分歧,也可以讓 UI 和 API 的設計更一致,還可以加快開發速度。

在編譯時不需要使用 React Native,在保存時應用可以實時更新,也加快了開發速度。

React Native 還可以使用 Code Push[23] 和 AppHub[24] 這樣的工具來遠程更新你的 JavaScript 代碼。這意味著你可以向用戶實時推送更新、新特性,快速修復 bug,繞過打包、發布這些工作,繞過 App Store、Google Play Store 的審核,省去了耗時 2 到 7 天的過程(App Store 一直是整個過程的痛點)。混合應用的這些優勢原生應用不可能比得上。

如果這個領域的創新力能像剛發行時那樣保持,將來你甚至可以為 Apple Watch[25]、Apple TV[26],和 Tizen[27] 這樣的平台開發應用。


NativeScript 依然是個相當年輕的框架驅動,Angular 版本 2,上個月剛剛發布測試版[28]。但只要它保持良好的市場份額,未來就很有前途。

你可能還不知道世界上一些最能創新、最大的科技公司在這類技術上下了很大的賭注,特別是 React Native[29]。

我供職過的多家企業以及世界 500 強公司目前都在轉移至 React Native。


在產品中特別注意使用 React Native

看下面的例子,這是一個使用 React Native 技術的著名應用列表[30]。


Facebook

該死,原生移動應用的開發成本太高了!

Facebook 公司的 React Native 應用

Facebook 的兩款應用 Ads Manager[31] 和 Facebook Groups[32] 都在使用 React Native 技術,並且將會應用到實現動態消息的框架上[33]。

Facebook 也會投入大量的資金創立和維護像 React Native 這樣的開源項目,而且開源項目的開發者最近已經創建很多了不起的項目,這是很了不起的工作,像我以及全世界的業務每天都從中享受諸多好處。


Instagram

該死,原生移動應用的開發成本太高了!

Instagram

Instagram 應用的一部分已經使用了 React Native 技術。


Airbnb

該死,原生移動應用的開發成本太高了!

Airbnb

Airbnb 的很多東西正用 React Native 重寫。(來自 Leland Richardson[34])

超過 90% 的 Airbnb 旅行平台都是用 React Native 寫的。(來自 spikebrehm[35])

Vogue

該死,原生移動應用的開發成本太高了!

Vogue 是 2016 年度十佳應用之一

Vogue 這麼突出不僅僅因為它也用 React Native 寫成,而是因為它被蘋果公司評為年度十佳應用之一[36]。

該死,原生移動應用的開發成本太高了!

Vogue


沃爾瑪

該死,原生移動應用的開發成本太高了!

Walmart Labs

查看這篇 Keerti[37] 的文章[38]來了解沃爾瑪是怎樣看待 React Native 的優勢的。


微軟

微軟在 React Native 身上下的賭注很大。

它早已發布多個開源工具,包括 Code Push[39]、React Native VS Code[40],以及 React Native Windows[41],旨在幫助開發者向 React Native 領域轉移。

微軟考慮的是那些已經使用 React Native 為 iOS 和 Android 開發應用的開發者,他們可以重用高達 90% 的代碼,不用花費太多額外的時間和成本就可將應用發布到 Windows 上。

微軟對 React Native 生態的貢獻十分廣泛,過去幾年在開源界的表現很搶眼。


結論

移動應用界面設計和移動應用開發要進行範式轉變,下一步就是 React Native 以及與其相似的技術。


公司

如果你的公司正想著削減成本、加快開發速度,而又不想在應用質量和性能上妥協,這是最適合使用 React Native 的時候,它能提高你的凈利潤。


開發者

如果你是一個開發者,想進入一個將來會快速發展的領域,我強烈推薦你把 React Native 列入你的學習清單。

如果了解 JavaScript,你會入門很快,工具我首推 Exponent[42],其他的就看你怎麼想了。使用 Exponent 開發者可以輕鬆的編譯、測試和發布跨 Windows 和 MacOS 兩個平台的 React Native 應用。

如果已經是一位原生應用開發者,你更會受益匪淺。因為在需要時你能夠勝任深入研究原生應用邊緣的工作。雖然不會經常用到,但在團隊需要時這可是十分寶貴的能力。

我花了很多時間來學習、指導別人 React Native。因為它讓我十分激動,而且使用這個框架創作應用也是我一個平淡的小樂趣。

感謝閱讀。



作者簡介:

教授和構建 React Native 應用的軟體開發專家



via: https://hackernoon.com/the-cost-of-native-mobile-app-development-is-too-damn-high-4d258025033a

作者:Nader Dabit[43] 譯者:fuowang 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

  • [1]: iOS,Android - http://www.indeed.com/salary

  • [2]: JavaScript - http://www.payscale.com/research/US/Skill=JavaScript/Salary

  • [3]: 世界各地的公司 - http://blogs.wsj.com/cio/2016/09/30/tech-talent-war-moves-to-africa/

  • [4]: 爭個 - http://www.bizjournals.com/charlotte/how-to/human-resources/2016/12/employers-offer-premium-wages-skilled-workers.html

  • [5]: 高 - https://www.cnet.com/news/silicon-valley-talent-wars-engineers-come-get-your-250k-salary/

  • [6]: 下 - http://www.nytimes.com/2015/08/19/technology/unicorns-hunt-for-talent-among-silicon-valleys-giants.html

  • [7]: 對比 - http://www.comentum.com/mobile-app-development-cost.html

  • [8]: 他們發現編譯它竟然需要 15 分鐘 - https://devchat.tv/react-native-radio/08-bridging-react-native-components-with-tadeu-zagallo

  • [9]: React Native - https://facebook.github.io/react-native/

  • [10]: 一些人認為移動應用的末日已到 - https://medium.com/javascript-scene/native-apps-are-doomed-ac397148a2c0#.w06yd23ej

  • [11]: Eric Elliott - https://medium.com/u/c359511de780

  • [12]: 時間 - http://www.smartinsights.com/mobile-marketing/mobile-marketing-analytics/mobile-marketing-statistics/attachment/percent-time-spent-on-mobile-apps-2016/

  • [13]: 這個數字增長到 50 億的速度會比我們想像的還要快。 - http://ben-evans.com/benedictevans/2016/12/8/mobile-is-eating-the-world

  • [14]: 在美國,JavaScript 開發者的平均工資已達到 $97,000.00 - http://www.indeed.com/salary?q1=javascript+developer&l1=united+states&tm=1

  • [15]: Ionic Framework - https://ionicframework.com/

  • [16]: 聽說應用商店裡的前 100 名都不是混合應用 - https://medium.com/lunabee-studio/why-hybrid-apps-are-crap-6f827a42f549#.lakqptjw6

  • [17]: 我們最大的錯誤是在 HTML5 身上下了太多的賭注 - https://techcrunch.com/2012/09/11/mark-zuckerberg-our-biggest-mistake-with-mobile-was-betting-too-much-on-html5/

  • [18]: NativeScript - https://www.nativescript.org/

  • [19]: React Native - https://facebook.github.io/react-native/

  • [20]: 現有代碼庫 - https://github.com/necolas/react-native-web

  • [21]: 底層技術 - https://facebook.github.io/react/

  • [22]: 原生桌面開發 - https://github.com/ptmt/react-native-macos

  • [23]: Code Push - http://microsoft.github.io/code-push/

  • [24]: AppHub - https://apphub.io/

  • [25]: Apple Watch - https://github.com/elliottsj/apple-watch-uikit

  • [26]: Apple TV - https://github.com/douglowder/react-native-appletv

  • [27]: Tizen - https://www.tizen.org/blogs/srsaul/2016/samsung-committed-bringing-react-native-tizen

  • [28]: 上個月剛剛發布測試版 - http://angularjs.blogspot.com/2016/09/angular2-final.html

  • [29]: React Native - https://facebook.github.io/react-native/

  • [30]: 這是一個使用 React Native 技術的著名應用列表 - https://facebook.github.io/react-native/showcase.html

  • [31]: Ads Manager - https://play.google.com/store/apps/details?id=com.facebook.adsmanager

  • [32]: Facebook Groups - https://itunes.apple.com/us/app/facebook-groups/id931735837?mt=8

  • [33]: 將會應用到實現動態消息的框架上 - https://devchat.tv/react-native-radio/40-navigation-in-react-native-with-eric-vicenti

  • [34]: Leland Richardson - https://medium.com/u/41a8b1601c59

  • [35]: spikebrehm - https://medium.com/u/71a78c1b069b

  • [36]: 因為它被蘋果公司評為年度十佳應用之一 - http://www.highsnobiety.com/2016/12/08/iphone-apps-best-of-the-year-2016/

  • [37]: Keerti - https://medium.com/@Keerti

  • [38]: 文章 - https://medium.com/walmartlabs/react-native-at-walmartlabs-cdd140589560#.azpn97g8t

  • [39]: Code Push - http://microsoft.github.io/code-push/

  • [40]: React Native VS Code - https://github.com/Microsoft/vscode-react-native

  • [41]: React Native Windows - https://github.com/ReactWindows/react-native-windows

  • [42]: Exponent - https://medium.com/u/df61a4267d7a

  • [43]: Nader Dabit - https://hackernoon.com/@dabit3

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

極客漫畫:現代的邪惡——不許 Ctrl-C
在Linux安裝GoogleTensorFlow神經網路軟體
微流冷卻技術可能讓摩爾定律起死回生

TAG:Linux技術 |

您可能感興趣

iOS不開放,但開發者卻因為蘋果的分成變得積極了
源於精益的生產節拍是否能夠適用到軟體開發?
成功開發了遠洋太古里的開發商,能否拯救3年未動的一環內項目?
用爆款和流量造神之後,開發者生態最終成了小程序的「勝負手」
衛生間開槽,破壞了開發商做的防水,本來還能補救,現在只能全拆了
我們的大腦是否已被完全開發?如果人類的大腦被完全開發,將會發生什麼?
孩子智力過早開發,越努力越沒用?再急也要慢慢來
絕地求生:真是服了外掛開發們,穢土轉生復活掛真的來了!這波秀的頭皮發麻
未來房價翻番漲,但絕不可能暴跌?開發商:我們也是要生存的!
蘋果和谷歌應用商店抽成過高,開發者不滿
抽成比例過高 應用開發商開始用實際行動抗議蘋果谷歌「徵稅」
即興繪畫,開發潛能,療愈生命,影響心靈
蘋果突然宣布新規,針對應用開發者,網友:這就是我用蘋果的原因
移動開發死亡潮來了
避開這四點誤區,孩子再笨,也能開發出潛力!
湖北最大的洞穴,未開發前吸引遊客絡繹不絕,開發後卻變成這樣
火影忍者里的輪迴眼,誰運用開發得最強呢?
不用去早教班開發大腦了,出去玩也能做到!
開發商為什麼急著賣房,而不是等到升值了再賣?背後的貓膩很大
豐田已經開發出2.0升發動機,據稱它是最高效的汽油發動機