微信小游戏架构概览

JavaScript019

微信小游戏架构概览,第1张

上一篇 文章我介绍了微信6.6.1版本新增的小游戏功能后,这篇文章趁热打铁,介绍一下小游戏的架构。

这篇文章给了三张图,分别从不同的粒度来介绍。

首先是图一:

对于一个独立的小游戏项目来说,其本身只需要两个基本文件:

game.js是项目的入口文件,在编译的时候,编译器会生成相应的 gamePage.html 文件,我们从源码可以看到其会引用 require("game.js") 。同时,在 game.js 中引用的js文件也会在 gamePage.html 中被显式地包含:

小游戏的发布再次表明腾讯是国内最大的游戏公司,也是实力最强劲的游戏公司之一。微信作为一个最重要的流量入口,这次小游戏的发布再次证明其在腾讯战略地位之重要。从技术上来说,小游戏API基本来源于之前开发的小程序的API,小游戏是小程序的一个子类别,不是一个新事物,其核心还是其内部的 类浏览器内核 ,而多任务的支持才是这次的重头戏。最后附上微信V6.6.1的官方宣传语: 玩一个小游戏才是正经事

祝大家玩得开心,生活愉快。

下面是最近了解的,开发者使用较多的框架:

1. WePY

WePY属腾讯系,是一款组件化的开发框架,比原生小程序的开发模式更接近于MVVM ,它类Vue的开发风格,让Vue开发者很容易上手。

Github地址: https://github.com/Tencent/wepy

官网地址:https://tencent.github.io/wepy

2. mpvue

mpvue 是美团点评开源的一个使用Vue.js开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。

Github:https://github.com/Meituan-Dianping/mpvue

官网:http://mpvue.com/

方法一:rpn.js:使用rpn.js实现eval函数功能

操作链接:网页链接

方法二:

(1)使用Underscore.js:操作链接:网页链接

(2)使用Immutable.js:操作链接:网页链接

(3)使用UUID、Base64、Chance:操作链接:网页链接

扩展微信小程序框架功能(1)——Promise

ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.112200)后, 移除了开发者工具对 ES6 中Promise 特性原生的支持, 需要引入第三方的 Promise 库。

扩展微信小程序框架功能(2)——Generator

Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。

扩展微信小程序框架功能(3)——函数功能增强

Underscore.js 和 Lodash 是最常用的JavaScript库。

扩展微信小程序框架功能(4)——Immutable.js

Immutable.js 是 Facebook 开发的不可变数据集合。Immutable

Data(不可变数据)一旦创建就不能被修改。通过使用Immutable

Data,可以更容易的处理缓存、回退、数据变化检测等问题,应用开发更简单。

扩展微信小程序框架功能(5)——Redux

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。

扩展微信小程序框架功能(6)—日期时间

Moment.js是一个JavaScript的日期、时间处理工具类,其对于JavaScript的日期时间处理功能非常强悍和全面。可以用在浏览器环境中使用,也可以在Node.js中。

扩展微信小程序框架功能(7)——正则表达式

XRegExp 是一个开源的 JavaScript库,提供一个参数化、可扩展的支持各种浏览器的正则表达式的实现库,支持附加语法、标志以及方法。

扩展微信小程序框架功能(8)——Xml处理

x2js是一个 实现 XML 与 JavaScript 对象之间相互转换的工具库。

扩展微信小程序框架功能(9)——加解密

node-uuid可以快速地生成符合规范 的 UUID。js-base64可以实现Base64编码和解码。crypto-js可以非常方便地在 JavaScript 进行加解密。

扩展微信小程序框架功能(10)——测试辅助

Chance是一个 JavaScript 随机数生成工具。Mock.js可以生成随机数据,拦截 Ajax 请求。

方法三:moment

操作链接:网页链接