公司要做幾個APP,頁面很多,算大型APP吧,目前公司原生開發人員基本就一兩個,大部分功能要用前端做,但是有涉及到一些和原生的交互,而且不少,目前的方案是純H5(VUE+webpack,模塊化載入,懶載入,緩存這些都有做),就套了webview的殼,但是項目越來越大,感覺性能不是很好了,還有沒有其他方案可選?


三個選項:

nativescript最近正式支持VUE了。

ionic支持angular。

react native當然是react了。

過去一年裡接觸了很多銀行、鐵路、地鐵等,基本人員配置都差不多,原生開發很少,主要是前端開發,隨著手機性能逐漸變好,WebView和原生App的差距不斷變小,現在的App更多的重視動態性,性能相對次之,所以在這個時候要選用動態跨平台解決方案。

  1. 純前端外面套WebView殼
  2. RN、Weex跨平台解決方案
  3. 基礎框架+離線包技術

1 很明顯優點是簡單,缺點是性能相當不好。

2 優點是性能不錯,但過於負責,關鍵是坑多且深。。。

所以個人比較推崇第三種解決方案,基礎框架搭好完成埋點、熱修復等等,配上H5容器,H5容器提供jsapi,儘可能的利用Native來提高H5的性能,這裡的容器我一般用自己開發的,系統的還是挫了點。。

Vue解決方案其實本身沒問題,就是編譯後生成的代碼有冗餘,比jQuery等其實是要慢的,但通常項目大了並不會有明顯的性能問題,因為可以拆包控制包大小,用全局的包放資源,資源可以放CDN,等等有很多策略。。


基於 service worker 構造端內預載入方案,優化瀏覽器啟動、memory cache。

緩存是解性能問題的重點方向。


ng+ionic+cordova性能稍慢,還能接受。


項目性能和項目大小關係不大,性能主要應該還是在你的腳本打包方式是不是單頁面單個打包,有沒有緩存架構支撐,webpack是支持單個引用單獨打包

可以的話可以採用cordova的打包方案,印象里是會webview對js的處理有類似懶載入的設計

美團之類的應該也是混合方案,所以我想樓主在構建層面應該還有優化的空間


反正千萬別用react-native和weex這種不成熟的方案,連1.0都沒有,小廠hold不住的。

性能問題還是需要定位更具體一點,套殼h5還算是相對成熟的方案了,相信大部分都是有辦法解決的。


大型項目就寫原生的啊,人不夠招人啊


很簡單,如果是長期合作,自己掏錢也得把原生人員補齊了,如果是一鎚子買賣,那就h5結合原生,因為數據耦合和架構耦合是硬傷,做一版之後,趕緊跳槽走人……


使用誇平台技術cordova


性能問題,有時候不是說開發語言問題,而是項目優化問題,比如有沒用模塊化載入,有沒用緩存,有沒用懶載入,列表優化問題。

如果項目業務功能比較多,又擔心性能問題,可以考慮用React native 比較好一點。


推薦閱讀:
相关文章