得益于會react,會點(diǎn)jQuery,也會點(diǎn)vue,研究了一下小程序,發(fā)現(xiàn)這東西有好處也有壞處。
小程序出來這么久,我才開始第一次接觸它,一點(diǎn)也不覺得學(xué)習(xí)的晚,因?yàn)樵谖易隽说谝粋€小程序項(xiàng)目之后,發(fā)現(xiàn)這玩意沒什么難度,以后別再拿會做個小程序就出去裝逼了?。?/p>
也許每個開發(fā)者都聽說說小程序開發(fā)速度快,產(chǎn)出高,經(jīng)過我自己的嘗試,發(fā)現(xiàn)了幾個關(guān)鍵點(diǎn)。
1、小程序有專門的開發(fā)工具:微信開發(fā)者工具
這套開發(fā)工具集成了小程序所需要的開發(fā)環(huán)境,好處就是不需要像開發(fā)react或者vue一樣絞盡腦汁的配置webpack環(huán)境。缺點(diǎn)就是這個開發(fā)工具不是那么好用,寫記事本的感覺。
2、小程序有一套官方的基礎(chǔ)demo,下載修改即可使用:官方的基礎(chǔ)demo
我一開始不知道如何搭建小程序的項(xiàng)目,然后找到了這個demo,下載源碼到本地,直接可以使用,不知道有沒有cli。之后開發(fā)者需要把源代碼的路由刪掉,保留首頁路由,然后進(jìn)行開發(fā)。
3、前面2步對于新手來說只需要幾個小時就能完成,如果你有經(jīng)驗(yàn)了,幾分鐘就能完成并且做開發(fā)了。
4、小程序有一套自己的組件庫:小程序組件庫
組件庫給人的好處是可以滿足沒有設(shè)計師的開發(fā)者的開發(fā)需求,雖然我感覺這些組件寫的不怎么好用,對于不追求的人來說夠用了。
5、小程序有一套API:小程序API
相比于組件庫,我覺得API才是小程序最大的貢獻(xiàn),借助了微信APP為載體的優(yōu)勢,封裝了很多好用的API,十八般武藝樣樣精通,而且文檔寫的很不錯。
小程序再好,也有它的缺點(diǎn)。
1、小程序框架不容易理解
它的項(xiàng)目結(jié)構(gòu)到?jīng)]什么問題,問題在于文件名的重寫,css => wxss,HTML => wxml,很別扭啊,因?yàn)槲沂莻€非常喜歡原生開發(fā)的程序員,一時難以接受這種奇葩的文件,第一眼看到wxss我還在想這東西是不是防止跨站攻擊的玩意。
2、配置文件過多,學(xué)習(xí)比較費(fèi)勁
到處都是json文件,看得挺難受。
3、js寫的別扭
有個全局的App({}),還有個單個頁面的Page({}),你說你是vue嗎?寫起來的感覺又不是??吹胻his.setData({}),你說你是react嗎?也不像啊。咦,好像有點(diǎn)jQuery的影子,wx.API用起來挺像jQuery,但又不全是。像原生嗎?不像,所有API都是用面向?qū)ο蟮姆椒ǚ庋b的,如果是函數(shù)式編程,寫起來和原生js可以很好的銜接。
對于這個集合了4大天王高科技,但又沒有copy完全的東西,如果沒有四大天王的一點(diǎn)基礎(chǔ),寫起js還是挺費(fèi)勁的,好在我全都有所了解,接受這些知識變得不那么難。
4、wxss沒什么可說的,說說wxml,有人說像react-native,有人說像vue,有人說像angular,要我說,看到這玩意,我都懷疑自己學(xué)的html是不是沒用了。
5、小程序還修改了很多原生的方法,比如事件函數(shù),統(tǒng)一采用bind-event的寫法。難受想哭,小程序好的地方在于有詳細(xì)的文檔描述了這些變化,壞的地方在于破壞了原生開發(fā)者的習(xí)慣。
6、忘掉過去,才能學(xué)會小程序。
不是看別人寫的教程博客,而是看官方文檔,因?yàn)槲臋n寫的很清晰,所以我覺得寫篇教程還不如寫篇開發(fā)心得更有作用。
如果你還沒玩過小程序,那么打開官方文檔的大門,按照官方教程模擬一遍,哦,你會發(fā)現(xiàn)它是如此的簡單(項(xiàng)目搭建、環(huán)境配置),之后就是考驗(yàn)誰的js功底牛逼了。