摘 要:隨著信息技術(shù)的高速發(fā)展,微信小程序自從2016年9月21日發(fā)布以來(lái),越來(lái)越多的小程序、小游戲被開發(fā)出來(lái),本文分析了微信小程序的開發(fā)技巧,包括微信小程序的實(shí)現(xiàn)、微信小程序開發(fā)流程、微信小程序開發(fā)的系統(tǒng)組織架構(gòu)等等。為當(dāng)前微信小程序開發(fā)的理論與實(shí)踐研究提供了一定的參考。
關(guān)鍵詞:微信小程序;開發(fā)技巧;實(shí)現(xiàn);開發(fā)流程
1 概述
2016年9月21日,微信小程序正式開啟內(nèi)測(cè)。在微信生態(tài)下,觸手可及、用完即走的微信小程序引起廣泛關(guān)注。用戶只需使用微信搜一搜或者掃一掃即可打開應(yīng)用程序。它體現(xiàn)了“用完即走”的理念,用戶又不用擔(dān)心占據(jù)內(nèi)存空間,更新安裝等問(wèn)題,應(yīng)用將無(wú)處不在、隨時(shí)可用。微信小程序采用自動(dòng)版本同步,本地沒(méi)有或需更新的時(shí)候?qū)⒊绦蛭募螺d到本地執(zhí)行,由于程序文件很小,占用的網(wǎng)絡(luò)流量不大,所以可瞬間下載速度很快。因?yàn)榇a在本地,這就減輕了在執(zhí)行中對(duì)網(wǎng)絡(luò)的依賴,執(zhí)行效率高,用戶體驗(yàn)好于以往的輕型移動(dòng)應(yīng)用。
微信小程序有它的一般設(shè)計(jì)原則.: 重點(diǎn)突出、流程明確、反饋及時(shí)、異??煽?。在 UI 設(shè)計(jì)上強(qiáng)調(diào)便捷優(yōu)雅、減少用戶的輸入,避免用戶的誤操作,使用統(tǒng)一穩(wěn)定的設(shè)計(jì)風(fēng)格。在視覺上有一系列的規(guī)范,比如字體的字號(hào)、顏色,表單、按鈕、圖標(biāo)的視覺規(guī)范。
2 微信小程序開發(fā)基礎(chǔ)知識(shí)
小程序的開發(fā)需要先擁有一個(gè)小程序賬號(hào)和相應(yīng)的App ID,注冊(cè)和認(rèn)證都是在微信公眾平臺(tái)上進(jìn)行的。認(rèn)證是需要交納年費(fèi)的,沒(méi)有認(rèn)證的小程序在功能上會(huì)有一些限制。在開發(fā)之前需要獲取和保存小程序的App ID和APPSecret,并且設(shè)置服務(wù)器的域名。默認(rèn)情況下小程序是開啟了消息推送功能的,也就意味著小程序可以向用戶推送消息來(lái)完善服務(wù)。
騰訊本身提供了開發(fā)小程序的開發(fā)工具,我們可以從騰訊的網(wǎng)站上下載該開發(fā)工具用于小程序的開發(fā)。首先在開發(fā)工具中創(chuàng)建一個(gè)“本地小程序項(xiàng)目”,填入我們的App ID,并為項(xiàng)目取個(gè)名字。項(xiàng)目創(chuàng)建之后在項(xiàng)目的根目錄下通常會(huì)有4個(gè)文件.:app.js、app.json、app.wxss 和project.config.json。其中,app.js 是小程序的腳本代碼文件,在該文件中監(jiān)聽并處理有關(guān)的事件;app. json是對(duì)當(dāng)前小程序的全局配置,可以指定小程序由哪些頁(yè)面組成,配置導(dǎo)航條樣式等。app. wxss 是小程序的全局樣式表,定義了在頁(yè)面組件中可以使用的各種公共樣式。project.config.json保存了你在開發(fā)項(xiàng)目時(shí)的個(gè)性化配置,其中會(huì)包括編輯器的顏色、代碼上傳時(shí)自動(dòng)壓縮等等一系列選項(xiàng)。
在小程序中每個(gè)頁(yè)面都有一個(gè)獨(dú)立的文件夾,在該文件夾下會(huì)包含4個(gè)主文件名相同而擴(kuò)展名不同的文件,它們分別是. wxml、.js、. wxss 和.json 文件。其中.wxml 文件用于設(shè)置頁(yè)面的結(jié)構(gòu),即頁(yè)面由哪些組件組成,主要用于設(shè)計(jì)界面的呈現(xiàn),使用的是 WXML 標(biāo)記語(yǔ)言,WXML 充當(dāng)?shù)氖穷愃凭W(wǎng)頁(yè)設(shè)計(jì)中 HTML 的角色。.js 文件是個(gè)腳本文件,主要用于程序邏輯,在這個(gè)文件中通常調(diào)用微信提供的API來(lái)處理業(yè)務(wù)邏輯。.wxss是樣式表文件,相當(dāng)于css樣式表文件,用于設(shè)置組件能使用的各種樣式。.json 文件是頁(yè)面的配置文件,這個(gè)文件中的配置項(xiàng)會(huì)隱藏全局樣式表中設(shè)置的樣式。
小程序提供了豐富的基礎(chǔ)組件和相應(yīng)的API給開發(fā)者,開發(fā)者可以像搭積木一樣,組合各種組件拼合成自己的小程序。開發(fā)者可以很方便的調(diào)起微信提供的能力,例如獲取用戶信息、微信支付等等,小程序提供了很多 API 給開發(fā)者去使用。
3 微信小程序開發(fā)流程
在系統(tǒng)設(shè)計(jì)上將遵循先進(jìn)性、實(shí)用性、安全性、可靠性、經(jīng)濟(jì)性五大原則。首先需注冊(cè)微信小程序賬號(hào),獲取微信小程序的App ID,其次下載官方發(fā)布的開發(fā)平臺(tái)web微信開發(fā)者工具,它集成了開發(fā)調(diào)試、編譯代碼及程序發(fā)布等功能,使開發(fā)人員更加高效的完成工作,下載完成后創(chuàng)建項(xiàng)目即可查看和編輯小程序代碼。在“調(diào)試”里即可測(cè)試并模擬小程序在移動(dòng)端的展示效果。最終登錄微信公眾平臺(tái)官網(wǎng)發(fā)布小程序。小程序的開發(fā)過(guò)程節(jié)省了大量的人力、財(cái)力,縮短時(shí)間成本,更加快速高效的搭建小程序,大大滿足了企業(yè)的技術(shù)需求。
4 小程序頁(yè)面布局設(shè)計(jì)
應(yīng)用界面布局是界面設(shè)計(jì)中非常重要的組成部分,作用是讓用戶清楚界面中的重點(diǎn),選擇的內(nèi)容是什么,以及各事物之間的關(guān)聯(lián)。移動(dòng)UI界面布局應(yīng)強(qiáng)調(diào)主要內(nèi)容或功能,大型控件比小型控件更加吸引用戶眼球,更加容易被用戶點(diǎn)擊,這使他們?cè)谛〕绦驊?yīng)用中尤為有用,使用戶在滑動(dòng)屏幕時(shí)更容易專注重要信息,實(shí)現(xiàn)準(zhǔn)確定位。
5 微信小程序開發(fā)的系統(tǒng)組織架構(gòu)
微信“小程序”的開發(fā)必須得有一個(gè)組織框架,這樣才能便捷的進(jìn)行設(shè)計(jì)開發(fā)的工作,通常該程序是在 MINA 框架下進(jìn)行的。MINA框架是一種在 Java 技術(shù)的基礎(chǔ)上運(yùn)行的通信網(wǎng)絡(luò)應(yīng)用系統(tǒng),它不僅能夠根據(jù)用戶的功能需求進(jìn)行線程模型的選擇,還可以開發(fā)更加高擴(kuò)展性的網(wǎng)絡(luò)通信等,
對(duì)于MINA框架在應(yīng)用中的復(fù)雜性而言,主要體現(xiàn)在系統(tǒng)框架中的幾個(gè)模塊當(dāng)中,如,Lo Handler 主要的作用在于對(duì)客戶端傳輸進(jìn)來(lái)的信息進(jìn)行加工處理;Lo Service 作為程序的輸入口,主要用來(lái)負(fù)責(zé)線程的調(diào)用等;Lo Filter是一種比較常用的過(guò)濾裝置,比如有過(guò)濾壓縮、過(guò)濾黑名單、SSL加密及日志的記錄等功能,可以對(duì)發(fā)送給客戶的一些數(shù)據(jù)或者一些客戶的請(qǐng)求進(jìn)行過(guò)濾。系統(tǒng)略顯復(fù)雜之外,也會(huì)存在一定的靈活性,例如在使用的過(guò)程中,開發(fā)者可以在某些需求之下靈活的制定各種編碼方式、日志記錄和加密算法等操作,這些操作可以在大多數(shù)用戶自身的需求中服務(wù)更多的應(yīng)用場(chǎng)景。
6 未來(lái)展望
微信小程序作為輕型應(yīng)用代表著今后移動(dòng)互聯(lián)網(wǎng)應(yīng)用的發(fā)展方向,這種輕型應(yīng)用也會(huì)是未來(lái)移動(dòng)互聯(lián)網(wǎng)應(yīng)用的主要形式,它的特點(diǎn)是小而快,但它不會(huì)替代所有的獨(dú)立App,成為App的所謂終結(jié)者;小程序的出現(xiàn)使微信具有一些App Store的功能,可能會(huì)分流一下應(yīng)用獲取方式,但它暫時(shí)不會(huì)替代App store。微信小程序目的主要還是解決小應(yīng)用的問(wèn)題,離開這個(gè)“小”字,會(huì)失去小程序的靈活、快捷的優(yōu)勢(shì),與其建立之初的去繁就簡(jiǎn)、用完即走的理念背道而馳。從發(fā)展上來(lái)看,微信小程序應(yīng)用空間大有可為,但是未來(lái)的發(fā)展很難準(zhǔn)確預(yù)測(cè),它有很長(zhǎng)的路要走,任重道遠(yuǎn),它的優(yōu)劣價(jià)值還需要時(shí)間的檢驗(yàn),人們將拭目以待。
參考文獻(xiàn):
[1] 劉玉佳. 微信“小程序”開發(fā)的系統(tǒng)實(shí)現(xiàn)及前景分析[J]. 信息通信,2017(1):260-261.
[2] 張劍明. 微信公眾平臺(tái)與小程序開發(fā). 從零搭建整套系統(tǒng)[M]. 北京:人民郵電出版社,2017.
[3] 蘇震巍. 微信開發(fā)深度解析. 公眾號(hào)、小程序高效開發(fā)秘籍[M]. 北京:電子工業(yè)出版社,2017.
[4] 易偉. 微信小程序快速開發(fā)[M]. 北京:人民郵電出版社,2017.
[5] 劉紅衛(wèi). 微信小程序應(yīng)用探析[J]. 無(wú)線互聯(lián)科技,2016(23):11-12.
作者簡(jiǎn)介:
王勁松,男,1998年10月,單位:西華大學(xué),本科,研究方向.:自動(dòng)控制原理,圖像處理。