APP開發到底選擇混合開發還是原生APP開發
2021/04/23

APP開發到底選擇混合開發還是原生APP開發

淺談APP原生開發和APP混合開發

APP開發實打實算有12年了,應該可以算是國內較早一批接觸APP開發的老鳥了吧。

由於我們公司是做定製化解決方案開發的,既然是非標產品開發,那麼就要從各方面考慮,我們更注重客戶的使用者體驗,所以一直都是以原生(iOS以Objective-C/Swift為主,Android以Java/Kotlin為主)語言開發,除非客戶明確要求用混合,一般我們預設都會用原生語言去開發。

為何我今天要寫本文來討論一下呢,因為源於一個深圳的客戶讓我仿照“薪房通”APP來開發一套幾乎一樣的APP(有興趣的可以去下載一下這個app看看),我們在給客戶做完評估報完價後,過了幾天我們同事跟進了一下專案,客戶說“別人的app一套程式碼就可以生成2個app,你們竟然分開報”,當然我們的同事也認認真真的去向客戶說明我們分開報是因為我們的是原生的語音開發,並且報價時明確寫明Android是用Java、iOS是Swift的,可是客戶不懂技術,也聽不進我們同事的耐心解說。

所以我想把我個人的一些看法寫出來與大家分享:

  • 原生開發與混合開發的定義
  1. 原生(Native)開發:APP內部的大多數頁面都是由平臺原(Objective-C/Swift/Java/Kotlin)生程式碼實現,如果可能會在無網路環境下執行可能要求支援離線快取功能;
  2. 混合(Hybrid)開發:APP是基於某一種框架(如:uni-app/React/Ionic等)由一種開發語言(如:JavaScript)按照框架的規則編寫的程式碼實現相關的功能,有編譯器編譯成不同的版本,再發布到不同的平臺上;
  • 原生開發VS混合開發的優劣勢
  • 原生開發的優勢:APP相容性高,介面適配好使用者體驗好,APP響應速度快,安全性高,可以與系統地層進行通訊或是可以直接調取地層相關資源,如IoT專案開發一般都是以原生開發爲主。
  • 原生開發的劣勢:開發週期略長一些,成本略高一些。
  • 混合開發的優勢:開發週期相對來說略快,成本略低一些;
  • 混合開發的劣勢:APP相容性不夠高,介面適配的使用者體驗沒有原生的好,涉及IoT專案如果所選用的框架和系統底層通訊相容不友好可能無法和底層通訊,對所選用的框架依賴程度較高。以及如果以後發現一些bug是框架自帶的bug可能會無法修改。安全性相對於原生開發較低。
  • 該如何選擇?

  1. 專案名型別:

看自己的專案型別以及長遠規劃,如果自己的產品不涉及硬體通訊以及未來也不涉及,僅僅是一些資料的互動與呈現,不涉及手機感測器通訊,對使用者體驗不是特別高可以選擇用混合開發;

  1. 預算:

如果專案僅僅是驗證商業模式是否可行,且預算有限那麼可以選擇混合模式開發,相反如果預算充足,對使用者體驗較高,考慮後期的版本不斷迭代那麼建議直接做原生開發。

原生開發和混合開發成本相差多少?

我們都知道app執行一般都會有一個Server端,和對應的APP端,APP端分Android+iOS,這樣就有3個端;

舉個列子,用原生開發:Server端:10元成本;原生Android端:10元成本;原生iOS端:10元成本;這樣一個專案下來總成本30元;

用混合開發:Server端:10元成本,因為都需要和Server端通訊,Server端提供相同的API,相同的管理後臺功能;混合APP開發(只要開發一次,打包成對應的版本):12-15元成本;

這樣一個專案下來總成本在22-25元;

綜上,所以如果您的APP不是連個版本都要開發的話只開發某單一版本如只開發Server+Android端,或只開發Server+iOS端,建議直接上原生;如果Android+iOS都要,且使用者體驗要求很高,預算又充足我會毫不猶豫的建議用原生開發,反之則可以考慮混合。

寫在最後:

原生還是混合開發選對固然很重要,更重要的是選對合作夥伴,如果一家公司的負責人不靠譜,即使前面一切都選對了,後面的路也是崎嶇坎坷的開始,反之選對人,可以說專案已經成功一半了。

 

版權歸蘇州智奇勝軟體科技有限公司所有,如轉載請註明出處,並附帶本文連結。