微信小程序基本介紹
小程序和普通網(wǎng)頁(yè)有以下幾點(diǎn)區(qū)別:
-
運(yùn)行環(huán)境:小程序可以在手機(jī)的操作系統(tǒng)上直接運(yùn)行,如微信、支付寶等;而普通網(wǎng)頁(yè)需要在瀏覽器中打開(kāi)才能運(yùn)行。
-
開(kāi)發(fā)技術(shù):小程序采用前端技術(shù)進(jìn)行開(kāi)發(fā),如HTML、CSS、JavaScript等;而普通網(wǎng)頁(yè)也是使用類(lèi)似的前端技術(shù)開(kāi)發(fā)。
-
用戶(hù)體驗(yàn):小程序可以提供更加原生化的用戶(hù)體驗(yàn),可以調(diào)用手機(jī)硬件設(shè)備的功能,如攝像頭、地理位置等;而普通網(wǎng)頁(yè)對(duì)于這些功能的調(diào)用相對(duì)受限。
-
安全性:小程序運(yùn)行在封閉的環(huán)境中,安全性較高,并且需要通過(guò)平臺(tái)審核后才能上線(xiàn);而普通網(wǎng)頁(yè)的安全性相對(duì)較低,容易受到網(wǎng)絡(luò)攻擊。
-
分發(fā)方式:小程序可以通過(guò)應(yīng)用商店進(jìn)行分發(fā),用戶(hù)可以方便地搜索、下載和更新;而普通網(wǎng)頁(yè)需要通過(guò)鏈接分享或搜索引擎搜索才能找到。
-
權(quán)限控制:小程序可以對(duì)用戶(hù)的權(quán)限進(jìn)行細(xì)粒度的控制,例如獲取用戶(hù)的地理位置、訪問(wèn)手機(jī)相冊(cè)等;而普通網(wǎng)頁(yè)由于運(yùn)行在瀏覽器中,權(quán)限受到限制,無(wú)法進(jìn)行這些操作。
-
存儲(chǔ)能力:小程序可以在本地存儲(chǔ)數(shù)據(jù),包括用戶(hù)的配置、緩存等;而普通網(wǎng)頁(yè)通常只能通過(guò)cookie或localStorage等方式進(jìn)行有限的本地存儲(chǔ)。
-
跨平臺(tái)支持:小程序可以同時(shí)支持多個(gè)操作系統(tǒng),如iOS和Android;而普通網(wǎng)頁(yè)幾乎可以在任何現(xiàn)代瀏覽器上運(yùn)行,跨平臺(tái)性更強(qiáng)。
-
更新機(jī)制:小程序在更新時(shí),用戶(hù)無(wú)需手動(dòng)下載,平臺(tái)會(huì)自動(dòng)推送最新版本給用戶(hù);而普通網(wǎng)頁(yè)需要用戶(hù)手動(dòng)刷新頁(yè)面才能獲取到更新。
-
開(kāi)發(fā)限制:小程序的開(kāi)發(fā)受到平臺(tái)的嚴(yán)格限制,需要符合一定的規(guī)范和要求,并且功能受到一定的限制;而普通網(wǎng)頁(yè)的開(kāi)發(fā)相對(duì)自由度較高。
要?jiǎng)?chuàng)建第一個(gè)微信小程序,可以按照以下步驟進(jìn)行:
-
注冊(cè)成為微信公眾平臺(tái)開(kāi)發(fā)者:訪問(wèn)微信公眾平臺(tái)(mp.weixin.qq.com),使用個(gè)人微信賬號(hào)注冊(cè)成為開(kāi)發(fā)者。
-
創(chuàng)建小程序:登錄微信公眾平臺(tái)后,在菜單中選擇"開(kāi)發(fā)",然后點(diǎn)擊"小程序",進(jìn)入小程序管理頁(yè)面。點(diǎn)擊"添加小程序"按鈕,填寫(xiě)小程序的基本信息,包括名稱(chēng)、AppID、簡(jiǎn)介等,并上傳小程序的圖標(biāo)和封面圖片。
-
完善小程序設(shè)置:在小程序管理頁(yè)面中,可以設(shè)置小程序的基本配置項(xiàng),包括設(shè)置服務(wù)器域名、業(yè)務(wù)域名、支付配置等。
-
開(kāi)發(fā)工具下載:下載微信開(kāi)發(fā)者工具,用于小程序的開(kāi)發(fā)和調(diào)試。微信開(kāi)發(fā)者工具可以在微信公眾平臺(tái)的"開(kāi)發(fā)"->"開(kāi)發(fā)工具"中下載。
-
創(chuàng)建小程序項(xiàng)目:打開(kāi)微信開(kāi)發(fā)者工具,點(diǎn)擊"新建小程序項(xiàng)目",填寫(xiě)小程序的AppID和項(xiàng)目目錄,點(diǎn)擊"確定"后即可創(chuàng)建小程序項(xiàng)目。
-
開(kāi)發(fā)小程序頁(yè)面:在微信開(kāi)發(fā)者工具中,可以編寫(xiě)小程序的頁(yè)面代碼、樣式和邏輯,通過(guò)預(yù)覽功能可以實(shí)時(shí)查看小程序的效果。
-
發(fā)布小程序:完成小程序的開(kāi)發(fā)后,可以在微信開(kāi)發(fā)者工具中點(diǎn)擊"上傳"按鈕,將小程序上傳到微信公眾平臺(tái)進(jìn)行審核。審核通過(guò)后,即可發(fā)布小程序供用戶(hù)使用。
當(dāng)創(chuàng)建了小程序項(xiàng)目后,可以按照以下示例代碼進(jìn)行開(kāi)發(fā):
- 在小程序項(xiàng)目的根目錄下,找到app.json文件,在其中配置小程序的全局配置信息,如頁(yè)面路徑、窗口樣式等。
示例app.json文件內(nèi)容:
{
"pages": [
"pages/index/index", // 小程序首頁(yè)
"pages/about/about", // 關(guān)于頁(yè)面
"pages/contact/contact" // 聯(lián)系頁(yè)面
],
"window": {
"navigationBarTitleText": "我的小程序", // 導(dǎo)航欄標(biāo)題文字
"navigationBarBackgroundColor": "#ffffff" // 導(dǎo)航欄背景顏色
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首頁(yè)"
},
{
"pagePath": "pages/about/about",
"text": "關(guān)于"
}
]
}
}
- 創(chuàng)建小程序的頁(yè)面文件,每個(gè)頁(yè)面對(duì)應(yīng)一個(gè)文件夾,包含一個(gè)
.js
、.wxml
、.wxss
和.json
文件。
示例index.js文件內(nèi)容:
Page({
data: {
message: 'Hello, 小程序!'
},
onLoad() {
console.log('頁(yè)面加載完成')
},
onTap() {
this.setData({
message: '點(diǎn)擊了按鈕'
})
}
})
示例index.wxml文件內(nèi)容:
<view>
<text>{{ message }}</text>
<button bindtap="onTap">點(diǎn)擊我</button>
</view>
示例index.wxss文件內(nèi)容:
text {
font-size: 16px;
color: #333333;
}
button {
margin-top: 20px;
padding: 10px 20px;
background-color: #007bff;
color: #ffffff;
}
示例index.json文件內(nèi)容(可選,用于配置頁(yè)面特殊樣式):
{
"navigationBarTitleText": "首頁(yè)", // 頁(yè)面標(biāo)題
"enablePullDownRefresh": true // 允許下拉刷新功能
}
以上代碼示例演示了一個(gè)簡(jiǎn)單的小程序頁(yè)面,其中包含一個(gè)文本框、一個(gè)按鈕,點(diǎn)擊按鈕后會(huì)改變文本框的內(nèi)容。
通過(guò)以上示例,可以開(kāi)始進(jìn)行小程序的開(kāi)發(fā)和調(diào)試。在微信開(kāi)發(fā)者工具中點(diǎn)擊預(yù)覽按鈕,即可在模擬器中查看和測(cè)試小程序的效果。
小程序組成結(jié)構(gòu)
JSON配置文件
在微信小程序開(kāi)發(fā)中,JSON配置文件是一種用于配置小程序運(yùn)行環(huán)境的文件格式。小程序中常見(jiàn)的JSON配置文件有app.json、page.json、component.json等。
其中,app.json是小程序的全局配置文件,包含了所有頁(yè)面的路徑、窗口樣式、網(wǎng)絡(luò)配置等。其他JSON配置文件則用于指定具體頁(yè)面或組件的特殊樣式和行為。
下面以app.json為例,介紹一些常見(jiàn)的配置選項(xiàng):
{
"pages": [
"pages/index/index",
"pages/logs/logs"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "小程序示例",
"navigationBarTextStyle": "black"
}
}
其中,pages屬性指定小程序包含的頁(yè)面路徑列表,這里可能會(huì)有多個(gè)頁(yè)面,每個(gè)頁(yè)面需要對(duì)應(yīng)一個(gè).js
、.wxml
、.wxss
和.json
文件。
window屬性用于指定小程序窗口的樣式和配置選項(xiàng)。例如,navigationBarTitleText屬性指定導(dǎo)航欄標(biāo)題文字,navigationBarBackgroundColor屬性指定導(dǎo)航欄背景顏色,backgroundTextStyle屬性指定下拉動(dòng)畫(huà)的樣式等。
app.json文件還可以指定小程序的網(wǎng)絡(luò)配置、分享配置、調(diào)試模式等選項(xiàng)。詳情可參考微信小程序文檔。
JSON配置文件是微信小程序開(kāi)發(fā)中重要的一部分,通過(guò)配置文件,可以實(shí)現(xiàn)小程序的全局配置、頁(yè)面配置和組件配置等特性。
app.json
在微信小程序中,app.json是小程序的全局配置文件,用于指定小程序的全局屬性和頁(yè)面路徑等信息。
下面介紹一些常見(jiàn)的app.json配置選項(xiàng):
-
pages:用于指定小程序包含的所有頁(yè)面路徑列表,每個(gè)頁(yè)面對(duì)應(yīng)一個(gè)
.js
、.wxml
、.wxss
和.json
文件。頁(yè)面路徑是相對(duì)于小程序根目錄的路徑,例如:"pages/index/index"表示根目錄下的pages
目錄中的index
頁(yè)面。 -
window:用于指定小程序窗口的樣式和配置選項(xiàng),例如navigationBarTitleText屬性指定導(dǎo)航欄標(biāo)題文字,navigationBarBackgroundColor屬性指定導(dǎo)航欄背景顏色,backgroundTextStyle屬性指定下拉動(dòng)畫(huà)的樣式等。
-
tabBar:用于指定小程序底部的選項(xiàng)卡欄,包括選項(xiàng)卡的圖標(biāo)、標(biāo)題、頁(yè)面路徑等。每個(gè)選項(xiàng)卡對(duì)應(yīng)一個(gè)頁(yè)面,用戶(hù)可以通過(guò)點(diǎn)擊選項(xiàng)卡切換頁(yè)面。
-
networkTimeout:用于指定小程序的網(wǎng)絡(luò)請(qǐng)求超時(shí)時(shí)間,單位為毫秒。
-
debug:用于指定小程序的調(diào)試模式,默認(rèn)為false,開(kāi)啟后會(huì)輸出更多的調(diào)試信息。
-
permission:用于指定小程序需要使用的系統(tǒng)權(quán)限,例如地理位置、攝像頭、麥克風(fēng)等。
以上只是常見(jiàn)的一些配置選項(xiàng),具體的配置選項(xiàng)可以參考微信小程序文檔。
總之,app.json是微信小程序開(kāi)發(fā)中重要的一部分,通過(guò)配置app.json文件,可以指定小程序全局屬性和頁(yè)面路徑等信息,從而實(shí)現(xiàn)小程序的全局配置。
project.config.json
project.config.json是微信小程序項(xiàng)目配置文件,它存儲(chǔ)了開(kāi)發(fā)者工具中的一些項(xiàng)目配置信息。這個(gè)文件通常位于小程序項(xiàng)目的根目錄下。
下面介紹一些常見(jiàn)的project.config.json配置選項(xiàng):
-
appid:用于指定小程序的 AppID,即小程序的唯一標(biāo)識(shí)。在創(chuàng)建小程序時(shí)會(huì)自動(dòng)生成一個(gè)唯一的 AppID。
-
projectname:用于指定小程序的項(xiàng)目名稱(chēng)。
-
description:用于指定小程序的描述信息。
-
compileType:用于指定小程序的編譯類(lèi)型,可以是"miniprogram"(小程序)或"plugin"(插件)。
-
setting:用于指定開(kāi)發(fā)者工具的一些設(shè)置選項(xiàng),如是否自動(dòng)打開(kāi)調(diào)試工具、是否生成壓縮包等。
-
packOptions:用于指定小程序打包的一些配置選項(xiàng),如是否生成 sourcemap 文件、是否對(duì)圖片進(jìn)行壓縮等。
-
minGameVersion:用于指定小游戲適配庫(kù)的最低版本號(hào)。
以上只是常見(jiàn)的一些配置選項(xiàng),實(shí)際上project.config.json還可以包含其他的配置選項(xiàng),具體可參考微信小程序文檔。
總之,project.config.json是微信小程序開(kāi)發(fā)中的項(xiàng)目配置文件,通過(guò)配置該文件可以設(shè)定小程序的一些基本信息和開(kāi)發(fā)工具的行為。
sitemap.json
sitemap.json文件是微信小程序的“小程序搜索”的配置文件,用于向微信服務(wù)器提交小程序的頁(yè)面路徑、頁(yè)面標(biāo)題、頁(yè)面參數(shù)等信息,以便微信可以將小程序的內(nèi)容展示在搜索結(jié)果中。
sitemap.json文件通常位于小程序項(xiàng)目根目錄下,其主要配置選項(xiàng)包括:
-
rules:用于指定小程序頁(yè)面的規(guī)則。每個(gè)規(guī)則包含一個(gè)name字段和一個(gè)page字段,其中name表示頁(yè)面名稱(chēng),page表示頁(yè)面路徑??梢允褂猛ㄅ浞?)指定多個(gè)頁(yè)面,例如"pages/"表示所有的頁(yè)面均符合該規(guī)則。
-
path:用于指定小程序的首頁(yè)路徑。
-
items:用于指定小程序的其他頁(yè)面路徑、標(biāo)題、參數(shù)等信息。
-
recursion:用于指定是否遞歸查找子頁(yè)面,默認(rèn)為false。
以上是sitemap.json文件的一些常見(jiàn)配置選項(xiàng),具體的配置方式可以參考微信小程序文檔。
通過(guò)配置sitemap.json文件,可以讓微信搜索能夠更好地展示小程序的內(nèi)容,并提高小程序的曝光度和流量。
在微信小程序中,每個(gè)頁(yè)面都需要對(duì)應(yīng)一個(gè).json
配置文件,該文件用于指定該頁(yè)面的一些配置選項(xiàng)和數(shù)據(jù)。
下面介紹一些常見(jiàn)的.json
配置選項(xiàng):
-
usingComponents:用于引用該頁(yè)面所需的自定義組件??梢允褂孟鄬?duì)路徑或絕對(duì)路徑指定組件所在的位置,例如:“usingComponents”:{“my-component”:"/components/my-component/my-component}"表示引用了一個(gè)名為"my-component"的自定義組件。
-
navigationBarTitleText:用于指定導(dǎo)航欄標(biāo)題文字。
-
navigationBarBackgroundColor:用于指定導(dǎo)航欄背景顏色。
-
backgroundTextStyle:用于指定下拉動(dòng)畫(huà)的樣式,包括dark(黑色)和light(白色)兩種。
-
backgroundColor:用于指定頁(yè)面背景顏色。
-
enablePullDownRefresh:用于指定是否開(kāi)啟下拉刷新功能,默認(rèn)值為false。
-
disableScroll:用于指定是否禁止頁(yè)面滾動(dòng),默認(rèn)值為false。
以上是一些常見(jiàn)的.json
配置選項(xiàng),具體的配置方式可以參考微信小程序文檔。
好的,下面給出一個(gè)具體例子,假設(shè)有個(gè)名為“index”的主頁(yè)頁(yè)面,那么它對(duì)應(yīng)的.json
配置文件可能如下所示:
{
"navigationBarTitleText": "首頁(yè)",
"navigationBarBackgroundColor": "#ffffff",
"usingComponents": {
"my-component": "/components/my-component/my-component"
},
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark",
"disableScroll": false
}
在上述示例中,.json
配置文件指定了以下一些屬性和配置選項(xiàng):
-
navigationBarTitleText
: 導(dǎo)航欄標(biāo)題文字為“首頁(yè)”; -
navigationBarBackgroundColor
: 導(dǎo)航欄背景色為白色(#ffffff)
; -
usingComponents
: 引用了一個(gè)名為my-component
的自定義組件,它位于/components/my-component/my-component
路徑下; -
enablePullDownRefresh
: 開(kāi)啟下拉刷新功能; -
backgroundTextStyle
: 下拉動(dòng)畫(huà)樣式為 dark(黑色); -
disableScroll
: 默認(rèn)不禁止頁(yè)面滾動(dòng)。
這是一個(gè)簡(jiǎn)單的示例,實(shí)際上,.json
文件還可以包含許多其他的配置選項(xiàng),具體的配置方式可以參考微信小程序文檔。
在JSON配置文件中修改項(xiàng)目首頁(yè),通常需要找到相應(yīng)的配置項(xiàng)并進(jìn)行修改。具體的步驟取決于你使用的項(xiàng)目和框架。以下是一個(gè)示例,展示了如何在JSON配置文件中修改項(xiàng)目首頁(yè):
假設(shè)你的項(xiàng)目使用了Vue.js框架,并且使用了Vue Router進(jìn)行路由管理。你可以按照以下步驟修改項(xiàng)目首頁(yè):
打開(kāi)項(xiàng)目中的router.json文件或者類(lèi)似的路由配置文件。
在JSON文件中找到routes數(shù)組,這個(gè)數(shù)組定義了項(xiàng)目的所有路由。
找到你想要修改的首頁(yè)路由,通常它的path為/。
修改該路由的component屬性,將其指向你新的首頁(yè)組件。例如,將原來(lái)的Home組件修改為NewHome組件。
json
{
“routes”: [
{
“path”: “/”,
“component”: “NewHome”
},
// 其他路由…
]
}
保存文件并重新啟動(dòng)項(xiàng)目,現(xiàn)在你的項(xiàng)目首頁(yè)應(yīng)該會(huì)展示新的組件內(nèi)容。
請(qǐng)注意,上述步驟只是一個(gè)示例,具體的操作取決于你使用的項(xiàng)目和框架。確保參考你項(xiàng)目和框架的文檔來(lái)獲取更準(zhǔn)確的修改方式。
WXML(WeiXin Markup Language)
WXML(WeiXin Markup Language)是一套標(biāo)簽語(yǔ)言,結(jié)合基礎(chǔ)組件、事件系統(tǒng),可以構(gòu)建出頁(yè)面的結(jié)構(gòu)。它類(lèi)似于網(wǎng)頁(yè)開(kāi)發(fā)中的HTML。在WXML文件中,開(kāi)發(fā)者可以在組件(微信小程序中將“標(biāo)簽”稱(chēng)為“組件”)上定義特定的事件。當(dāng)事件觸發(fā)時(shí),微信小程序就會(huì)執(zhí)行邏輯層中對(duì)應(yīng)的事件處理函數(shù),來(lái)完成頁(yè)面與用戶(hù)的通信。
除了標(biāo)簽和事件,WXML還提供了一些特殊的屬性,如wx:if
、wx:else
、wx:elif
,用于條件渲染;wx:for
用于列表渲染;wx:key
可以指定列表中項(xiàng)目的唯一的標(biāo)識(shí)符,這樣可以在數(shù)據(jù)改變時(shí),重新渲染指定的項(xiàng)目,而不是全量更新。
WXML與HTML的主要區(qū)別在于,WXML具有微信小程序的自定義組件和原生組件,比如<view>
、<text>
、<button>
等,這些都是微信小程序特有的。此外,WXML的事件處理也與HTML有所不同,它采用的是bindtap、bindinput等方式來(lái)綁定事件,而不是HTML的onclick、oninput等方式。
總的來(lái)說(shuō),WXML是一種專(zhuān)為微信小程序設(shè)計(jì)的標(biāo)記語(yǔ)言,它幫助開(kāi)發(fā)者定義了微信小程序的用戶(hù)界面和交互方式。
WXSS樣式
WXSS(WeiXin Style Sheets)是一套樣式語(yǔ)言,用于描述WXML的組件樣式,也就是用來(lái)決定WXML的組件應(yīng)該怎么顯示。
WXSS具有CSS的大部分特性,但是,WXSS新增了尺寸單位rpx,開(kāi)發(fā)者可以免去換算的煩惱,只要交給小程序底層來(lái)?yè)Q算即可。此外,WXSS僅支持部分CSS選擇器。
在WXSS中,可以選擇使用全局樣式或局部樣式。全局樣式會(huì)作用于當(dāng)前小程序的所有頁(yè)面,而局部頁(yè)面樣式僅對(duì)當(dāng)前頁(yè)面生效。
總的來(lái)說(shuō),WXSS是一種專(zhuān)為微信小程序設(shè)計(jì)的樣式語(yǔ)言,它幫助開(kāi)發(fā)者定義和控制微信小程序的用戶(hù)界面樣式。
WXSS與CSS的主要區(qū)別如下:
- 新增尺寸單位rpx:WXSS在CSS的基礎(chǔ)上新增了一個(gè)尺寸單位rpx,它可以根據(jù)屏幕寬度自動(dòng)進(jìn)行換算,使得開(kāi)發(fā)者在不同設(shè)備上無(wú)需進(jìn)行復(fù)雜的換算操作。
- 選擇器限制:WXSS僅支持部分CSS選擇器,例如,它不支持偽類(lèi)和偽元素選擇器。
- 樣式導(dǎo)入:WXSS不支持使用@import語(yǔ)句導(dǎo)入其他樣式文件,但可以使用@import導(dǎo)入微信小程序的自定義樣式庫(kù)。
- 樣式隔離:WXSS支持局部樣式,這意味著在一個(gè)頁(yè)面定義的樣式只會(huì)作用于當(dāng)前頁(yè)面,不會(huì)影響其他頁(yè)面。
- 樣式優(yōu)先級(jí):在WXSS中,樣式優(yōu)先級(jí)遵循CSS的優(yōu)先級(jí)規(guī)則,但增加了小程序自定義組件的樣式優(yōu)先級(jí)規(guī)則。
總的來(lái)說(shuō),WXSS是一種專(zhuān)為微信小程序設(shè)計(jì)的樣式語(yǔ)言,它具有CSS的大部分特性,但也存在一些限制和新增的特性,以適應(yīng)微信小程序的特殊需求。開(kāi)發(fā)者在使用WXSS時(shí)應(yīng)了解其特性與限制,以更好地控制微信小程序的界面樣式。
js邏輯交互
在微信小程序中,JavaScript(JS)主要負(fù)責(zé)處理用戶(hù)交互、數(shù)據(jù)管理和頁(yè)面跳轉(zhuǎn)等邏輯操作。以下是微信小程序中JS的一些主要功能:
- 頁(yè)面注冊(cè):每個(gè)小程序頁(yè)面都需要在JS文件中進(jìn)行注冊(cè),包括頁(yè)面的初始數(shù)據(jù)、生命周期函數(shù)、事件處理函數(shù)等。
- 數(shù)據(jù)綁定:JS可以通過(guò)WXML模板中的數(shù)據(jù)進(jìn)行數(shù)據(jù)綁定,實(shí)現(xiàn)動(dòng)態(tài)渲染頁(yè)面內(nèi)容。
- 事件處理:JS可以監(jiān)聽(tīng)并處理用戶(hù)交互事件,例如點(diǎn)擊按鈕、滑動(dòng)頁(yè)面等,通過(guò)事件處理函數(shù)來(lái)實(shí)現(xiàn)相應(yīng)的邏輯操作。
- 網(wǎng)絡(luò)請(qǐng)求:JS可以使用微信小程序提供的網(wǎng)絡(luò)請(qǐng)求API,向后端發(fā)送請(qǐng)求并獲取數(shù)據(jù),實(shí)現(xiàn)前后端交互。
- 本地存儲(chǔ):JS可以使用微信小程序提供的本地存儲(chǔ)API,將數(shù)據(jù)存儲(chǔ)在本地,實(shí)現(xiàn)數(shù)據(jù)的持久化。
- 頁(yè)面跳轉(zhuǎn):JS可以使用微信小程序提供的頁(yè)面跳轉(zhuǎn)API,實(shí)現(xiàn)頁(yè)面之間的跳轉(zhuǎn)和傳參。
- 位置信息獲取:JS可以使用微信小程序提供的位置信息獲取API,獲取用戶(hù)的位置信息,實(shí)現(xiàn)基于位置的服務(wù)。
- 設(shè)備信息獲取:JS可以使用微信小程序提供的設(shè)備信息獲取API,獲取用戶(hù)的設(shè)備信息,如型號(hào)、操作系統(tǒng)等,實(shí)現(xiàn)個(gè)性化推薦等服務(wù)。
總的來(lái)說(shuō),JS在微信小程序中扮演著非常重要的角色,它負(fù)責(zé)處理用戶(hù)交互、數(shù)據(jù)管理和頁(yè)面跳轉(zhuǎn)等邏輯操作,使得小程序能夠?qū)崿F(xiàn)復(fù)雜的功能和服務(wù)。開(kāi)發(fā)者需要熟練掌握J(rèn)S語(yǔ)言及其在微信小程序中的應(yīng)用,以開(kāi)發(fā)出高質(zhì)量的小程序應(yīng)用。
小程序的宿主環(huán)境
小程序的宿主環(huán)境是微信應(yīng)用程序。微信小程序是一種內(nèi)嵌在微信應(yīng)用中的小程序,因此它的宿主環(huán)境就是微信應(yīng)用本身。
微信小程序借助宿主環(huán)境微信提供的能力,可以完成微信支付、微信掃碼、微信登錄、地理定位等普通網(wǎng)頁(yè)無(wú)法完成的功能。無(wú)論手機(jī)的系統(tǒng)是Android還是iOS,微信小程序的宿主環(huán)境都是微信(Android版微信和iOS版微信)。
小程序宿主環(huán)境包含的內(nèi)容包括通信模型、運(yùn)行機(jī)制、組件和API四個(gè)方面。其中,通信的主體是小程序中的渲染層和邏輯層,它們之間的通信以及邏輯層和第三方服務(wù)器之間的通信都由微信客戶(hù)端進(jìn)行轉(zhuǎn)發(fā)。
此外,小程序宿主環(huán)境還提供了各種API和組件,供開(kāi)發(fā)者使用。通過(guò)這些API和組件,開(kāi)發(fā)者可以輕松地實(shí)現(xiàn)各種功能,如獲取用戶(hù)信息、支付、定位等。同時(shí),小程序宿主環(huán)境還提供了一套完整的運(yùn)行機(jī)制,包括小程序的啟動(dòng)、頁(yè)面渲染等過(guò)程,確保小程序的正常運(yùn)行。
總之,小程序的宿主環(huán)境是微信應(yīng)用,它為小程序提供了各種功能和API,使得小程序能夠?qū)崿F(xiàn)復(fù)雜的功能和服務(wù)。開(kāi)發(fā)者需要了解并熟練掌握小程序宿主環(huán)境的相關(guān)知識(shí)和技術(shù),以開(kāi)發(fā)出高質(zhì)量的小程序應(yīng)用。
https://www.bilibili.com/video/BV1WA411N75W/?spm_id_from=333.337.search-card.all.click&vd_source=3ef6540f8473c7367625a53b7b77fd66
小程序優(yōu)勢(shì):1、免安裝,使用方便;2、依托流量平臺(tái),打開(kāi)率高,易搜索,易發(fā)現(xiàn),易分享;3、開(kāi)發(fā)成本低。
開(kāi)發(fā)方法:
1、原生開(kāi)發(fā)——直接下載官方的開(kāi)發(fā)者工具,參照官方提供的文檔、視頻教程和語(yǔ)法。
優(yōu)點(diǎn):上手相對(duì)容易,開(kāi)發(fā)語(yǔ)法與api均能在文檔中查到;出問(wèn)題更容易定位和解決。
缺點(diǎn):代碼量大、組件少、語(yǔ)法不靈活、開(kāi)發(fā)效率很低,且不同小程序平臺(tái)語(yǔ)法不同。
2、框架開(kāi)發(fā)——各種界面庫(kù)與框架。
優(yōu)點(diǎn):使用代碼更少甚至是直接使用現(xiàn)成的代碼,采用前端編程語(yǔ)法和框架,提高了開(kāi)發(fā)效率與代碼的可維護(hù)性,使得代碼更簡(jiǎn)潔。
界面庫(kù)如如騰訊的weui、有贊的vantUI。直接按照文檔學(xué)習(xí)、引入文件,選擇自己需要的組件,搬運(yùn)代碼即可。
框架如騰訊的wepy、uniapp、美團(tuán)mpvue均可使用類(lèi)似前端vue開(kāi)發(fā)框架的語(yǔ)法。
而熟悉react的同學(xué),可嘗試阿里的remax,京東的taro。
缺點(diǎn):?jiǎn)栴}的排查成本高;框架有bug或無(wú)法支持的功能時(shí),就很被動(dòng)。
3、跨端開(kāi)發(fā)(最主流)——在多個(gè)平臺(tái)同步發(fā)布一個(gè)小程序??缍碎_(kāi)發(fā)框架使得寫(xiě)一套代碼即可自動(dòng)生成支持多個(gè)平臺(tái)的小程序和h5頁(yè)面。如uniapp(語(yǔ)法簡(jiǎn)單、組件庫(kù)和插件豐富、生態(tài)好,受新手與vue開(kāi)發(fā)者喜愛(ài))、remax、taro(受react開(kāi)發(fā)者喜愛(ài))和chameleon均支持,部分還支持條件編輯(針對(duì)不同平臺(tái)編寫(xiě)特殊邏輯)。
4、低代碼開(kāi)發(fā)——一個(gè)可視化頁(yè)面平臺(tái),通過(guò)拖拽組件、輸入配置來(lái)改變組件的樣式和行為,再自動(dòng)生成代碼。如騰訊的WeDa。
優(yōu)點(diǎn):幾乎無(wú)代碼,連cv都不用。
5、云開(kāi)發(fā)
優(yōu)點(diǎn):不用自己搭建后臺(tái),就能使用數(shù)據(jù)庫(kù)和操作數(shù)據(jù)庫(kù)的函數(shù)。即使只會(huì)前端,也能開(kāi)發(fā)一個(gè)完整的小程序。
小程序也是前端,也是開(kāi)發(fā)界面、交互以及一些數(shù)據(jù)請(qǐng)求的業(yè)務(wù)邏輯,只是語(yǔ)法略有區(qū)別。如微信小程序,基本語(yǔ)法和前端三件套HTML+JS+CSS相似。所以最后先學(xué)習(xí)前端web開(kāi)發(fā)的基礎(chǔ)知識(shí)。
最好先學(xué)習(xí)一個(gè)前端框架,如vue或者react。新手應(yīng)該先用原生開(kāi)發(fā)打基礎(chǔ),了解小程序的機(jī)制文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-712945.html
個(gè)人建議學(xué)習(xí)路線(xiàn)
1-前期肯定是前端三大件。
2-學(xué)點(diǎn)nodejs,主要是為后期學(xué)習(xí)vue。需要要node環(huán)境安裝腳手架vue-cli。
3-認(rèn)真學(xué)習(xí)vue,熟悉vue中基本的vuex、router、axios。
4-最好再學(xué)小程序,你會(huì)發(fā)現(xiàn)。小程序整體思路和vue差不多。然后跟著官方文檔敲一般就入門(mén)了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-712945.html
到了這里,關(guān)于小程序入門(mén)筆記(一) 黑馬程序員前端微信小程序開(kāi)發(fā)教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!