微信小程序開發(fā)常用組件和框架(微信小程序開發(fā)組件庫)
本篇文章給大家談?wù)勎⑿判〕绦蜷_發(fā)常用組件和框架,以及微信小程序開發(fā)組件庫對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
微信小程序如何開發(fā)
微信小程序的優(yōu)勢十分明 顯,小程序是不需要下載安裝便可以使用的應(yīng)用,它實現(xiàn)了應(yīng)用觸手可及的夢想,用戶掃一掃或搜一下即可打開應(yīng)用,也體現(xiàn)了用完即走的理念,用戶不用關(guān)心是否安裝太多應(yīng)用的問題,應(yīng)用將無處不在,隨時可用,但又無需安裝卸載。
小程序觸及了PC網(wǎng)頁,公眾號,H5,APP無法觸及的地 方,其無需安裝,用完即走的理念能夠滿足用戶需求且節(jié)省手機內(nèi)存。站在小程序的擁有者的立場,其開發(fā)成本大大減小,同時可借助微信強大的流量入口,因而也降低了推廣的難度??偟膩碚f,微信小程序是一種全新的方式,能夠更好地在用戶和服務(wù)中建立連接,并且可以在微信中便捷地獲取和傳播,具有不錯的使用體驗。
小程序全面開放申請以后,作為企業(yè)、政府、媒體、其他組織或者個人的開發(fā)者,都可以申請并注冊小程序。小程序和微信的訂閱號、服務(wù)號以及企業(yè)號是并行的體系,具有獨立的注冊以及發(fā)布流程。
小程序的接入主要有4個步驟:
(1) 小程序注冊:在微信公眾平臺官網(wǎng)首頁注冊并提交注冊信息、完善主體信息和管理 員信息。
(2) 完善小程序信息:完善小程序的基本信息如名稱、 頭像及服務(wù)范圍等。開發(fā)前需綁定開發(fā)者并獲取APP ID,以保證程序可以通過手機進行掃碼測試。
(3) 開發(fā)小程序:下載安裝微信開發(fā)者工具,微信官方提供了一套完整的開發(fā)框架,開發(fā)者可以根據(jù)微信開發(fā)文檔進行小程序的開發(fā)與調(diào)試。
(4) 代碼審核及發(fā)布:小程序開發(fā)完成后,不能夠直接發(fā)布,需提交代碼與開發(fā)配置信息提交審核,完成后尚可發(fā)布。
微信Web開發(fā)者工具區(qū)別于H5的開發(fā)工具+瀏覽器 Device Mode預(yù)覽的模式,而是基于自己的開發(fā)者工具,可以實現(xiàn)同步本地文件+開發(fā)調(diào)試+編譯預(yù)覽+上傳+發(fā)布等一整套流程。同時小程序自己開發(fā)了一套WXML標(biāo)簽語言和 WXSS樣式語言,并非直接使用標(biāo)準(zhǔn)HTML5+CSS3。同時 提供了很多原生APP的組件,之前在HTML5中需要模擬才 能實現(xiàn)的功能,在小程序中可以直接調(diào)用組件來實現(xiàn)。
小程序開發(fā)框架的核心是一個響應(yīng)的數(shù)據(jù)綁定系統(tǒng)。 分為視圖層和邏輯層,小程序開 發(fā)工具提供了視圖層描述語言WXML和WXSS,以及基于 JavaScript的邏輯層框架,并在視圖層與邏輯層間設(shè)置了數(shù)據(jù)傳輸和事件系統(tǒng),使得開發(fā)者能夠很簡單地將重心放在數(shù)據(jù)與邏輯上。處理事務(wù)邏輯的地方被稱為邏輯層。在微信小程序中,所有.js腳本文件的集合構(gòu)成邏輯層。邏輯層與視圖層相互配合,完成數(shù)據(jù)處理及接收事件反饋。框架的視圖層由WXML與WXSS編寫,通過組件進行展現(xiàn)。對于小程序本身,.wxml文件與.wxss文件的集合構(gòu)成了視圖層,邏輯層處理數(shù)據(jù)之后,會發(fā)送給視圖層用于與用戶的交互,同時接收用戶對視圖層的反饋。視圖層以給定的樣式展現(xiàn)數(shù)據(jù)并反饋事件給邏輯層,數(shù)據(jù)展現(xiàn)是通過組件來進行的。視圖的基本構(gòu)成是組件。
項目開發(fā)完成后,管理員需手動打包上傳代碼,填寫相關(guān)配置類目并將代碼提交審核,若第一次審核未通過,再次提交審核將開放提供測試的入口,該入口由開發(fā)者提供, 用于微信審核人員審核微信小程序時登錄。審核后手動發(fā)布即可。
微信小程序站在月活躍用戶9億人次的微信的肩膀上,自帶流量趨勢,入口多,功能簡單便捷。小程序功能快速迭代,意味著圍繞小程序的開發(fā)和生態(tài)工具建設(shè)將會是移動互聯(lián)網(wǎng)的一個巨大機會。目前各行業(yè)內(nèi)諸多企業(yè)單位紛紛加入了小程序開發(fā),開通了小程序功能。但小程序進行優(yōu)化后,開放了很多入口,使得開發(fā)者和用戶關(guān)注度不斷提升??v使一些高頻和復(fù)雜應(yīng)用暫時無法被小程序取代,但是一些低頻應(yīng)用的主要功能,只要能在小程序上實現(xiàn),APP就可以完全卸載了。總的來說,微信小程序目前發(fā)展空間甚好,至于以后未來的發(fā)展仍舊不能夠準(zhǔn)確預(yù)測。
如何快速開發(fā)個微信小程序
無論是前端開發(fā),還是后端開發(fā),時間長了,你總會能總結(jié)出它的一些規(guī)律的,對于前端開發(fā)主要就兩條,頁面展現(xiàn),邏輯處理。如果是全流程開發(fā)的話,那就是,如何創(chuàng)建項目,頁面如何實現(xiàn),數(shù)據(jù)獲取和邏輯處理如何實現(xiàn),如何打包上線。移動端或者前端,基本開發(fā)流程就這個四個步驟。所以在在前端方面去學(xué)習(xí)新一門開發(fā)技術(shù),只要你解決了這四個問題,那一切就OK了,下面我就講一下,我在學(xué)習(xí)微信小程序開發(fā),如何用這四步法快速上手開發(fā)的
學(xué)習(xí)一門新技術(shù)先看下它的開發(fā)文檔 小程序介紹
然后呢就是開始一些準(zhǔn)備的步驟,微信公眾平臺提供我們開發(fā)管理的功能 微信工作平臺
賬號注冊
小程序信息配置
請看 小程序開發(fā)步驟
小程序項目的創(chuàng)建
到此第一個問題我們就算完成了,接下來解決小程序界面如何搭建。
然后最重要的,微信提供自己的開發(fā)者工具,不需要用chrome什么調(diào)試, 微信開發(fā)者工具 提供wxapi的調(diào)用測試能力,這些在chrome里面是測試不了的
框架的視圖層由 WXML 與 WXSS 編寫,由組件來進行展示。
將邏輯層的數(shù)據(jù)反應(yīng)成視圖,同時將視圖層的事件發(fā)送給邏輯層。
WXML(WeiXin Markup language) 用于描述頁面的結(jié)構(gòu)。
WXS(WeiXin Script) 是小程序的一套腳本語言,結(jié)合 WXML,可以構(gòu)建出頁面的結(jié)構(gòu)。
WXSS(WeiXin Style Sheet) 用于描述頁面的樣式。
小程序的頁面是由wxml 和wxss這兩個文件來實現(xiàn)的,wxml結(jié)構(gòu)如何寫請參考 微信小程序組件
wxss是負責(zé)樣式控制的,基本類似于css,支持flex布局,所以要想上手構(gòu)建微信小程序的界面,最好要熟悉html ,css.
還有最重要的就是生命周期了
//index.js
Page({
? data: {
? ? text: "This is page data."
? },
? onLoad: function(options) {
? ? // 頁面創(chuàng)建時執(zhí)行
? },
? onShow: function() {
? ? // 頁面出現(xiàn)在前臺時執(zhí)行
? },
? onReady: function() {
? ? // 頁面首次渲染完畢時執(zhí)行
? },
? onHide: function() {
? ? // 頁面從前臺變?yōu)楹笈_時執(zhí)行
? },
? onUnload: function() {
? ? // 頁面銷毀時執(zhí)行
? },
? onPullDownRefresh: function() {
? ? // 觸發(fā)下拉刷新時執(zhí)行
? },
? onReachBottom: function() {
? ? // 頁面觸底時執(zhí)行
? },
? onShareAppMessage: function () {
? ? // 頁面被用戶分享時執(zhí)行
? },
? onPageScroll: function() {
? ? // 頁面滾動時執(zhí)行
? },
? onResize: function() {
? ? // 頁面尺寸變化時執(zhí)行
? },
? onTabItemTap(item) {
? ? // tab 點擊時執(zhí)行
? ? console.log(item.index)
? ? console.log(item.pagePath)
? ? console.log(item.text)
? },
? // 事件響應(yīng)函數(shù)
? viewTap: function() {
? ? this.setData({
? ? ? text: 'Set some data for updating view.'
? ? }, function() {
? ? ? // this is setData callback
? ? })
? },
? // 自由數(shù)據(jù)
? customData: {
? ? hi: 'MINA'
? }
})
微信提供的界面組件很多,沒必要一下子全學(xué)會,會用一兩個就行,其他的遇到需要的時候現(xiàn)查先做,這樣又節(jié)約學(xué)習(xí)時間,又能夠加深理解。到此第二個問題我們解決了,下面看第三個問題,數(shù)據(jù)邏輯如何處理。
數(shù)據(jù)定義
數(shù)據(jù)展現(xiàn)
邏輯處理是通過js文件來操作的
一個服務(wù)僅僅只有界面展示是不夠的,還需要和用戶做交互:響應(yīng)用戶的點擊、獲取用戶的位置等等。在小程序里邊,我們就通過編寫?JS?腳本文件來處理用戶的操作。
view{{ msg }}/view
button bindtap="clickMe"點擊我/button
點擊?button?按鈕的時候,我們希望把界面上?msg?顯示成?"Hello World",于是我們在?button?上聲明一個屬性:?bindtap?,在 JS 文件里邊聲明了?clickMe?方法來響應(yīng)這次點擊操作:
Page({
? clickMe: function() {
? ? this.setData({ msg: "Hello World" })
? }
})
響應(yīng)用戶的操作就是這么簡單,更詳細的事件可以參考文檔? WXML - 事件 ?。
此外你還可以在 JS 中調(diào)用小程序提供的豐富的 API,利用這些 API 可以很方便的調(diào)起微信提供的能力,例如獲取用戶信息、本地存儲、微信支付等。在前邊的 QuickStart 例子中,在?pages/index/index.js?就調(diào)用了?wx.getUserInfo?獲取微信用戶的頭像和昵稱,最后通過?setData?把獲取到的信息顯示到界面上。更多 API 可以參考文檔? 小程序的API ?。
現(xiàn)在幾乎每個應(yīng)用都需要從后端獲取數(shù)據(jù),那么小程序如何獲取呢,當(dāng)然是通過網(wǎng)路操作了。我們封裝了小程序的網(wǎng)絡(luò)操作
const app = getApp()
const request = (url, options) = {
? return new Promise((resolve, reject) = {
? ? wx.request({
? ? ? url: `${app.globalData.host}${url}`,
? ? ? method: options.method,
? ? ? data: options.method === 'GET' ? options.data : JSON.stringify(options.data),
? ? ? header: {
? ? ? ? 'Content-Type': 'application/json; charset=UTF-8'
? ? ? ? // 'x-token': 'x-token'? // 看自己是否需要
? ? ? },
? ? ? success(request) {
? ? ? ? if (request.data.error_code === 0) {
? ? ? ? ? resolve(request.data)
? ? ? ? } else {
? ? ? ? ? reject(request.data)
? ? ? ? }
? ? ? },
? ? ? fail(error) {
? ? ? ? reject(error.data)
? ? ? }
? ? })
? })
}
const gets = (url, options = {}) = {
? return request(url, { method: 'GET', data: options })
}
const post = (url, options) = {
? return request(url, { method: 'POST', data: options })
}
const put = (url, options) = {
? return request(url, { method: 'PUT', data: options })
}
// 不能聲明DELETE(關(guān)鍵字)
const remove = (url, options) = {
? return request(url, { method: 'DELETE', data: options })
}
module.exports = {
? gets,
? post,
? put,
? remove
}
如何使用請看下圖
數(shù)據(jù)獲取
數(shù)據(jù)展現(xiàn)如下圖
數(shù)據(jù)展現(xiàn)
到此,第三個問題我們就解決的了下面看第四個問題。
小程序發(fā)布文檔說明
小程序發(fā)布步驟
到此四個問題都解決了。
總結(jié):本文內(nèi)容是很簡單的,借用了大部分官方文檔,其實本文目的不是教你學(xué)小程序開發(fā),而是分享一下在學(xué)習(xí)一項新事物我的方法和思路,互聯(lián)網(wǎng)技術(shù)變化是很快的,我覺得一個人的能力,不僅僅是你技術(shù)有多好,你要明白技術(shù)是用來干什么的,技術(shù)是用來解決現(xiàn)實生活中的問題的,一個好的程序員,不是技術(shù)能力,而是解決問題的能力,解決問題不可能只用一種技術(shù),這就要求你的學(xué)習(xí)能力要強,針對不同的問題,使用不同的技術(shù),哪怕使用的技術(shù)你不熟悉,但它是解決問題最好的方法,那就要求你有快速學(xué)習(xí)并解決問題的能力。
學(xué)習(xí)一項新技術(shù),我們要先抓住主線,把流程搞通了,以后再在工作中慢慢的熟悉和豐富對它細節(jié)的一些認知,所以學(xué)一項東西前多問自己幾個問題,我學(xué)什么,我為什么學(xué),我怎么學(xué),等。先思考后學(xué)習(xí),一定會讓你事半功倍。
對于怎么學(xué)習(xí)微信小程序開發(fā),我問了自己上面的四個問題,每個問題,我只需要了解大體內(nèi)容,四個問題都解決了,然后整個流程也就通了,以后也就是慢慢的對每個問題內(nèi)容的細節(jié)慢慢的熟悉和了解了,其實花了不到一下午的時間,我就搞出了一個簡單的demo出來了,了解的內(nèi)容基本已經(jīng)覆蓋微信小程序日常開發(fā)80%的內(nèi)容了。以上就是我的一點學(xué)習(xí)心得。
最后 小程序Demo
Demo截圖
首頁
我的
點擊我的任意條目,數(shù)據(jù)是從第三方聚合平臺提供的api獲取的
最后目前有很多的多端開發(fā)框架,背景大多是都是因為小程序開發(fā)的盛行
其他還有很多例如
阿里的rax
我們自己的ditto
開發(fā)微信小程序需要學(xué)習(xí)什么編程語言?
微信小程序開發(fā)一般有php語言和java語言兩種語言、html/css/js三件套都要會。
微信小程序常見使用“MINA”框架,這個框架為微信小程序的運行提供了豐富的組件和API。微信小程序開發(fā)者要學(xué)會和掌握小程序的框架結(jié)構(gòu)、數(shù)據(jù)綁定機制、模板、數(shù)據(jù)緩存、常用組件和API等相關(guān)知識。
怎么制作一個微信小程序
微信小程序可以用html、css、javascript等語言來編寫,還可以使用php語言來開發(fā)。微信小程序是基于微信平臺的輕量級應(yīng)用,它的開發(fā)是應(yīng)用微信提供的小程序前端規(guī)范,并結(jié)合企業(yè)自己開發(fā)的應(yīng)用后端來完成的。
小程序是基于微信平臺的輕量級應(yīng)用,它的開發(fā)是應(yīng)用微信提供的小程序前端規(guī)范,結(jié)合企業(yè)自己開發(fā)的應(yīng)用后端來制作??傮w來說,也就是微信小程序在微信平臺中只需要開發(fā)前端版本,而在后臺等部分則由網(wǎng)站公司采用各種程序語言自行編寫。
HTML/CSS/JS語言開發(fā)
html:超文本標(biāo)記語言,是一種用于創(chuàng)建網(wǎng)頁的標(biāo)準(zhǔn)標(biāo)記語言,可以使用 HTML 來建立自己的 WEB 站點,HTML 運行在瀏覽器上,由瀏覽器來解析。
css:層疊樣式表,能讓我們更精確的控制網(wǎng)頁版面的文字、背景、字型等…它能讓我們只修正一個css文件,便可同時更新眾多的網(wǎng)頁版面外觀及格式,還可以使html的文件內(nèi)碼更精簡,縮小檔案下載的速度。
js:js是Javascript的縮寫形式,而Javascript是一種基于對象和事件驅(qū)動并且具有相對安全性的客戶端腳本語言。它在Web開發(fā)中JS占據(jù)著舉足輕重的地位,所有交互、邏輯層的代碼都應(yīng)該由它來實現(xiàn)。
PHP/JAVA語言開發(fā)
對于微信小程序而言,前端程序是唯一差異于網(wǎng)站建設(shè)技術(shù)的,因此,只要前端程序過得了關(guān),能夠?qū)懬岸说慕涌冢敲茨褂肞HP,又或者java,以及asp.net的程序語言都是完全支持的。一般對于企業(yè)而言,都是采用php程序開發(fā)微信小程序;技術(shù)要求高一點的可以采用java程序開發(fā)。這些開發(fā)方式成都銳美網(wǎng)絡(luò)都已實踐,且能保證效果。
微信小程序常見使用“MINA”框架,Apache Mina Server 是一個網(wǎng)絡(luò)通信應(yīng)用框架,也就是說,它主要是對基于TCP/IP、UDP/IP協(xié)議棧的通信框架,Mina 可以幫助開發(fā)者快速開發(fā)高性能、高擴展性的網(wǎng)絡(luò)通信應(yīng)用,Mina 提供了事件驅(qū)動、異步(Mina 的異步IO 默認使用的是JAVA NIO 作為底層支持)操作的編程模型。這個框架為微信小程序的運行提供了豐富的組件和API。微信小程序開發(fā)者要學(xué)會和掌握小程序的框架結(jié)構(gòu)、數(shù)據(jù)綁定機制、模板、數(shù)據(jù)緩存、常用組件和API等相關(guān)知識。
微信小程序(Mini Program)技術(shù)棧與框架簡介
關(guān)鍵字:微信小程序、Mini Program、技術(shù)棧、框架、WePy、MPVue
整體小程序開發(fā)類似Web App開發(fā),尤其是使用了Vue或React框架的Web App開發(fā)。
小程序原生技術(shù)棧與框架WePY、MPVue之間的比較,參考 博客
關(guān)于微信小程序開發(fā)常用組件和框架和微信小程序開發(fā)組件庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。