小程序是一種不用下載就能使用的應(yīng)用,也是一項(xiàng)門(mén)檻非常高的創(chuàng)新,經(jīng)過(guò)將近兩年的發(fā)展,已經(jīng)構(gòu)造了新的小程序開(kāi)發(fā)環(huán)境和開(kāi)發(fā)者生態(tài)。小程序也是這么多年來(lái)中國(guó)IT行業(yè)里一個(gè)真正能夠影響到普通程序員的創(chuàng)新成果,現(xiàn)在已經(jīng)有超過(guò)150萬(wàn)的開(kāi)發(fā)者加入到了小程序的開(kāi)發(fā),與我們一起共同發(fā)力推動(dòng)小程序的發(fā)展,小程序應(yīng)用數(shù)量超過(guò)了一百萬(wàn),覆蓋200多個(gè)細(xì)分的行業(yè),日活用戶(hù)達(dá)到兩個(gè)億,小程序還在許多城市實(shí)現(xiàn)了支持地鐵、公交服務(wù)。小程序發(fā)展帶來(lái)更多的就業(yè)機(jī)會(huì),2017年小程序帶動(dòng)就業(yè)104萬(wàn)人,社會(huì)效應(yīng)不斷提升。
基本介紹:
微信將“小程序”定義為“一種新的應(yīng)用形態(tài)”。微信方面強(qiáng)調(diào),小程序、訂閱號(hào)、服務(wù)號(hào)、企業(yè)號(hào)目前是并行的體系。[1]
小程序的推出并非意味著微信要來(lái)充當(dāng)應(yīng)用分發(fā)市場(chǎng)的角色,而是“給一些優(yōu)質(zhì)服務(wù)提供一個(gè)開(kāi)放的平臺(tái)!币环矫,小程序可以借助微信聯(lián)合登錄,和開(kāi)發(fā)者已有的 App 后臺(tái)的用戶(hù)數(shù)據(jù)進(jìn)行打通,但不會(huì)支持小程序和 App 直接的跳轉(zhuǎn)。
隨著小程序正式上線(xiàn),用戶(hù)可以通過(guò)二維碼、搜索等方式體驗(yàn)到開(kāi)發(fā)者們開(kāi)發(fā)的小程序了。
用戶(hù)只要將微信更新至最新版本,體驗(yàn)過(guò)小程序后,便可在發(fā)現(xiàn)頁(yè)面看到小程序TAB,但微信并不會(huì)通過(guò)這個(gè)地方向用戶(hù)推薦小程序。
小程序提供了顯示在聊天頂部的功能,這意味著用戶(hù)在使用小程序的過(guò)程中可以快速返回至聊天界面,而在聊天界面也可快速進(jìn)入小程序,實(shí)現(xiàn)小程序與聊天之間的便捷切換。
安卓版用戶(hù)還可將小程序添加快捷方式至桌面。
自選股小程序?qū)PP功能做了相對(duì)更多的保留,僅舍棄了“資訊”作為獨(dú)立板塊,而保留了自選、行情、設(shè)置三個(gè)主要功能板塊。并且提供了與APP中一致的股價(jià)提醒等功能,分享具體股票頁(yè)面,好友點(diǎn)擊查看到的是實(shí)時(shí)股價(jià)信息,體驗(yàn)非常完整。
微信團(tuán)隊(duì)此前提到的公眾號(hào)關(guān)聯(lián)功能在當(dāng)前的公眾號(hào)主頁(yè)已經(jīng)能夠體現(xiàn)。
在開(kāi)發(fā)了小程序的公眾號(hào)主頁(yè)上,能夠看到該主體開(kāi)發(fā)的小程序,點(diǎn)擊即可進(jìn)入相應(yīng)小程序。由于處于同一賬號(hào)體系下,公眾號(hào)關(guān)注者可以更低的成本轉(zhuǎn)化為小程序的用戶(hù)。
小程序與普通網(wǎng)頁(yè)開(kāi)發(fā)的區(qū)別
小程序的主要開(kāi)發(fā)語(yǔ)言是 JavaScript ,小程序的開(kāi)發(fā)同普通的網(wǎng)頁(yè)開(kāi)發(fā)相比有很大的相似性。對(duì)于前端開(kāi)發(fā)者而言,從網(wǎng)頁(yè)開(kāi)發(fā)遷移到小程序的開(kāi)發(fā)成本并不高,但是二者還是有些許區(qū)別的。
網(wǎng)頁(yè)開(kāi)發(fā)渲染線(xiàn)程和腳本線(xiàn)程是互斥的,這也是為什么長(zhǎng)時(shí)間的腳本運(yùn)行可能會(huì)導(dǎo)致頁(yè)面失去響應(yīng),而在小程序中,二者是分開(kāi)的,分別運(yùn)行在不同的線(xiàn)程中。網(wǎng)頁(yè)開(kāi)發(fā)者可以使用到各種瀏覽器暴露出來(lái)的 DOM API,進(jìn)行 DOM 選中和操作。而如上文所述,小程序的邏輯層和渲染層是分開(kāi)的,邏輯層運(yùn)行在 JSCore 中,并沒(méi)有一個(gè)完整瀏覽器對(duì)象,因而缺少相關(guān)的 DOM API 和 BOM API。這一區(qū)別導(dǎo)致了前端開(kāi)發(fā)非常熟悉的一些庫(kù),例如 jQuery、 Zepto 等,在小程序中是無(wú)法運(yùn)行的。同時(shí) JSCore 的環(huán)境同 NodeJS 環(huán)境也是不盡相同,所以一些 NPM 的包在小程序中也是無(wú)法運(yùn)行的。
網(wǎng)頁(yè)開(kāi)發(fā)者需要面對(duì)的環(huán)境是各式各樣的瀏覽器,PC 端需要面對(duì) IE、Chrome、QQ 瀏覽器等,在移動(dòng)端需要面對(duì) Safari 、Chrome 以及 iOS、Android 系統(tǒng)中的各式 WebView 。而小程序開(kāi)發(fā)過(guò)程中需要面對(duì)的是兩大操作系統(tǒng) iOS 和 Android 的微信客戶(hù)端,以及用于輔助開(kāi)發(fā)的小程序開(kāi)發(fā)者工具,小程序中三大運(yùn)行環(huán)境也是有所區(qū)別的,如表1-1所示。
網(wǎng)頁(yè)開(kāi)發(fā)者在開(kāi)發(fā)網(wǎng)頁(yè)的時(shí)候,只需要使用到瀏覽器,并且搭配上一些輔助工具或者編輯器即可。小程序的開(kāi)發(fā)則有所不同,需要經(jīng)過(guò)申請(qǐng)小程序帳號(hào)、安裝小程序開(kāi)發(fā)者工具、配置項(xiàng)目等等過(guò)程方可完成。