試了微信小程序原生和mpvue後,我最後選擇了wepy

前言

終於要開始作小程序了,領導給了一週時間作小程序瞭解和技術調研。我也是從零開始接觸小程序,並且也早就聽過 mpvue這個小程序框架,決定花兩天時間熟悉小程序,而後上手 mpvue

第一天

  首先擼完小程序的文檔,反正從頭看到尾就是。一邊看一邊和本身熟悉的框架作對照,那些是框架有的,小程序沒有的,而寫小程序的時候應該怎麼解決。css

次日

  看完小程序文檔,而後就上手開始用原生語法寫,無論用什麼框架,確定要打好原生基礎,因此先好好寫一天原生。這天寫了幾個H5內經常使用的幾個組件,和一個頁面。說一點感想。html

  • 不能用filter,而後用了wxs解決了.
  • 好像沒有計算變量,也還好問題不大。
  • relations 組件間的關係,寫組件的時候好像挺好用的。
  • wxsscss同樣,還覺得能加上一點預處理器的功能, rpx能夠。
  • 寫着寫着,忽然想起來怎麼用第三方庫,由於我作的商城,而後去看了zan-ui,文檔寫的是bower下載,想起了之前寫jquery刀耕火種的時候。

第三天

把收藏了好久的 mpvue 的文檔地址點開。 先看看特性吧vue

clipboard.png

再看一些不支持的狀況:jquery

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

  還能夠。基本就受限於小程序的功能,而沒法支持。基本上作到了Vue的開發體驗。
關於後來爲何放棄使用mpvue。。。總結兩點吧。webpack

  • 一個熱更新的bug ,直接把我勸退了,一上來先寫一個button組件看看,用了slot,而後頁面調用,寫入slot,小程序未更新到頁面上,必須在執行一次npm run dev才行。也不知道哪裏錯。搞了大半天,有點心態爆炸。
  • 總是感受本身再寫Vue,心態一時間轉變不過來,遇到不支持的狀況會愣住不知道怎麼解決。有點出戲。
  • 生態還不夠完善,畢竟出來的還不久,正常。主要針對我這種彩筆 + 單獨開發 + 伸手黨,基本就是先找找有沒有別人優秀的demo,有沒有完善的組件庫,上手容不容易。畢竟下週就要開工了。。急啊

最後也沒有深刻的瞭解mpvue就勸退了。有點遺憾。不過能看出幾個優勢:git

  • 能夠和H5作適應,簡單的H5可能能夠一套代碼跑多端。
  • 用Vue語法上手更容易。
  • 配合webpack定製更靈活

第四天

  調整心態正式開始決定使用wepy作小程序開發框架了。首先了解到的是 min,它有一套本身的開發方式,還有腳手架和各類命令。也作的單文件組件,只不過組件頁面和APP分紅了三種不一樣後綴的文件。github

  一開始覺得min只是一個組件庫而已,沒想到自成了一個開發方式和腳手架。雖然和wepy差很少,但仍是想說就是先學會用wepy吧。而後將min裝進去用好了。min的官網也介紹瞭如何在wepy內使用minweb

  從wepy的官網一步下來,建好項目以後,有一頁示例,而後文檔慢慢看下來,把示例裏的代碼基本都瞭解了,主要是組件間的通訊和數據綁定功能。也沒遇到什麼大問題,一個編譯方面的bug,花了點時間找到了,這個後面再講。npm

優勢:小程序

  • 生態比較全,有各類開源項目案例(官網首頁最底下),也有組件庫。
  • 文檔比較全,也有示例。
  • 以前說到用Vue寫小程序有點出戲的感受,因此反而仍是想換另一個框架的想法,稍微能多接觸點原生的東西。

由於還沒深刻,因此缺點就不說了,也不知道。。主要是一開始遇到一個Less熱更新的問題(又是熱更新)。

我設置了一個全局的app.less,在app.wpy內加入。而後app.less內又@import了一個less,而後修改了這個引入的less,沒有熱更新成功,後來發現,必須修改 app.less,纔會成功更新上去。不知作別人有沒有遇到過。
寫完這篇以後才忽然想起來,它是經過 watch文件變更纔去編譯相關的文件的,因此被引入的less改動監聽到了,也編譯了, 而app.less沒有改動,因此就沒有去作編譯,天然就沒更新上去。

第五天

  決定用wepy來寫了,過程還算順利,寫熟練後,下週開始了。而後又花了半天時間寫了這篇。。。

第六天

  有點尷尬,wepy的坑也很多,300多個issues,昨天就碰到了repeat的一些問題,還有組件傳參的問題,怎麼說,但願能早點用上原生組件吧。。如今有個1.7.2@alpha版能用原生組件,但願早點出個穩定版。

最後

  沒有哪一個框架好,哪一個框架很差,其實就是看誰生態全唄。雖然暫時選擇了wepy,可是之後仍是會繼續關注mpvue,或者把H5的一些組件庫移到mpvue裏。就這樣~

相關文章
相關標籤/搜索