小專案從0到1之跨平臺方案選型

Lydiasq發表於2022-11-29

對於初創型企業,即使專案規模不大,但其總體的時間成本卻仍是重要的考慮因素。作為一個小開發,近期就完整經歷了一個初創小專案從0到1搭建、推向市場的過程。在這過程中也深深體會到即使產品開發只是一小部分,也需要同時間賽跑,推動專案高效進行。


由於我們專案的特殊性,最初的產品demo透過微信小程式的形式跑通了基本功能,然後就到了正式研發階段。老闆對產品的要求就是需要包含:微信小程式、H5、Android、ios、windows、 macos並且儘可能多的覆蓋其它平臺。本系列文章先站在公司的的角度對產品技術選型進行分析,然後再根據我們專案實際開發經驗進行彙總,供大家參考。

目前大前端技術也非常豐富,可以實現 ,一次開發,打包多個平臺。 團隊針對幾個不同技術方案裡進行了討論:有比較老牌的Cordova、Xamarin、NativeScript, 也有近幾年比較火:React Native Flutter、 FinClip  、Election

Cordova

Cordova勝在架構簡單,比如一個簡單的Activity,上面搭載一個CordovaWebView Component,他是一個改造過的WebView,加裝了一些Cordova API,讓你藉此和Native的部分互動。App基本上就是一個Mobile Web,多了一些跟Native互動的能力。

優點是好上手,寫程式碼快。有豐富的外掛去銜接Native平臺、社群完善。使用Ionic可以一套程式碼在安卓端、iOS端、網站端、小程式端通吃。

Cordova(Ionic)缺點也明顯,終究是個Web,效能體驗太差了!

Xamarin

Xamarin是Cordova的老對手, Xamarin的產品簡化了針對多種平臺的應用開發,包括iOS和 Android。總體比Cordova複雜多了,大致上分成幾個部分:Xamarin.Android、Xamarin.iOS、Xamarin.Mac(後來才出現的)以及Xamarin.Forms。

Xamarin.Mobile有很多優點。在這一框架內,開發 Android 和 iOS 應用可以不用轉到 Eclipse 或者額外購買 Mac 並使用 Xcode,而繼續在Visual Studio之中使用 C# 與 .NET Framework 進行。而且效能效能接近原生、內建功能豐富(數千個自定義UI控制元件)。
缺點: 稍微延遲支援最新的平臺更新、對開源庫的訪問受限、Xamarin生態系統不大、與第三方庫和工具的相容性問題等等

Flutter

Flutter是近兩年風很大的一款開源、跨平臺移動端開發框架,由 Google 開發。Flutter 使用 Dart 作為開發語言,這是一門簡潔、強型別的程式語言。它允許使用同一個程式碼庫構建高效能、漂亮的 iOS 和 Android 應用,Flutter還提供了兩套視覺庫,可以針對不同的平臺有不同的展示效果。此外,透過自定義的 Flutter 引擎可以將其嵌入到其他平臺。

Flutter優點非常多:開源免費;Dart語言簡單易學;獨立的Skia渲染引擎,高效能高一致性、豐富的元件支援、豐富的社群支援,在混合開發中,是最接近原生開發的框架。

團隊沒有選擇Flutter 的主要原因是Flutter on desktop也還是beta版本。Windows PC和linux平臺的相容支援官方正在持續研發中。

FinClip  

與上面Flutter、Cordova、Xamarin這些框架技術比起來 FinClip  實在是一款輕便簡潔的小工具,我們驚歎於它的靈活性!整體靈活又體積小巧(大概3M)。

FinClip  是一套小程式容器技術,也可以說是小程式SDK Runtime/Engine,提供 Runtime 基於瀏覽器核心,採用動態語言(JS)和宣告式 View 構建(XML),並且相容網際網路主流小程式技術,可採用 vue、react 基礎上的 DSL 框架。

這種容器技術與上述的跨端技術不僅不衝突,還可以相容。不管是透過Flutter、Reactive Native、uni 、Taro等開發出來的小程式都可以透過 FinClip  執行。

小程式執行時方案的高價效比,主要體現在應用體驗、應用框架支援以及宿主環境結合等方面。

應用體驗方面,小程式技術是前端容器技術的一種應用,其元件及UI都有明確的規範,開發者不用考慮相容性及類似H5開發時複雜工具及框架的選擇。同時,由於元件及UI都是預設的,展示體驗也會更佳。
應用框架支援方面,執行時方案不僅支援純 wxml 微信小程式執行,還支援包括Flutter、Reactive Native、 uniapp等第三方框架整合的小程式。
宿主環境結合方面,小程式是基於App端實現的應用,其獲取系統(App)的許可權也會多於H5;目前小程式技術的發展已經趨於成熟,市面上小程式以執行時已經開始出現多智慧終端裝置的適配(基於Andriod系統的多終端螢幕適配)。

目前我們團隊選擇了 FinClip  這樣一款,靈活性輕量較高的技術方案,並且透過官方IDE裡自帶的“小程式轉APP”功能將前期在微信上跑通的demo轉成了APP應用上架到了應用市場。目前還在實現PC端的適配。該技術應用的情況,後續再給大家做分享。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023421/viewspace-2925735/,如需轉載,請註明出處,否則將追究法律責任。

相關文章