最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用微信小程序開發(fā)前端【快速入門】

 更新時間:2016年12月05日 09:23:32   作者:勞卜  
本文從代碼角度和宏觀角度簡單闡述了微信小程序在前端領(lǐng)域的一些內(nèi)容和影響,希望能夠幫助那些不了解微信小程序的開發(fā)者很快入門并認識這一新的技術(shù)領(lǐng)域。

前言

2016年9月22日凌晨,微信官方通過“微信公開課”公眾號發(fā)布了關(guān)于微信小程序(微信應用號)的內(nèi)測通知。整個朋友圈瞬間便像炸開了鍋似的,各種揣測、介紹性文章在一夜里誕生。而真正收到內(nèi)測邀請的公眾號據(jù)說只有200個。

雖然內(nèi)測名額十分稀少,但依賴中國廣大開發(fā)者的破解和分享精神,在網(wǎng)絡上很快出現(xiàn)了開發(fā)工具的破解版本和API文檔。然而可能是微信的妥協(xié)或者早已預料,9月24日微信官方發(fā)布了不需要破解就可以使用的微信小程序開發(fā)者工具和文檔,對于費勁心思破解完的開發(fā)者來說應該瞬間整個人都不好了。

以下便是微信提供的開發(fā)工具和文檔地址:
https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1474644087418

作為一名具有極客精神的前端開發(fā)者,我也馬上在這股熱潮中試了下水,下載了小程序開發(fā)工具。下面是登陸后的界面:

從整個結(jié)構(gòu)布局來看這款I(lǐng)DE工具可以分為三個部分,首先左側(cè)為導航操作區(qū)域,中間是目錄或展示區(qū)域,右側(cè)為調(diào)試區(qū)域(很像Chrome的調(diào)試工具)。下面我就以前端的角度分別從代碼角度和宏觀角度介紹下自己對于微信小程序的看法。

代碼角度

縱觀整個開發(fā)文檔,微信小程序的前端技術(shù)主要可以分為“框架”、“組件”和“API接口”。

1.框架

微信提供了一套自己的用于開發(fā)小程序的前端框架,和目前主流的前端框架相比,其既有類似的地方,也有特殊的地方。

特殊的地方在于其只能在微信小程序開發(fā)工具內(nèi)使用,并做了相對嚴格的使用和配置限制,開發(fā)者必須按照其規(guī)定的用法來使用。一些外部的框架和插件在小程序里都是無法使用的,同時由于框架并非運行在瀏覽器中,所以 JavaScript 在 web 中一些能力都無法使用,如document,window等。

而相似的地方在于其包含了和其他框架一樣的“邏輯層”和“視圖層”,以數(shù)據(jù)驅(qū)動為主,不操作DOM元素等。下面以代碼為例子來介紹:

(1)數(shù)據(jù)綁定

<!--wxml-->
<view> {{message}} </view>
// page.js
Page({
 data: {
 message: 'Hello MINA!'
 }
})

Page() 方法用來注冊一個頁面。接受一個 OBJECT 參數(shù),其指定頁面的初始數(shù)據(jù)、生命周期函數(shù)、事件處理函數(shù)等。這乍一看怎么和目前流行的Vue框架語法十分類似呢,Vue代碼如下:

<view> {{message}} </view>
// page.js
new Vue({
 data: {
 message: 'Hello MINA!'
 }
})

都是雙括號插值語法,連數(shù)據(jù)初始化和雙向綁定的格式都一樣,好吧,就當純屬巧合吧。

這里需要注意的是,微信小程序提供了WXML后綴的文件類型,其實就是類似XML的標簽語言文件。

(2)列表渲染

<!--wxml-->
<view wx:for="{{array}}"> {{item}} </view>
// page.js
Page({
 data: {
 array: [1, 2, 3, 4, 5]
 }
})

這樣的列表渲染語法相信學過Angular和Vue的同學都比較容易掌握,都是非常的類似,當然還有條件渲染等。

(3)事件綁定

<view bindtap="add"> {{count}} </view>

Page({
 data: {
 count: 1
 },
 add: function(e) {
 this.setData({
 data: this.data.count + 1
 })
 }
})

 

如果你學過React,那么其里面有一個setState的方法可以用來改變狀態(tài)的值,這里的setDate也是一樣的,通過綁定的add方法來改變視圖中count的值。

