小程序的發(fā)展勢(shì)不可擋,也有越來越多的人加入了小程序開發(fā)者行列,大家都知道,小程序更加簡(jiǎn)單,比之APP有很大的優(yōu)勢(shì),開發(fā)的門檻非常低,但是是否能夠讓每個(gè)人都可以開發(fā),還需要更多的考量。
首先再來回顧下小程序
2016年9月前后,業(yè)界流傳了一張微信之父張小龍對(duì)于小程序描述的截圖,原文如下:
什么是小程序:小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或者搜一下即可打開應(yīng)用。也體現(xiàn)了“用完即走”的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題。應(yīng)用將無處不在,隨時(shí)可用,但又無需安裝卸載。
在小程序開發(fā)文檔的第一篇,小程序簡(jiǎn)介中,這樣描述:
小程序是一種全新的連接用戶與服務(wù)的方式,它可以在微信內(nèi)被便捷地獲取和傳播,同時(shí)具有出色的使用體驗(yàn)。
?在小程序技術(shù)發(fā)展史上,小程序并非一個(gè)全新的概念,它是當(dāng)微信內(nèi)WebView成為其移動(dòng)Web的一個(gè)重要入口時(shí),解決移動(dòng)網(wǎng)頁通用問題的一種更優(yōu)解決方案(個(gè)人理解Google提出的PWA也是為了解決類似問題)。
曾經(jīng)為了解決這樣的問題,也嘗試過“微信Web資源離線存儲(chǔ)”,與預(yù)期體驗(yàn)還是存在差距,這里不作深入延伸。
于是期望有一個(gè)全新的系統(tǒng),來讓所有的開發(fā)者或使用者擁有以下特性:
快速的加載
更強(qiáng)大的能力
原生的體驗(yàn)
易用且安全的微信數(shù)據(jù)開放
高效和簡(jiǎn)單的開發(fā)
這時(shí),小程序應(yīng)運(yùn)而生。
?小程序的門檻低,有以下三個(gè)原因:
一是,小程序生態(tài)如一場(chǎng)細(xì)雨,2年多時(shí)間,已經(jīng)潤物細(xì)無聲,人們已經(jīng)在生活中無時(shí)無刻離不開了小程序(出行、點(diǎn)餐、電影、快遞、機(jī)票等各個(gè)場(chǎng)景)。這里小程序生態(tài)涵蓋了(微信小程序,支付寶小程序,百度小程序,頭條小程序,快應(yīng)用等一系列小程序),其中微信小程序市場(chǎng)占比最為明顯,觸達(dá)的用戶更多,本文主要以微信小程序?yàn)槔?,介紹如何快速上手小程序開發(fā)(其余小程序可以舉一反三,底層原理大同小異,了解語法即可快速上手)。?
二是,小程序較傳統(tǒng)web而言,學(xué)習(xí)成本要低很多,其封裝了常用的組件和API,只要了解其基本語法和運(yùn)行原理之后,便可快速上手(在此之前對(duì)Javascript、css、html稍作了解即可)。
三是,其簡(jiǎn)潔的語法,高效的開發(fā)方式,良好的使用體驗(yàn)吸引了很多開發(fā)者參與,即便當(dāng)時(shí)仍存在些許漏洞。兩年多時(shí)間,開發(fā)過數(shù)十款大大小小的小程序,積累過不少開發(fā)經(jīng)驗(yàn),也踩過不少的坑,把這些經(jīng)驗(yàn)記錄下來,以供后來學(xué)習(xí)者作參考,也歡迎一起交流進(jìn)步。
?開發(fā)前須知
先了解到如何開發(fā),再有需求對(duì)性能優(yōu)化,運(yùn)行原理作深入了解時(shí),再去探究更深層次的原理,這樣會(huì)讓學(xué)習(xí)興趣和學(xué)習(xí)效率大大提升。文章是結(jié)合筆者開發(fā)經(jīng)驗(yàn),對(duì)快速掌握小程序開發(fā),對(duì)官方文檔進(jìn)行了提煉。
以下假使你已經(jīng)申請(qǐng)好了小程序開發(fā)賬號(hào),并下載好了開發(fā)者工具。讓我們開始了解如何開發(fā)小程序。初次開發(fā)小程序,不太建議使用市場(chǎng)上任何一款小程序框架。原因有四:
框架新特性滯后性:小程序迭代速度非常之快,小程序團(tuán)隊(duì)正以小步快跑的方式優(yōu)化其能力和體驗(yàn),相信市場(chǎng)上任何一款框架也沒法做到及時(shí)更新,以滿足新能力。這里可以打個(gè)比方,小程序官方比做ECMAScript 制定者,而小程序框架維護(hù)團(tuán)隊(duì)比作瀏覽器對(duì)ECMA規(guī)范的實(shí)現(xiàn),理所當(dāng)然是存在一定滯后性的。
風(fēng)險(xiǎn)不可控:引用第三方的框架,在軟件開發(fā)中的一個(gè)通病是,在不了解其底層機(jī)制和原理時(shí),出現(xiàn)了預(yù)期外的問題,可能只能買個(gè)彩票,等待開獎(jiǎng)。
團(tuán)隊(duì)學(xué)習(xí)成本:意味著團(tuán)隊(duì)交接或者新成員加入,必須學(xué)習(xí)框架的獨(dú)有特性和語法(這里是肯定存在的,若和官方使用沒有差異的話,其實(shí)不應(yīng)該獨(dú)立稱為框架),免不了增加學(xué)習(xí)成本。
小程序生態(tài)日益豐富:市面上幾大小程序框架,最初無非是為了解決小程序開發(fā)以下幾個(gè)問題:
開發(fā)低效??蚣芴峁┝水?dāng)前流行的Vue,React等類似的語法糖,開發(fā)效率更加高效。這里是相對(duì)而言,畢竟互聯(lián)網(wǎng)公司追求的是效率是第一生產(chǎn)力,自然是越快越好。其實(shí)目前來說小程序相比傳統(tǒng)網(wǎng)頁的開發(fā)效率已經(jīng)高了很多。
某些能力不滿足。比如npm,組件化開發(fā),這里會(huì)存在引入外部庫不方便、復(fù)用效率低,代碼維護(hù)分散等問題。
但目前的小程序生態(tài)已經(jīng)日益豐富,以上的很多詬病已經(jīng)不是問題。
綜上考慮,建議直接使用原生語法進(jìn)行開發(fā),若團(tuán)隊(duì)對(duì)代碼質(zhì)量、格式有一定規(guī)范,可考慮結(jié)合Webpack、gulp等搭建一套腳手架。
?看了以上內(nèi)容,大家有沒有對(duì)小程序開發(fā)有了更深入的理解呢?
熱門推薦: 上海微信小程序 小程序開發(fā) 小程序設(shè)計(jì) 支付寶小程序 百度小程序?