专栏首页Creator星球游戏开发社区JS基础 | JavaScript 极简史

JS基础 | JavaScript 极简史

0. 前言

Cocos Creator 游戏引擎可使用 JavaScript、TypeScript 编程语言为游戏提供组件脚本代码,开发出的游戏可运行在电脑浏览器移动浏览器桌面应用移动APP微信等众多平台之上。

Shawn 计划从零开始,以 JavaScript 编程语言为起点,面向青少年学生或对游戏开发感兴趣零基础的人群,分享 Cocos Creator 游戏开发技术(不仅限于 Cocos Creator)。

JavaScript 极简史

1997年7月,ECMA(欧洲计算机制造商协会)组织发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript。

ECMAScript 是用来标准化 JavaScript 这种语言的基本语法结构,而 Web(网页) 开发中的 DOM 标准就是由W3C组织制定的。

Shawn 这里简单将 JavaScript 的历史简单分成三关键节点,帮助大家了解游戏开发方面学习 JavaScript 语言的侧重点。

1. Web崛起—ECMAScript 3.0

ECMAScript 3.0 成为 JavaScript 的通行标准,主要应用于基于浏览器的 Web 开发,完整的 JavaScript 技术包含三大部分:

  • ECMAScript 语法
  • DOM 文档对象模型
  • BOM 浏览器对象模型

对于 Cocos Creator 游戏内容的开发,我们要主要关注的是 ECMAScript 语法,其它部分我们以后再做介绍。

2. Nodejs 服务端编程—ECMAScript 5.0

2009年,JavaScript 进入 ECMAScript 5.0,同时 Node.js 项目诞生,标志着 JavaScript 开始应用于服务器端编程,从此网站的前端和后端可以使用同一种语言开发。

Node.js 作为 JavaScript 服务端开发平台,它不提供DOM、BOM取面代之的是文件操作、网络编程、Web服务等核心模块,让 JavaScript 成为与 PHP、Python、Ruby 等服务端语言平起平坐的脚本语言。

3. HTML5 跨平台游戏与应用—ECMAScript 6.0

随着 HTML5 技术的不断发展,将 OpenGL 与 JavaScript 绑定,可以为 HTML5 浏览器提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,此时大量的 H5 游戏引擎如雨后春笋,Cocos2D 引擎就是其中的佼佼者之一。

2015年6月 ECMAScript 正式发布,为 JavaScript 语言增加了许多必要的特性,例如:模块和类,使得 JavaScript 越发规范,为驾驭大型的项目打下基础。

JavaScript 运行环境的变化以及语言规范的升级,催生出浏览器 + Node.js 的跨平台解决框架,其中以 Electron 最为流行,Cocos Creator 游戏引擎编辑器部分就是使用 Electron 开发。

4. 小结

跨平台、3D渲染、前后端一体、基于Nodejs丰富的三方库,使得 JavaScript 成为开发 H5 游戏与应用的首选编程语言,ECMAScript 规范不断地在升级迭代为 JavaScript 带来无限可能,学习 JavaScript 从游戏编程出发,相信您会体验到编程带来的无穷乐趣,关注「少年奎特尔」关注未来!


「少年奎特尔」公众号专注青少年游戏编程启蒙,通过游戏编程了解计算机、软件开发的一般知识,在过程中学习计算思维,并能将日常的数学 、英语、表达、创意等能力应用于实践之中,Shawn的愿景:

——让游戏编程成为教育的最强武器!

本文分享自微信公众号 - Creator星球游戏开发社区(creator-star)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JS基础 | Cocos Creator 开发环境搭建

    编程并不只是简单地写代码,而是要将编写的代码运行在指定平台环境上,在此之前我们还需要搭建生产代码的环境。

    张晓衡
  • 独立游戏开发,如何逆向超级马里奥?

    逆向工程是一种编程学习方法。阅读源代码是学习编程最快速和有效的方法。看懂源代码,又知道运行代码后的效果,这样也就基本学会了这些代码的使用方法。

    张晓衡
  • Creator3D案例新作,守护你的球球

    http://example.creator-star.cn/follo-ball/

    张晓衡
  • 0528-6.1-如何迁移NameNode相关角色

    这里我们假设一个场景,你已经有一个CDH集群了,因为硬件或者OS升级,你需要把这个节点服务器拿出来进行维护处理,如果是DataNode是比较简单的,可以很简单的...

    Fayson
  • 微软How old 侧颜值,今天你测了吗?

    话不多说,先上图! ? 郭德纲赤裸裸被微软鄙视了。\(^o^)/ 以下是正文部分,逗个乐先! 微软靠颜值测年龄网站爆红 背后原理大揭秘 近来脸书...

    CDA数据分析师
  • JS基础 | Cocos Creator 开发环境搭建

    编程并不只是简单地写代码,而是要将编写的代码运行在指定平台环境上,在此之前我们还需要搭建生产代码的环境。

    张晓衡
  • 我的javascript学习之路_01之js基础2JavaScript对象JavaScript函数JavaScript运算符JavaScript选择语句JavaScript循环语句JavaScript

    JavaScript中的对象与java中和其他面向对象语言是基本一致的。如何访问对象,如何访问对象方法,如何新建对象等。都是相当一致的。

    desperate633
  • Vue 中「自定义指令」的强大之处

    但是内置指令,在实际的开发过程中可能这些并不能满足所有的需求。所以 Vue 给我们提供来一个灵活的方法「自定义指令」。

    六小登登
  • 学界 | 抱歉我们今天想介绍的这篇论文,刚刚中了CVPR 2018最佳论文

    目标识别、深度估计、边缘检测、姿态估计等都是研究界认为有用的和已解决的常见视觉任务的例子。其中一些任务之间有着明显的相关性:我们知道曲面法线和深度是相关的(其中...

    机器之心
  • 【NLP】综述|少量标注数据下的命名实体识别研究

    近年来,深度学习方法在特征抽取深度和模型精度上表现优异,已经超过了传统方法,但无论是传统机器学习还是深度学习方法都依赖大量标注数据来训练模型,而现有的研...

    黄博的机器学习圈子

扫码关注云+社区

领取腾讯云代金券