03.05 會vue再上手uni-app難度大嗎?

江邊的樹林


uni-app就是基於vue開發的框架,如果你會vue的話,入門應該是沒啥問題,如果上手去做項目的話,還是有些難度的。具體哪些難度我們得搞清楚uni-app到底是什麼。

uni-app是一個使用 Vue.js 開發所有前端應用的框架,開發者編寫一套代碼,可發佈到iOS、Android、H5、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個平臺

這是官網介紹的原話,咋一聽很厲害的樣子。發佈到多個平臺只需要一套代碼,這樣的話效率高,成本又低。那為何大公司沒有采用uni-app進行開發呢?

1.我們先搞懂它為何能跨多個平臺

從上圖我們可以看出uni-app跨平臺的原因了:適配每一個終端!

這就很像是java虛擬機了,不過java虛擬機是程序運行時工作,而uni-app是編譯時工作。

可以這樣理解,java虛擬機是在程序運行時,進行適配平臺,uni-app是在編譯時,根據你選擇的編譯平臺進行適配。

在編譯時解決平臺問題,這是目前很多跨平臺框架的首選解決方案,即保證效率又方便開發者。

但這種方案也有缺點,如果平臺變動或更新,那麼有可能導致你app某些功能無法使用,必須等著uni-app維護升級。

這就是uni-app的跨平臺原理,現階段的跨平臺方案沒有完美的,都是有利有弊。

2.如果會Vue,是不是相當於會uni-app

是的,uni-app開發頁面用的就是Vue組件

上圖代碼是uni-app登陸模版項目裡面的,可以看出來,用的就是Vue的template模版開發。

一般不涉及到平臺性的組件都是使用Vue開發的,所以如果你項目對跨平臺要求不高,而且會Vue的話可以直接上手開發uni-app

哪些組件是涉及到平臺性的呢?

比如彈窗,我們用Vue的話一般在template寫個dialog,而uni-app可以直接通過uni.showModal實現 彈窗。當然這個例子不太嚴謹,Vue也能封裝一個這樣實現。這裡主要講的是跨平臺,使用uni-app提供的組件基本不用擔心平臺適配問題。

為什麼會Vue上手uni-app仍然有難度

這裡說的難度不是指寫代碼的難度,代碼都是用Vue寫的不存在啥難度。

1.難度是對跨平臺而言的,你需要懂各平臺運行app的原理。

uni-app代碼編譯打包後,移動端基本是運行在安卓的webview或ios的WKWebView。但是安卓或ios平臺為了效率或者安全性,不會去支持H5的一些危險特性或者功能,當然H5是安全的們這裡的危險只是安卓和ios認為的。

比如ios的WKWebview,對H5一些新的css不支持或者不會太早的更新適配。

如果你不瞭解移動端webview的差異性,那麼很容易踩雷,而且這些錯誤都是無法通過debug發現的。

2.uni-app無法適配的工作需要開發者來實現

有些適配工作是uni-app無法通過編譯完成的,這就是需要開發者去實現了。

比如開發中,div、ul、li等得改為view,微信的wxcomponet不支持H5等等。

這裡就增加了很多的開發成本,很多不支持跨平臺的vue組件用不了。

開發久了你可能會有這樣的感覺,會Vue開發uni-app比從頭學uni-app開發都難!

總結

如果你會Vue,使用uni-app開發的話,上手是比較簡單的,但是如果項目涉及到跨平臺的話,就得斟酌下了,會有很多坑,一旦影響到業務功能的實現,就得不償失了。

如果你項目不涉及到移動端,就只在web和小程序上運行的話,可以使用uni-app開發。

都說後端造語言,移動端造系統,web端造框架。但在這個前端大融合的時代,系統框架已分的沒那麼清楚。

而作為開發者,我們得知道,效率和成本是對立存在的,切勿因此失彼!



非著名攻城獅


難度不大,基本看看文檔即可上手,如果開發過微信小程序,那麼API基本一致。



閉著眼睛切土豆


基本上區別不大,難度幾乎沒有,uni-app的開發考慮到微信原生的生命週期

上手很容易 我做了個視頻簡介,你可以看看\n

{!-- PGC_VIDEO:{"status": 0, "thumb_height": 768, "file_sign": "3337a48a12254903d13be6edbc52586b\


分享到:


相關文章: