微信小程序發布后,公司雖然沒有拿到第一批內測資格,但作為微信親密合作伙伴,一定要第一時間去嘗試啦。現在微信小程序剛發布還在測試階段,可以說是1.0版本,所以框架和結構內容都還不多,相關的文檔跟微信API一樣都做得很好。
1)微信小程序到底是什么?跟H5,HTML5是不是一樣?
它可以把應用功能快速嵌入到微信公眾號中,用戶無需安裝應用就能訪問。相比現在的app開發和發布都容易很多。
微信小程序本質上就是Html5,或者說是一種優化過之后的Html5。不過在編碼方式跟HTML5還是有很多不同的地方,但是其內核還是大量使用HTML5的相關技術,有H5經驗的前端會更容易的掌握上手。
關於讓讓小程序在個完整支持HTML5標准的瀏覽器上運行起來,有興趣的同學具體可以參見讓你的微信小程序運行在Chrome瀏覽器上。
2)開發者入門學習
1.首先去下載安裝微信Web開發者工具,很貼心的支持Mac,並且教程的截圖都是Mac的哦~~
下載地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html
2.打開開發者工具后,(網絡慢的二維碼可能加載很久)掃二維碼后可以添加項目或導入項目,appid不會公眾號的,沒有內測邀請的可以不填,輸入項目名稱比如:HelloWorld,選擇項目保存地址的時候選擇一個新創建的空文件夾,如果勾選在當前目錄創建 quick start項目, 它就會幫我們創建一個簡易的小程序demo,方便我們學習理解
3.點擊開發者工具左側導航的“編輯”,我們可以看到這個項目,已經初始化並包含了一些簡單的代碼文件。在項目文件夾下看到了三個特別的文件app.js、app.json、app.wxss,其中,.js后綴的是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件。這三個文件是一個項目必不可少的文件,刪除任意一個文件項目都會運行不了。
app.js: 小程序運行主要邏輯及入口,里面使用App()函數來注冊一個小程序,普通頁面的js文件中可以通過 getApp()函數拿到App()函數所擁有的參數,並調用其中的數據。我們可以在這個文件中監聽並處理小程序的生命周期函數、聲明全局變量。調用框架提供的豐富的 API,如本例的同步存儲及同步讀取本地數據。想了解更多可用 API,可參考 API 文檔
app.json: 是小程序的全局配置文件。可以在這個文件中配置小程序是由哪些頁面組成,配置小程序的窗口背景色,配置導航條樣式,配置默認標題。注意該文件不可添加任何注釋。更多可配置項可參考配置詳解。每一個小程序加載的頁面,包括四個部分[js、json、wxml、wxss])都要在 pages數組中聲明后才能訪問, window對象中可以設置窗口的樣式顏色等。
app.wxss: 是一個公共的樣式文件,整個項目的每個頁面都可以調用,我們可以在頁面組件的 class 屬性上直接使用 app.wxss 中聲明的樣式規則,就如一個全局的css文件。
4.在左邊菜單欄中選擇“編輯”,可以查看我們這個項目的文件和結構,從文件結構中我們可以看到文件類型有4種:
.js : 這就是一個JavaScript文件,只不過它是微信基於javascript封裝過的,所以很多js函數是不能使用的,比如localhost.href,微信加入了很多自身的接口,比如跳轉頁面是: wx.navigationTo()函數。例如index.js 是頁面的腳本文件,在這個文件中我們可以監聽並處理頁面的生命周期函數、獲取小程序實例,聲明並處理數據,響應頁面交互事件等。
.json : 是頁面的配置文件,可以配置頁面頭部title信息等,頁面的配置文件是非必要的。當有頁面的配置文件時,配置項在該頁面會覆蓋 app.json 的 window 中相同的配置項。如果沒有指定的頁面配置文件,則在該頁面直接使用 app.json 中的默認配置。
.wxml : 視圖結構文件,功能就像html文件差不多,用於描述頁面結構,只不過它有自己獨特的標簽,不使用html標簽。微信對wxml的全稱定義也不是weixin xml,而是WeiXin MarkupLanguage,很霸氣的要自成體系感。自然wxss也是WeiXin Style Sheets,一樣的希望給人牛逼哄哄的感覺。
.wxss : 視圖樣式文件,格式跟css文件一樣,他在css的基礎上擴展了幾個特性 比如:尺寸單位 / 樣式導入
5: 項目運行過程:
第一步:加載項目根目錄下的 app.js、 app.json、 app.wxss文件,同時會執行app.js文件,並觸發其中的onLaunch 和 onShow 函數
第二步:加載app.json中pages數組中配置的第一個頁面,作為項目的歡迎頁,同時會執行對應頁面js文件,並觸發 onLoad / onReady 和 onShow 函數
往后:頁面可以通過事件與js文件交互,比如 在標簽元素上綁定點擊事件,並且指向js文件中的一個函數,就能用js中的邏輯去處理這個事件了
3)提出幾個問題
1.移動網站或WebApp能直接改造成小程序
其實,之所以會保留這個認識,主要是由於過去微信公眾號的二次開發經驗,很大程度上給到了我們很多人先入為主的觀念。
但通過我們上面所分析的第一個問題,可以知道微信小程序本質上就是Html5,但實際上卻是一種優化過之后的Html5,這也就意味着絕大多數的移動網站或WebApp直接改造成小程序的難度很大,因為里面有大量的內容需要重寫。小程序是相當於重新做了一個App,從開發、設計、測試、運維升級都是單獨的一套。哦,你還得加個學習成本和風險,如此新的東西一次搞利索的可能性還真不好說,畢竟小程序現在自己也還是在測試階段。
2.微信小程序能不能做H5小游戲
現階段看來不行,不過可以做一些輕量的推廣用得小游戲功能,一切還要看后面正式版的發布。
最后把微信官方的文檔放在這里
https://mp.weixin.qq.com/debug/wxadoc/dev/
各位看官也可以看看我們的作品案例 H5游戲開發案例
