探索cocos H5正确的开发姿势(一).md
回首自己3年多的cocos2d游戏开发经历,从cocos2d到coco2d-x入门,之后机缘巧合辗转到了cocos2d-js阵营。在深入使用cocos2d-js以及后来使用cocoscreator做游戏项目的同时,我开始逐步走进javascript神奇的世界。现在回过头来忽然察觉到,不是自己选择了cocos H5(我将cocos2d-js/cocoscreator的统称),而是选择了javascript;不只是简单地选择了这门脚本语言,而选择的是javascript平台和生态圈,这才是自己为什么一直对cocos H5不离不弃的原因。 在过去的两年时间先后培养了5名cocos2d-js客户端程序员,现在联系他们大多还在做cocos H5方向的工作。但发现不管是自己、曾经的同事、朋友们等的公司,但凡用cocos H5技术都发现都普遍存在一些误区,我在此根据自己的项目经验总结一下。 一、cocos H5普遍存在的误区1. 左倾思想
2. 右倾思想
二、我对cocos H5的理解1. 曾经的认识我最早跟大家一样,认为cocos2d-js只是在cocos2d-x家族中选择一门脚本语言,我为什么会选择JS而不是Lua呢?是因为早些年使用Lua做过端游服务器和客户端UI,当时对Lua的理解和运用都很肤浅,对项目驾驭能力太差,从而对Lua产生了不好的使用体验。 2. 现在的理解在经过一段时间使用cocos2d-js,对javascript语言的深入,逐步了解到围绕Nodejs、Web前端的javascript前后端生态圈。慢慢地我意识到,我以为只是选择一门脚本语言,其实选择的是javascrip平台和生态圈!而cocos H5只是Javascript中的一员。
三、从我的CocosCreator项目看Javascript世界1. nodejs
如果不了解nodejs也无法知道如何将javascript代码模块化,有了模块化你可像编写c++、java那样引入模块。团队开发中才可以将功能有效拆解,做出自己可复用的模块,建立自己的代码库。我认识为模块化是编写Cocos H5开发的第一步,我在项目编码中一律采用nodejs代码风格,利用Browserify或Webpack可以将代码完美地运行在浏览器和原生上。 2. npm
npm上面承载了数以万计的Node模块,纯javascript编写的模块可以在前后端通用,理所当然cocos H5中也能使用。其中还有各种奇思妙想的Node工具让人拍案叫绝,同时还能提高你的工作效率。如果你在使用cocos H5技术,却对npm了无所知的话,现在你读这篇文章你应该觉得很幸运,因为它是一个宝库。
3. Grunt & Gulp
我在项目中利用Grunt解决了客户端程序反复打开关闭目录、Ctrl+C 、Ctrl+V鼠标点来点去讨人厌且又无技术含量的工作。这些无聊的工作,每天消耗着我们的大脑能量主要是:从SVN获取美术、策划输出的资源、把它们复制到客户端工程不同的目录、有的还需要压缩、将策划Excel还需要转换成JSON或 mysql表。
Gulp.js是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务,利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。
4. ES6
在CocosCreator项目中,我已经迫不急待地尝试了ES6的新语法去编写代码,它让我体会到写代码也会这么有乐趣,中其常用的新语法有:字符串模块、箭头函数、对象解构、默认参数、类定义。 5. Bable
在 Creator 中已经集成了Babel,可以减少代码量、提高可读性。建议在新项目中使用 ES6新的语法规范,同时也能保持与 Javascript 语言的与时俱进。 5. Browserify & Webpack
Browserify才是正真的将前端javascript模块化的主角,我最早在 cocos2d-js 项目就使用它来组织代码。它帮助我解决了在 cocos2d-js 中代码加载顺序问题,同时可以编写node一样风格的代码,使用npm来管理三方库,天地人从此连接再了一起,Creator 中已经集成了 Browserify,在安装目录中可以看到。 与 Browserify 同类工具还有 Webpack,我在 cocos2d-js 项目中还尝试过Webpack,比Browserifyg还要强大。有的前端工程直接使用Webpack代替了Browserify和Grunt。最早我满以为Creator应该是由 Webpack+Grunt+Babel,实际是由 Browserify+Glup+Babel。Webpack是javascript世界不可忽视的构建工具。 7. ESLint
如果是正式项目强烈建议在日常编码时使用上ESlint,以Airbnb JavaScript Style Guide语法规范为根基,再根据自己的实际情况配置调整。 心愿2016年是自己最为动荡的一年,由于身体不适离职、原公司解散、新工作不顺。重振旗鼓面对新一年的到来时,洞察到一个奇怪的现像,在成都游戏行业中cocos2d-js、cocoscreator市场,很多公司招不到人,与HR聊天的过程中听说到“成都要找个做cocos2d-jscocoscreator的一周都找不到一个冒泡的,c++和lua的到是多”,这是真话因为我在原来的公司也为招聘cocos2d-js的人才发愁。 收看本篇博文视频请点这里 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |