如果要開(kāi)發(fā)小程序,首先必須學(xué)習(xí)一組微信特殊的“開(kāi)發(fā)語(yǔ)言”。
為了讓大家開(kāi)始使用這種開(kāi)發(fā)語(yǔ)言,微信正式提供了一個(gè)非常詳細(xì)的開(kāi)發(fā)文檔:
如果您沒(méi)有時(shí)間閱讀,還有一個(gè)節(jié)省時(shí)間和省力的選擇:程序(微信 zxcx0101)準(zhǔn)備了官方開(kāi)發(fā)文檔的超簡(jiǎn)化版本,其中不僅包含所有重要內(nèi)容官方文件的信息,也是原始文本。三分之一。只要您閱讀本文,就可以快速開(kāi)始使用
小程序開(kāi)發(fā)。注意:本文適合具有一定編程基礎(chǔ)的人閱讀。對(duì)于基于零的學(xué)習(xí)
小程序開(kāi)發(fā),請(qǐng)繼續(xù)關(guān)注程序的后續(xù)內(nèi)容(微信 zxcx0101)。語(yǔ)言和文件您可能知道,微信
小程序開(kāi)發(fā)的開(kāi)發(fā)與其他平臺(tái)的不同之處在于微信使用的開(kāi)發(fā)語(yǔ)言和文件是“特殊的”。
小程序使用的程序文件類(lèi)型大致分為以下幾種:WXML(WeiXin Mark Language,微信標(biāo)記語(yǔ)言)WXSS(WeiXin樣式表,微信樣式表)JS(JavaScript,正文
小程序)在語(yǔ)言方面,似乎
小程序幾乎重新定義了一套標(biāo)準(zhǔn)。但實(shí)際上,它們與“前三部分”—— HTML,CSS和JavaScript——沒(méi)有太大區(qū)別。下面,讓我們比較
小程序開(kāi)發(fā)語(yǔ)言和“前三件”之間的異同:HTML和WXML:兩者之間的差異相對(duì)較大。如果您之前沒(méi)有觸及Android開(kāi)發(fā),您可能會(huì)感到頭痛。實(shí)際上,WXML更像是Android開(kāi)發(fā)中的接口XML描述文件,它更適合于程序接口的構(gòu)建; HTML往往會(huì)顯示文章(這與HTML的歷史有關(guān)),以及互聯(lián)網(wǎng)頁(yè)面的構(gòu)建。 WXSS和CSS:兩者之間的語(yǔ)言幾乎沒(méi)有差異,可以直接使用。
JS文件:
小程序的JX文件與用于前端開(kāi)發(fā)的JS幾乎相同。
小程序的JX添加了一些微信的API接口,并刪除了一些不必要的函數(shù)(如DOM)。在語(yǔ)言方面,
小程序完全符合低學(xué)習(xí)前端開(kāi)發(fā),但這并不意味著所有前端開(kāi)發(fā)人員都可以直接無(wú)縫遷移。如果要從前端開(kāi)發(fā)轉(zhuǎn)移到
小程序,則需要注意以下兩點(diǎn):HTML和WXML文件的構(gòu)建思路完全不同。如果您之前只涉及過(guò)前端開(kāi)發(fā),則需要一點(diǎn)時(shí)間來(lái)適應(yīng)WXML編寫(xiě)方法。盡管
小程序使用前端語(yǔ)言,但這并不意味著您可以繼續(xù)使用前端開(kāi)發(fā)思想(類(lèi)似于Node.js的前端開(kāi)發(fā))。
小程序將前端開(kāi)發(fā)的需求從“構(gòu)建界面”升級(jí)到“開(kāi)發(fā)完整的應(yīng)用程序”,前端開(kāi)發(fā)仍需要改變意識(shí)。界面構(gòu)建基本邏輯WXML和WXSS文件是
小程序界面元素聲明和樣式描述文件。 WXML的一大特色是以視圖的形式序列化界面元素,并通過(guò)程序邏輯(AppService)將信息更新實(shí)時(shí)傳遞給視圖層。該視圖類(lèi)似于HTML中的div元素。在構(gòu)建時(shí),視圖可以嵌套在多個(gè)級(jí)別中,任何可視元素都可以放在視圖中。應(yīng)該注意的是,一旦元素超出屏幕,用戶就再也看不到它,這與HTML完全不同。例如,移動(dòng)電話的屏幕被設(shè)想為舞臺(tái),觀眾不能看到舞臺(tái)外的演員。
小程序有一個(gè)專(zhuān)用于滾動(dòng)的視圖。如果您希望界面是可自由滾動(dòng)的界面(例如列表),您可以使用滾動(dòng)視圖視圖將其調(diào)整為WXSS中的整個(gè)屏幕并設(shè)置scroll-y(向上和向下)Scroll)或滾動(dòng) - x(左右滾動(dòng))為true。
DOM控件WXML元素不能直接在
小程序中使用。如果需要更新數(shù)據(jù),則需要使用WXML提供的數(shù)據(jù)綁定和元素呈現(xiàn)方法。另一點(diǎn)需要注意的是,
小程序柵格布局系統(tǒng)使用Flex布局,這是W3C在2009年提出的排版標(biāo)準(zhǔn)。綁定數(shù)據(jù)對(duì)于單個(gè)字段,開(kāi)發(fā)人員可以使用數(shù)據(jù)綁定方法來(lái)更新信息。綁定數(shù)據(jù)可以在JS主程序中以函數(shù)的形式更新,除了在加載時(shí)更新,并且更新還可以反映在界面上的綁定數(shù)據(jù)中。條件渲染和列表(循環(huán))渲染
條件渲染適用于具有意外提示的頁(yè)面(例如無(wú)法加載列表或詳細(xì)信息時(shí)等)。它的渲染有一個(gè)觸發(fā)條件,當(dāng)它滿足條件時(shí)呈現(xiàn)頁(yè)面,否則它會(huì)忽略或呈現(xiàn)另一段代碼。
兩個(gè)花括號(hào)中包含的判斷條件中的變量在主程序JS代碼中的數(shù)據(jù)中聲明。
如果需要在界面中構(gòu)建列表,可以使用WXML中的循環(huán)渲染來(lái)收集相同的元素渲染代碼。循環(huán)數(shù)據(jù)可以寫(xiě)入數(shù)組中的數(shù)據(jù)以進(jìn)行WXML訪問(wèn)。
渲染完成后,渲染判斷條件的變化會(huì)影響界面變化。
模板和參考WXML支持使用模板和引用來(lái)減少代碼大小。模板是在WXML代碼中復(fù)用相同代碼的方法。
可以使用import將多個(gè)模板寫(xiě)入同一文件并在其他文件中引用。
如果您需要整個(gè)頁(yè)面引用,則需要使用include。
樣式通過(guò)WXSS樣式表,開(kāi)發(fā)人員可以在WXML中定義元素樣式。與CSS代碼一樣,WXSS可以使用選擇器直接選擇元素。也可以在WXML中直接定義元素的id和類(lèi),以便在WXSS文件中定義樣式。用戶操作和事件響應(yīng)
由于微信不使用HTML,因此無(wú)法通過(guò)添加超鏈接(元素)來(lái)監(jiān)視用戶的單擊事件。對(duì)于需要偵聽(tīng)單擊事件的元素,應(yīng)使用bindtap屬性或catchtap屬性將它們綁定到WXML中。
除了單擊一次,微信還提供事件響應(yīng),如按下,開(kāi)始觸摸和放開(kāi)。
在WXML中綁定事件后,它可以在主程序JS中使用。
其他API中還有其他相應(yīng)的事件,可以在微信
小程序的官方文檔中找到。
當(dāng)您需要在小程序的頁(yè)面之間跳轉(zhuǎn)時(shí),您應(yīng)該使用wx.navigateTo()方法。
應(yīng)該注意的是,頁(yè)面級(jí)跳轉(zhuǎn),微信將級(jí)別跳轉(zhuǎn)限制為五個(gè)級(jí)別。有必要注意在開(kāi)發(fā)過(guò)程中是否超過(guò)相應(yīng)的限制。網(wǎng)絡(luò)訪問(wèn)
小程序支持三種請(qǐng)求方法。一個(gè)是直接HTTP連接請(qǐng)求,它在請(qǐng)求之后直接返回結(jié)果,并且連接結(jié)束。另一個(gè)是Socket持久連接。當(dāng)一方主動(dòng)關(guān)閉連接時(shí),連接結(jié)束。除了上述兩種發(fā)送和接收純文本的方式外,微信還提供了文件收發(fā)接口。錄制在
小程序中的語(yǔ)音和所選照片都需要使用此方法上傳。要通過(guò)
小程序訪問(wèn)網(wǎng)絡(luò),服務(wù)器必須支持HTTPS安全連接,端口號(hào)必須為443.同時(shí),
小程序只能訪問(wèn)開(kāi)發(fā)人員在注冊(cè)
小程序時(shí)設(shè)置的服務(wù)器地址。多媒體和存儲(chǔ)如果您需要在
小程序中播放多媒體(包括音頻和視頻)或數(shù)據(jù)存儲(chǔ),則無(wú)法使用HTML 5中提供的標(biāo)準(zhǔn),您必須使用
小程序多媒體播放控制接口和微信提供的存儲(chǔ)接口。聲音界面有兩個(gè)界面:音頻播放和音樂(lè)播放。音頻播放提供三個(gè)界面,用于播放,暫停和停止播放。它不提供跳轉(zhuǎn)到播放時(shí)間點(diǎn)的功能,也不能捕獲當(dāng)前播放進(jìn)度。除了上述基本播放控制之外,音樂(lè)播放器界面還提供諸如音樂(lè)狀態(tài)檢查和監(jiān)視之類(lèi)的功能。
小程序提供照片和視頻數(shù)據(jù)交換接口。通過(guò)此界面,
小程序可以訪問(wèn)用戶選擇或拍攝的照片和視頻。通過(guò)錄音和視頻照片界面獲取的多媒體信息是臨時(shí)的,文件需要通過(guò)
小程序存儲(chǔ)文件界面永久保存。對(duì)于文本數(shù)據(jù),
小程序還提供了存儲(chǔ)此類(lèi)數(shù)據(jù)的接口。從Android或其他應(yīng)用程序等平臺(tái)遷移的開(kāi)發(fā)人員需要注意
小程序不提供數(shù)據(jù)庫(kù)樣式的本地?cái)?shù)據(jù)保存表單,而是將其保存為一對(duì)一的“字段值”形式。
與硬件相關(guān)的
小程序依賴于微信并提供許多與硬件相關(guān)的API。以下數(shù)據(jù),
小程序可以通過(guò)API獲得。系統(tǒng)相關(guān)信息(包括網(wǎng)絡(luò)狀態(tài),設(shè)備型號(hào),窗口大小等)重力感應(yīng)數(shù)據(jù)指南針數(shù)據(jù)通過(guò)上述API,應(yīng)該很容易編寫(xiě)諸如“搖動(dòng)”之類(lèi)的交互式頁(yè)面。但是,應(yīng)該注意的是,由于這些數(shù)據(jù)只能主動(dòng)獲得,所以不能通過(guò)這些數(shù)值變化的回調(diào)實(shí)時(shí)獲得。推送服務(wù)
小程序提供推送服務(wù),以便隨時(shí)向用戶發(fā)送必要的通知。但請(qǐng)注意,推送服務(wù)只能用于通知提醒,不能用于群組發(fā)送。在
小程序中,推送服務(wù)被稱(chēng)為“模板消息”(之前開(kāi)發(fā)過(guò)服務(wù)號(hào)的開(kāi)發(fā)人員應(yīng)該很熟悉)。開(kāi)發(fā)人員需要在微信
小程序的后臺(tái)注冊(cè)新的模板推送消息(例如購(gòu)買(mǎi)成功通知),并在他們可以使用
小程序中的模板消息推送服務(wù)之前通過(guò)審核。具體的審計(jì)標(biāo)準(zhǔn)建議參見(jiàn)相應(yīng)的文件。模板消息獲得批準(zhǔn)后,開(kāi)發(fā)人員需要從微信服務(wù)器獲取訪問(wèn)令牌,然后將模板中的值,模板編號(hào)和動(dòng)態(tài)變量(如訂單號(hào),價(jià)格等)提交到微信,然后按通過(guò)微信通知用戶。用戶信息和微信付款
小程序可以在用戶同意的情況下獲取用戶的信息。
小程序首先要求用戶通過(guò)微信登錄的接口登錄。之后,
小程序可以顯示和使用用戶信息。使用微信登錄時(shí),您需要知道需要對(duì)消息進(jìn)行簽名以確認(rèn)其完整性,然后才能保護(hù)數(shù)據(jù)不被篡改。
小程序也可以使用微信支付。應(yīng)當(dāng)注意,當(dāng)發(fā)送支付請(qǐng)求時(shí),需要將簽名添加到所發(fā)送的消息以確認(rèn)消息完整性。以上是該計(jì)劃為每個(gè)人所知的官方發(fā)展文件的“關(guān)鍵信息”。
但是,如果您想熟悉
小程序,則無(wú)法做到。你仍然需要這樣做。如果在開(kāi)發(fā)過(guò)程中遇到問(wèn)題,眾所周知的方法是查閱微信的官方
小程序開(kāi)發(fā)文檔。我相信在文檔中,您可以找到解決大多數(shù)問(wèn)題的方法。
網(wǎng)站建設(shè),沈陽(yáng)網(wǎng)站建設(shè),沈陽(yáng)網(wǎng)絡(luò)公司,沈陽(yáng)網(wǎng)站設(shè)計(jì),沈陽(yáng)網(wǎng)站制作