使用TypeScript開發(fā)微信小程序的方法
TypeScript簡介:
TypeScript是一種由微軟開發(fā)的自由和開源的編程語言。它是JavaScript的一個(gè)超集,而且本質(zhì)上向這個(gè)語言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊獭0驳滤埂ず査共?,C#的首席架構(gòu)師,已工作于TypeScript的開發(fā)。
TypeScript擴(kuò)展了JavaScript的語法,所以任何現(xiàn)有的JavaScript程序可以不加改變的在TypeScript下工作。TypeScript是為大型應(yīng)用之開發(fā)而設(shè)計(jì),而編譯時(shí)它產(chǎn)生 JavaScript 以確保兼容性。
TypeScript 支持為已存在的 JavaScript 庫添加類型信息的頭文件,擴(kuò)展了它對于流行的庫如 jQuery,MongoDB,Node.js 和 D3.js 的好處。
微信小程序來了!這個(gè)號稱干掉傳統(tǒng)app的玩意兒雖然目前處于內(nèi)測階段,不過目前在應(yīng)用號的官方文檔里已經(jīng)放出了沒有內(nèi)測號也能使用的模擬器了。
工具和文檔可以參考官方文檔:https://mp.weixin.qq.com/debug/wxadoc/dev/?t=1477926804193
TypeScript:
TypeScript是C#之父Anders Hejlsberg的又一力作,相信喜歡C#語法的朋友們對TypeScript一定也會愛不釋手。
簡單的聊一聊TypeScript吧
TS是一個(gè)應(yīng)用程序級的JavaScript開發(fā)語言。
TS是JavaScript的超集,可以編譯成純JavaScript。
TS跨瀏覽器、跨操作系統(tǒng)、跨主機(jī),開源。
TS始于JS,終于JS。遵循JavaScript的語法和語義,方便了無數(shù)的JavaScript開發(fā)者。
TS可以重用現(xiàn)有的JavaScript代碼,調(diào)用流行的JavaScript庫。
TS可以編譯成簡潔、簡單的JavaScript代碼,在任意瀏覽器、Node.js或任何兼容ES3的環(huán)境上運(yùn)行。
TypeScript比JavaScript更具開發(fā)效率,包括:靜態(tài)類型檢查、基于符號的導(dǎo)航、語句自動完成、代碼重構(gòu)等。
TS提供了類、模塊和接口,更易于構(gòu)建組件。
順便說一句,TypeScript雖然只關(guān)心生成JavaScript之前的這些內(nèi)容(意味著不關(guān)心生成出的JS代碼的運(yùn)行效率),但是根據(jù)鄙人的觀察和比較,TypeScript所生成的JavaScript代碼比絕大部分的前臺開發(fā)自己寫的JavaScript的代碼質(zhì)量高至少一個(gè)數(shù)量級??!
TypeScript另一個(gè)優(yōu)點(diǎn):
TypeScript在各大主流的IDE和編輯器里有智能提示!
重要的事情要說三遍!寫TypeScript有智能提示!寫TypeScript有智能提示!寫TypeScript有智能提示!
用TypeScript開發(fā)微信小程序
扯了半天TypeScript,那么究竟怎么用TypeScript開發(fā)微信小程序呢?
非常簡單,和微信官方的JavaScript開發(fā)方式?jīng)]有太大區(qū)別,依舊是4個(gè)核心文件
App: 代碼整個(gè)應(yīng)用程序的抽象對象,可以設(shè)置全局的方法和變量
Page: 頁面抽象對象,承載頁面業(yè)務(wù)邏輯
WXML: 頁面的結(jié)構(gòu),相當(dāng)于html
JSON: 配置文件
WXSS: 頁面的樣式,相當(dāng)于css
由于目前騰訊沒有小程序的TypeScript版本的API,所以O(shè)neCode team針對目前騰訊放出的所有的小程序JavaScript API開發(fā)了一個(gè)TypeScript版本的API類型定義文件 wxAPI.d.ts
只需要在您的程序中引用該文件,如果是使用Visual Studio來開發(fā)的話,就能有代碼提示了。
下面是用TypeScript開發(fā)的Demo App的代碼示例:
/// <reference path="./wxAPI.d.ts"/>
App({
onLaunch: function() {
//調(diào)用API從本地緩存中獲取數(shù)據(jù)
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 {
//調(diào)用登錄接口
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 上面下載完整的代碼樣例以及非常關(guān)鍵的微信小程序TypeScript API定義文件!
更多腳本樣例, 訪問微軟One Code樣例庫:http://aka.ms/onescriptsamples 更多代碼樣例, 訪問微軟One Script樣例庫:http://aka.ms/onecodesamples
以上所述是小編給大家介紹的使用TypeScript開發(fā)微信小程序的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時(shí)回復(fù)大家的!
上一篇:使用C#語言實(shí)現(xiàn)的查詢條件界面展開和收起功能
欄 目:C#教程
下一篇:C#中如何在Excel工作表創(chuàng)建混合型圖表實(shí)例
本文標(biāo)題:使用TypeScript開發(fā)微信小程序的方法
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6180.html
您可能感興趣的文章
- 01-10C#使用Dispose模式實(shí)現(xiàn)手動對資源的釋放
- 01-10C#3.0使用EventLog類寫Windows事件日志的方法
- 01-10C#使用windows服務(wù)開啟應(yīng)用程序的方法
- 01-10c# ArrayList的使用方法小總結(jié)
- 01-10C#使用ADO.Net部件來訪問Access數(shù)據(jù)庫的方法
- 01-10C#使用Mutex簡單實(shí)現(xiàn)程序單實(shí)例運(yùn)行的方法
- 01-10使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能
- 01-10C#調(diào)用WebService實(shí)例開發(fā)
- 01-10實(shí)現(xiàn)ASP.NET無刷新下載并提示下載完成的開發(fā)思路
- 01-10C#中yield用法使用說明


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子