(4)樣式導入

/** common.wxss **/
.small-p {
 padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
 padding:15px;
}

這里小程序提供了又一種新的文件后綴類型WXSS,用于描述WXML的組件樣式,其與CSS文件相比還提供了像SASS和LESS這樣的預編譯語言的樣式導入功能,同時還提供了rpx及rem的單位尺寸功能。

(5)模塊化

// common.js
function sayHello(name) {
 console.log('Hello ' + name + '!')
}
module.exports = {
 sayHello: sayHello
}
var common = require('common.js')
Page({
 helloMINA: function() {
 common.sayHello('MINA')
 }
})

微信小程序秉承了JS模塊化的機制,熟悉Require.js或者Sea.js的同學應該很熟悉,這里通過module.exports暴露對象,通過require來獲取對象。

2.組件

小程序的組件其實也是框架的一部分,主要負責UI的呈現(xiàn),也自帶了一些功能與微信風格的樣式?;旧弦苿佣顺S玫慕M件都包含在內(nèi),比如表單組件、導航組件、媒體組件等。下面便是小程序提供的八類組件:

對于小程序的組件使用其實不是非常復雜,按照文檔的使用示例便可以輕松搞定,詳細地址:https://mp.weixin.qq.com/debug/wxadoc/dev/component/?t=1474644085698

3.API接口

相比微信公眾號的開發(fā),微信小程序向開發(fā)者提供了更多的API接口,可以方便的調(diào)起微信提供的能力,比如監(jiān)聽重力感應和羅盤數(shù)據(jù)、WebSocket連接、支付功能等。下面以一個發(fā)起網(wǎng)絡請求的API為例:

wx.request({
 url: 'test.php',
 data: {
 name: 'luozh' ,
 age: 18
 },
 header: {
 'Content-Type': 'application/json'
 },
 success: function(res) {
 console.log("請求成功")
 },
 fail: function() {
 console.log("請求失敗")
 }
})

wx.request發(fā)起的是https請求。一個微信小程序,同時只能有5個網(wǎng)絡請求連接。關(guān)于更多API接口的介紹請查閱官方文檔。

以上便是關(guān)于微信小程序前端代碼部分的簡單介紹,相信有一點前端框架使用經(jīng)驗的同學上手都是相對容易的,下面將從宏觀角度講解下我個人認為微信小程序給前端領(lǐng)域的帶來影響。

宏觀角度

微信小程序一出來的時候,網(wǎng)上關(guān)于其對于前端界的影響層出不窮,更多的文章和評論認為前端又要火了,前端的第二春來了,Javascript和HTML5的新時代來了等。

當然微信小程序的出現(xiàn)確實會給前端帶來一定的推波助瀾的效果,但是任何一件事物的誕生都是利弊并存的,微信小程序也不例外。以下便簡單闡述下我個人的看法:

1.利

(1)提高開發(fā)兼容性:微信小程序可以說是重新定義了APP,使得一款應用能夠在android、iphone及windows phone中都能運行,對于前端來說實現(xiàn)了“一次編譯,到處運行”的理念。

(2)推動前端技術(shù)的發(fā)展:微信小程序以其簡單的開發(fā)環(huán)境,使以Javascript和HTML5為主的前端技術(shù)在龐大的微信社交群體內(nèi)傳播,越來越多的人開始接觸前端,參與到前端編碼和設計中來,為前端技術(shù)貢獻力量。

(3)其他...

2.弊

(1)增加前端工作量及學習成本:原本一名前端工程師負責的平臺就很廣泛,包括PC端、移動端、APP應用等,微信小程序的出現(xiàn)會要求前端涉及微信應用的開發(fā),一定程度增加了學習和工作成本。同時企業(yè)也會增加這方面的開發(fā)和投入成本。

(2)前端競爭日趨明顯:微信小程序的誕生可能又會吸引一批后臺、APP開發(fā)等其他領(lǐng)域的人員轉(zhuǎn)向前端開發(fā),而這些本來就具備較強邏輯思維或者較強感性思維的人將擠掉那些處于前端邊緣的新手,可能使得大部分低水平前端開發(fā)者面臨失業(yè)或者找不到工作的危險。

