微信小程序開發體驗

最近公司準備將產品部分功能遷移到微信小程序,爲此從微信小程序官網教程學習了小程序開發,用了一個下午的時間開發了一個簡單的體質指數計算器的小程序,這裏聊聊小程序的開發體驗。本博文不會注重講解開發的技術過程。html

一、開發工具vue

微信爲了幫助開發者簡單和高效地開發微信小程序,開發了微信web開發工具,下載地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.htmlreact

開發工具裏面有編輯功能,也有調試功能,簡單來講,就是集合了sublime這種富文本編輯器 + 自帶調試功能和運行環境的類chrome。編輯功能經過有代碼自動提示和一些簡單的快捷鍵,調試功能有界面的展現,UI調試以及邏輯代碼的端點調試,只要熟悉web調試功能的開發者,能夠作到立刻上手,無縫對接。git

二、一鍵式框架搭建github

經過添加項目操做,開發工具會自動化生成整個小程序的開發目錄結構,後續的開發只要按照對應的目錄結構擴展以及修改就OK了。用戶無需本身組織整個程序的目錄結構,多人協做也能夠按照這種約定俗成的目錄結構進行開發,規範了開發流程。web

| img  --圖片文件chrome

| page  -- 頁面文件json

| |index  -- 單個頁面文件小程序

| | |index.js  -- index頁面js微信小程序

| | |index.json -- index頁面配置

| | |index.wxml -- index頁面結構

| | |index.wxss -- index頁面樣式

|app.js  --小程序入口

|app.json --小程序總體配置

|app.wxss --小程序總體樣式

 

這些都是小程序的基本文件,頁面會將頁面文件夾路徑做爲頁面標誌,程序或默認的讀取頁面路徑下的wxml文件做爲結構,解析wxssjs文件,以及讀取文件夾下面的json配置文件。一個基本的頁面都是要按照這些規則去添加的。

三、配置式的界面展現

小程序裏面每一部分都有一個json文件,這個json文件不是一個數據文件,而是一個配置文件。這個配置文件既能夠配置程序的展現,好比菜單欄,整個顏色佈局,頭部的bar等,也能夠配置窗口的狀態,好比是否容許下拉,還能夠配置一些網絡狀態,好比規定超時時間。

好比咱們簡單配app.json

"tabBar": {

    "selectedColor": "#ff0000",

    "list": [{

      "pagePath": "pages/recommend/recommend",

      "text": "讀創首創",

      "iconPath": "img/icon_tab_shouye_normal@3x.png",

      "selectedIconPath": "img/icon_tab_shouye_pressed@3x.png"

    },

    {

      "pagePath": "pages/video/video",

      "text": "原創視頻",

      "iconPath": "img/icon_tab_shipin_normal@3x.png",

      "selectedIconPath": "img/icon_tab_shipin_pressed@3x.png"

    }

    ]

  }

屬性

 

底部的bar條直接就能展現,不用咱們代碼實現。從我的的理解來講,小程序經過配置來實現一些經過的界面,有利於微信控制小程序的總體風格。

四、自定義的組件

小程序自定義了組件標籤,HTML的大部分標籤在小程序中沒法使用,它有本身的一套標籤系統,基本用法跟HTML標籤差很少,但對比HTML標籤,他在標籤內爲開發者內部實現的功能更強,標籤在實現上也針對了移動端的一些經常使用操做設置。好比實現了

scrollview,用於滾動視圖

Swiper,用於輪播

這些組件的實現,大大提升了咱們的開發效率。

另一點,小程序不像vuereact等如今框架,容許開發者自定義組件,開發者不可以自定義組件標籤。

五、響應的數據綁定

幾乎如今流行的框架都採用了數據驅動視圖的方式,小程序的實現也不例外。整個系統分爲兩塊,視圖層(view)和邏輯層(APP Service)。框架可讓數據和視圖很是簡單地保持同步。當數據修改的時候,只須要在邏輯層修改數據,視圖層就會作相應的更新。

小程序更新數據的時候須要手動的調用更新數據的函數setData,這個與vue有比較大的區別。Vue會在內部對數據進行監控,當數據檢測到發生變化的時候自動更新。

另外小程序對數據沒有實現雙向綁定,因此在一些表單數據操做的時候會比較麻煩,須要監控表單輸入的數據,及時更新綁定數據。

六、自適應的尺寸單位rpx

小程序定義了一套WXSSWeiXin Style Sheets)樣式語言,其實說白了,就是CSS樣式語言。大部分CSS特性WXSS都有。比較大的區別就是擴展了尺寸單位rpxresponsive pixel,

能夠根據屏幕寬度進行自適應,規定屏幕寬度爲750rpx。這種方式有效解決了自適應的問題。

七、脫離DOMBOM對象

雖然咱們的開發環境有點像瀏覽器,可是小程序運行的容器並非瀏覽器,微信在小程序的實現上不是簡單的將微信套上一個瀏覽器那麼簡單。既然不是瀏覽器,也就沒有咱們在web開發中經常使用的DOM對象和BOM對象。

八、豐富的API

雖然不能用DOM對象和BOM對象,可是微信仍是提供了不少的API接口,包括網絡請求,媒體操做,文件操做,緩存控制,以及微信開放的一些功能。調用起來很方便。

 

總的來講,小程序開發沿用了傳統的web開發,WXML負責結構-WXSS負責樣式-js負責邏輯。只要熟悉web開發的開發者,上手沒有任何難度。

最後附上用了半天時間試驗小程序開發的體質計算器源碼,有想了解的話能夠點擊查看>

相關文章
相關標籤/搜索