技術實戰:初創專案前端框架選型
作為一個小開發,近期完整的經歷了,一個初創專案從搭建到推向市場的過程。實際上在整個過程中,開發只佔很小的一個板塊,尤其是對於我司這種初創型企業,人少錢少,每一分都得花到刀刃上,因此產品開發的過程要足夠快,成本也要足夠低!
由於我們專案的特殊性,最初的產品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/70021577/viewspace-2925644/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端技術框架選型,跨端框架盤點前端框架跨端
- Python 專案配置管理框架技術選型Python框架
- 記一次前端技術選型和專案優化前端優化
- Flutter實戰 | 從 0 搭建「GitHub」APP(一、專案簡介、技術選型)FlutterGithubAPP
- .net專案技術選型總結
- 創業專案該如何選擇技術?創業
- 前端技術演進(六):前端專案與技術實踐前端
- 專案中怎樣做技術選型
- 微服務專案搭建之技術選型微服務
- 初創團隊的技術選擇
- 前端框架選型前端框架
- 精通 Python 網路爬蟲:核心技術、框架與專案實戰Python爬蟲框架
- 前端技術選型及背後思考前端
- 創業公司CTO談創業公司技術選型創業
- 聊聊創業公司的技術選型--樸素的技術觀創業
- 最新受歡迎前端框架之React專案實戰課程前端框架React
- Flutter專案實戰(1):通用專案框架搭建Flutter框架
- 如何進行合適的前端技術選型前端
- 【實戰分享】從選型到專案落地,漫談 gRPCRPC
- Python 專案及依賴管理工具技術選型Python
- 聊聊技術選型
- 技術選型指南
- 如何技術選型
- 資料產品的前端技術選型的思考前端
- WEB實戰:使用MERN技術棧開發專案Web
- 技術選型的藝術
- 從零打造微前端框架:實戰“汽車資訊平臺”專案前端框架
- 技術選型:效率至上與實用至上
- 實際技術選型的考慮因素
- 未來Web應用的前端技術選型暢想Web前端
- go語言實戰教程:實戰專案資源匯入和專案框架搭建Go框架
- 開源APM效能檢測系統技術選型與架構實戰架構
- Blog 技術選型
- 專案實戰(連載):基於Angular2+Mongodb+Node技術實AngularMongoDB
- 技術人初嘗帶隊作戰 — 指導一次騰訊 SNG MINI 專案
- (七)專案實戰01-框架說明框架
- GeekPwn 2020全新挑戰專案來襲,安全技術創新不止
- IOC技術在前端專案中的應用前端