一起脫去小程序的外套和內(nèi)衣 - 微信小程序架構(gòu)解析
微信小程序的公測掀起了學(xué)習(xí)小程序開發(fā)的浪潮,天生跨平臺,即用即走、媲美原生體驗、完善的文檔、高效的開發(fā)框架,小程序給開發(fā)者帶來了很多驚喜。通過這篇文章和大家一起分析小程序的架構(gòu),分享開發(fā)經(jīng)驗。
一、微信小程序運行環(huán)境
1、完全封閉的環(huán)境不等于瀏覽器環(huán)境
2、WXML/WXSS/JS 格式
3、WXML 不等于 HTML
4、WXSS 不等于 CSS3
5、JS:支持 ES6,ES5,不支持 DOM(window,document,event,etc...)
6、不支持 WEBGL,包含部分 Canvas API
7、封閉的發(fā)布渠道:程序需通過官方 IDE 提交審核
8、騰訊完全控制客戶端底層的內(nèi)部實現(xiàn)
二、微信小程序 Canvas 游戲限制分析
1、不支持 Affine Transform 矩陣設(shè)置
2、不支持 globalAlpha(忘記淡入淡出)
3、不支持貼圖變色(無法創(chuàng)建緩存 Canvas 對象)
4、不支持圖集(無法創(chuàng)建 Image 對象)
5、不支持 BMFont 字體
6、不支持剪裁(忘記 ScrollView)
7、不支持 WebGL,所以不支持任何高級特效
8、嚴格的模塊化,不支持全局變量注入,只支持 global 下注入
9、不支持項目內(nèi)文件加載
10、不支持多點觸摸
11、不支持文字排版:換行,居中等
12、不支持九宮格、重復(fù)填充、網(wǎng)格等渲染模式
13、不支持 skew
14、不支持混合模式
*15、支持 Creator 組件:Label,Sprite,Button,Widget,Layout,Animation,其他都不支持