(3)其他...

這里大概介紹了幾點微信小程序給前端帶來的影響,更多的大家可以補充。

總結(jié)

本文從代碼角度和宏觀角度簡單闡述了微信小程序在前端領(lǐng)域的一些內(nèi)容和影響,希望能夠幫助那些不了解微信小程序的開發(fā)者很快入門并認識這一新的技術(shù)領(lǐng)域。

至于小程序?qū)τ谇岸说挠绊?,反過來我們也可以這樣認為:

技術(shù)的發(fā)展不是基于一個平臺去改變,而是通過技術(shù)去驅(qū)動一個平臺改變,正是因為前端的發(fā)展才催生了“小程序”的這種可能性…

以上就是本文的全部內(nèi)容,希望對大家有所幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • javascript閉包的理解

    javascript閉包的理解

    這篇文章主要介紹了js閉包的相關(guān)知識,閉包是Javascript的一個難點,但也是一個很重要的知識點,需要的朋友可以參考下
    2015-04-04
  • 淺談頁面裝載js及性能分析方法

    淺談頁面裝載js及性能分析方法

    這篇文章主要簡單介紹了頁面裝載js及性能分析方法的相關(guān)資料,需要的朋友可以參考下
    2014-12-12
  • js校驗表單后提交表單的三種方法總結(jié)

    js校驗表單后提交表單的三種方法總結(jié)

    本篇文章主要是對js校驗表單后提交表單的三種方法進行了總結(jié)介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • 基于el-slider實現(xiàn)一個能拖動的時間范圍選擇器

    基于el-slider實現(xiàn)一個能拖動的時間范圍選擇器

    這篇文章主要介紹了基于el-slider實現(xiàn)一個能拖動的時間范圍選擇器,并通過實例代碼介紹了基于element-ui el-slider實現(xiàn)滑動限位器的方法,需要的朋友可以參考下
    2024-02-02
  • ECMAscrip新特性函數(shù)介紹

    ECMAscrip新特性函數(shù)介紹

    這篇文章主要介紹了ECMAscrip新特性之函數(shù)的擴展,在ECMAScript?2015中,允許為函數(shù)的參數(shù)添加默認值,將默認值直接寫在參數(shù)的后面即可,具體情況參考下面文章的詳細內(nèi)容
    2021-12-12
  • 關(guān)于layui 下拉列表的change事件詳解

    關(guān)于layui 下拉列表的change事件詳解

    今天小編就為大家分享一篇關(guān)于layui 下拉列表的change事件詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • Js操作DOM元素及獲取瀏覽器高寬的簡單方法

    Js操作DOM元素及獲取瀏覽器高寬的簡單方法

    下面小編就為大家?guī)硪黄狫s操作DOM元素及獲取瀏覽器高寬的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Javascript 陷阱 window全局對象

    Javascript 陷阱 window全局對象

    ff和ie6下都是同樣的運行結(jié)果,看來不是bug,那究竟是為什么呢? 注意到:對象方法訪問其對象的屬性時|必須|加以this.(和java不一樣).
    2008-11-11
  • ES6中Class類的靜態(tài)方法實例小結(jié)

    ES6中Class類的靜態(tài)方法實例小結(jié)

    這篇文章主要介紹了ES6中Class類的靜態(tài)方法,結(jié)合實例形式簡單總結(jié)分析了ES6中class類中靜態(tài)方法的使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-10-10
  • javascript 簡練的幾個函數(shù)

    javascript 簡練的幾個函數(shù)

    看CSDN上別人的代碼,感覺比較精煉,拿來主義,需要的朋友可以看下。
    2009-08-08

最新評論

宁晋县| 噶尔县| 来凤县| 平罗县| 威远县| 大关县| 维西| 宝鸡市| 泸西县| 武夷山市| 南投县| 宁南县| 扶绥县| 临清市| 汉川市| 阿克陶县| 义乌市| 方正县| 池州市| 徐汇区| 梅河口市| 曲阜市| 铜鼓县| 团风县| 东城区| 张家口市| 石河子市| 瓦房店市| 乡宁县| 南和县| 绥江县| 宽甸| 乡城县| 平舆县| 府谷县| 旬阳县| 台中县| 九江县| 卓尼县| 慈溪市| 辽中县|