微信小程序來了!這個號稱幹掉傳統app的玩意兒雖然目前處於內測階段,不過目前在應用號的官方文檔裏已經放出了沒有內測號也能使用的模擬器了。css
工具和文檔能夠參考官方文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1477926804193html
TypeScript:typescript
TypeScript是C#之父Anders Hejlsberg的又一力做,相信喜歡C#語法的朋友們對TypeScript必定也會愛不釋手。小程序
簡單的聊一聊TypeScript吧微信小程序
順便說一句,TypeScript雖然只關心生成JavaScript以前的這些內容(意味着不關心生成出的JS代碼的運行效率),可是根據鄙人的觀察和比較,TypeScript所生成的JavaScript代碼比絕大部分的前臺開發本身寫的JavaScript的代碼質量高至少一個數量級!!瀏覽器
TypeScript另外一個優勢:緩存
TypeScript在各大主流的IDE和編輯器裏有智能提示!微信
重要的事情要說三遍!寫TypeScript有智能提示!寫TypeScript有智能提示!寫TypeScript有智能提示!app
用TypeScript開發微信小程序編輯器
扯了半天TypeScript,那麼究竟怎麼用TypeScript開發微信小程序呢?
很是簡單,和微信官方的JavaScript開發方式沒有太大區別,依舊是4個核心文件
因爲目前騰訊沒有小程序的TypeScript版本的API,因此OneCode team針對目前騰訊放出的全部的小程序JavaScript API開發了一個TypeScript版本的API類型定義文件 wxAPI.d.ts
只須要在您的程序中引用該文件,若是是使用Visual Studio來開發的話,就能有代碼提示了。
下面是用TypeScript開發的Demo App的代碼示例:
/// <reference path="./wxAPI.d.ts"/>
App({
onLaunch: function() { //調用API從本地緩存中獲取數據 let logs: any = wx.getStorageSync('logs'); if (!Array.isArray(logs)) { logs = []; } (<any[]>logs).unshift(Date.now()); wx.setStorageSync('logs', logs); }, getUserInfo: function(cb: (param: any) => void) { let that = this if (this.globalData.userInfo) { cb(this.globalData.userInfo) } else { //調用登陸接口 wx.login({ success: () => { wx.getUserInfo({ success: (res) => { that.globalData.userInfo = res.userInfo; cb(that.globalData.userInfo); } }); } }); } }, globalData: { userInfo: null } });
感興趣的朋友,能夠去 https://code.msdn.microsoft.com/How-to-develop-WeChat-1105555e 上面下載完整的代碼樣例以及很是關鍵的微信小程序TypeScript API定義文件!