想用HTML5软件开发工程师要求游戏,是不是对Javascript要求很高

博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)如何看待 HTML5 开源游戏引擎 Egret,HTML5 游戏开发的前景如何? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="7,232分享邀请回答TypeScriptLang.org深入了解一下这个开源项目,了解以下微软的首席架构师为何会针对JavaScript做了这么个玩意。那么为何Egret会选用TS呢?首先,我们认为Dart的形式针对很多会使用JS或AS3的开发者而言(尤其是初学者这个最大的群体),学习的成本曲线较陡,而谷歌又是一个在技术上“太过”创新的公司,跟随一个有可能“朝令夕改”的技术去制作一款产品,而且将整个Egret的工具和服务的体系都悬于它之上,实在有些让我坐卧难寝。谷歌的AtScript的目标又过于宏大,瞄准了ES7,但是就目前的H5的技术推进而言,下一个JS的标准是看齐ES6。我们想做一款创新好用的产品,但是首先我考虑的是先要创作一个能用的产品。回到TS,它目前版本是1.4,即将在2015出现2.0,语言的结构设计无限趋近与ES6的标准,有了module,有了Proxy,还会有很多更类似于ActionScript3.0的语法。微软还提供了一个TS的编译器,可以在编译时为开发者提供很多帮助,而且我相信以微软的实力,做个编译器的水平还是很高的。目前的JavaScript恰恰有很多设计层面和开发层面的缺陷,TS都能或多或少的弥补这些问题。选用TS这个开源项目,能再现阶段很好的帮助JS开发者创作更有规模,更成熟,更有质量的游戏项目。其次,我们可以用TS基于Canvas来封装跟Flash ActionScript3.0的API结构设计,而且,我们仅仅封装对于游戏有帮助的部分。我在Adobe的10多年,全部铺在了Flash产品和技术上,Flash是个庞然大物,当初Flash团队之所以放弃AS3到AS4,AVM2到AVM3的项目,很大程度上是Core的部分太复杂了,经历了几代架构师和开发的调整,升级重构的成本已经无法估量,简单来说,就是当时没人改的了,所以,我们也不可能投入研发去自己做一个complier或者virtual machine去让AS3交叉编译为JS,君不见Adobe曾经宣布的AS3到JS的Falcon交叉编译项目,3年了都没动静,最后随同Flex一起捐给了Apache基金会么。Egret的API设计只是借鉴模仿了Flash AS3里跟游戏有关的API部分,做了减法,因为Egret Engine的定位不是想让开发者拿去既可以做广告,又可以做minisite,又可以做Video,又可以做游戏。我们只想在core上保持精简,如果开发者对不同的游戏类型有需求,比如状态机,物理,粒子等等,都做到了core之外的game library里。我2014年初离开Adobe时候,中国还有接近30万的Flash开发者,其中90%是游戏相关,这是一个宝贵的开发者社区群体,他们对于Web页游的开发和理解远远超过了任何使用其他web前端技术做网页游戏的群体。Egret使用TS,一方面是为了让JS游戏开发人员更舒服些,另一方面是考虑到Flash AS3这个开发群体,不争取的话,慢慢都流失掉了,很可惜。下图是我们Egret Engine在API设计上与Flash AS3 API上的对比。第三,我们使用TS,还有一个想法。将来的JS也是迟早会跟ES6看齐的,等将来所有浏览器都统一支持下一代JS的时候,现在使用Egret的开发者都已经熟悉了ES6那套做法,而Egret几乎可以0成本的直接将TS换为下一代JS的代码,平滑过渡所有开发者,比JS现有体系过渡到下一代的体系成本都低,更顺滑,何乐而不为?2.我们2014年一口气做了一堆工具,而没有一上来就做个集成的开发环境呢?我在这里要回答的有2点。在技术和产品的进化上,第一条真理是:天下武功,唯快不破。第二条是,长鞭理论无处不在。第三条是:工作流是工作效率提升的根本。以上三条重要性依次降低,当一个CTO和CIO做了产品形态和研发的决策时,请倒推。好了,不讲大道理,说一说Egret的做法,Egret里我带的这帮人以前是做Flash Pro,Flash Builder,Flex GUI和众多工具及框架的技术,很有经验。但是经验不能完全当做生产力,经验不能当饭吃。经验告诉我们的是,要想在市场立足,在最短时间内做出来的产品的“核”也就是中心思想很重要,它不必拘泥于是否先要有个IDE来承载这种形态,市场需要的是最有效率的工作流,其次才是一招打遍天下的IDE集成开发环境,工作流的形态可以先出现在最初的若干款产品里,他们之间独立,小巧且专注,之间的数据通用且可以协作,对于研发而言,成本和风险均可控制。而IDE,功能强大且齐全,开发者需要的功能都具备,但是研发成本高,风险大,周期长。按照Egret Engine的双周迭代速度,团队潜心于一上来就要打造一个IDE的节奏是不对的。就好像你希望快走,但是又总有一条腿迈不出去的情况一样,这个节奏的结果就是容易扯着蛋。但是2015年,我们也会做出一个第一版的IDE,叫Egret Builder。(日小更新:Egret IDE形态将在Egret Wing这款可视化GUI编辑器上升级,也就是第一版Egret Wing是GUI编辑器,第二版将是全功能IDE,开发H5游戏的环境将和使用Flash Builder开发Flash项目一样)3.说了引擎和工具,Egret你们想怎么商业化呢?商业化的问题其实在这里我不想说太多,我只想说,我们除了引擎,工具,我还让团队做了个运行时。也就是将来Egret的技术体系就是三位一体,Engine,Tools,Runtime。关于Runtime的细节,我也不想多谈,大家可以去上看看Egret Runtime的产品介绍页,就明白我们为啥要针对H5做个Runtime。很多明眼人一看就会说,这不就是个Flash Player么?!答案是Yes,也是No。Yes的部分是我们的团队原来都是做Flash的,受Flash影响颇深。Flash Player里具备很多优秀的Web游戏设计思想都是很赞的,我们就想我们可以用C/C++和OpenGL围绕着这些设计思想,再做一个取代webview的游戏加速器,让开发者基于Egret引擎开发的H5游戏,可以直接通过这个Runtime加速。No的部分是Flash Player是to C的,要让用户去装,而Egret Runtime是to B的,集成到平台app里,作为一个库,当用户在平台里玩游戏时候激活,玩家是不知道Egret Runtime存在的,我们也不打算对玩家去刷什么存在感。Egret Runtime是为了解决H5游戏性能,适配,系统底层调用和碎片化的问题而生的一个产品。在Egret Runtime上,我们跟各大平台的合作关系也很融洽,为什么?因为我们就是他们平台内部的一个组件,生命周期受平台app的控管,你激活我,我就干活,你移除了我,我就进入sleep模式,丝毫不影响人家平台业务,还能提高H5游戏的用户体验,也不骚扰用户,何乐而不为?尤其在Android上,一个activity级别的控件是让平台恐惧的,而一个view模式下的控件,平台是喜欢的。下图是Egret Runtime的HighLevel架构图:看了这张架构图,我想诸位看官应该知道商业机会在哪里了。4.Egret现在就是个2D的,木有竞争力啊!近一年内,Egret Engine的确是2D的,但是大伙不都是以进步的眼光看待事物么?Egret也一样,秉着天下武功,唯快不破的思路,我们规划了一下2015年的Egret Next,我们也在预研3D的部分,code name是HummingBird(请原谅我们团队就是喜欢鸟),更细节一点的计划图在这里:当然,我们现在已经开始做了一些了,不然我也不敢说出来找虐。(日小更新:Egret 3D第一版预研Demo视频,10万个Triangle级别,物理系统,可破坏的mesh,光效阴影,原生多点触摸及虚拟摇杆,可H5,原生,Runtime全支持,H5为WebGL,Runtime和原生为OpenGL es或DirectX(Windows移动平台))5.说了半天,你们的套路到底是啥?来看这张图,我们想为H5或者叫做使用H5(JS/TS)技术的web游戏开发者打造这么一套环境:(当然,随着时间推移,这图里面的每个环节可能都会过期)所以,说H5移动游戏也好,说Web移动游戏也好,说用脚本开发native也好,工作流齐全了,这些还算是问题么?好了,头一次在知乎写了这么多东西,希望对各位有所帮助,各位要吐槽的话,请扔鸡蛋,别扔板砖。我自己作为Egret的技术管理人,在我10多年的职业生涯里,信奉这么几句话:1. 永远不要基于现在去假设未来。2. 永远不要尝试用一个成功打败另一个成功。3. 预测未来的最好方式就是创造未来。4. 就是干!谢谢各位,7yue接着潜水去了。33943 条评论分享收藏感谢收起4210 条评论分享收藏感谢收起html5能直接开发游戏,不需要js也行吗_百度知道
html5能直接开发游戏,不需要js也行吗
我有更好的答案
html5还是用JavaScript的,只是JavaScript的权限更高一些html5和现在咱们用的html差不多,只不过html5功能更强大。但是事件、交互式设计等等还是需要脚本去操作的。不用脚本只是你的html页面更好看而已,如实现交互式的操作还得用脚本。html5只是一个标准。
中国IT职业教育领先品牌
主营:教育培训-JAVA培训-大数据培训-Html5培训-UI培训-python培训等
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。最火HTML5 JavaScript游戏引擎:国外篇(一)
发表于 10:20|
作者唐小引
摘要:一个好的游戏引擎,能够大大简化游戏的开发实现。本文介绍了十款备受开发者喜爱的HTML5 JavaScript游戏引擎。它们之中,各有特色,口碑颇高、完全开源,拥有非常丰富的组件和实现,绝对是开发者事半功倍的最佳拍档。
6. Collie是一款基于HTML5的高性能JavaScript动画库,可用于创建高度优化的HTML5动画和游戏。Collie的开发者是NHN株式会社的高级JavaScript开发者Sangmin Shim。Collie可运行于PC及移动平台之上,支持使用HTML5 Canvas和DOM,能够多线程稳定地处理多个对象,拥有着非常丰富的实用功能,比如精灵动画、用户事件等。相关链接:Collie的7. Traffic Cone是一款基于Tile的HTML5 2D和2.5D游戏开发引擎,它能够让基于Sprite和Tile的复杂动画变得相当简单。主要特性:易于配置的精灵动画;通过Traffic Cone的世界模型对3D建模进行分层、深度、定位处理;基础等距寻路、AI和碰撞侦测;基于sprite支持,自定义绘图画布。相关链接:Traffic Cone的8. Quintus是一款易于上手、轻量级、开源的HTML5 JavaScript游戏引擎,包含一个模块化的引擎可轻松开发游戏,并在同一个页面上运行多个实例,支持桌面及移动平台浏览器。Quintus引用面向对象的思想来进行HTML5游戏开发,同时依赖于jQuery来提供事件处理机制和元素选取操作。相关链接:Quintus的、9. FlashJS是一款开源的JavaScript图形和游戏开发引擎,拥有着与Flash相似的API,支持Safari、Chrome、Firefox 4+、IE9+及Opera 11等主流桌面及移动浏览器。它是一个基于成熟的Flash技术的HTML5游戏开发工具,可以在&actionscript&标签内写ActionScript 3代码。相关链接:FlashJS的、10. gameQuery是一款非常易于上手和使用的开源JavaScript游戏引擎,通过添加一些简单的游戏类,使用jQuery插件来帮助开发者开发JavaScript游戏,即使是初学者也可以轻松编写一个功能丰富的2D游戏。gameQuery基于DOM操作,能够兼容Firefox、Chrome、IE、Safari、Opera等大量桌面及移动浏览器。主要特性:多重精灵动画清晰的层次结构碰撞检测支持声音切换周期性回调键盘状态轮询相关链接:GameQuery的、亲爱的开发者们,你最喜爱或常用的HTML5 JavaScript游戏开发引擎又有哪些呢?敬请期待《最火HTML5 JavaScript游戏引擎(二)》。(文/唐小引 责编/宋慧)系列阅读:我们搜集了国内外最火的HTML5 JavaScript游戏引擎,本系列将不断更新,也欢迎大家提供线索,请私信:。本文为CSDN原创文章,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)
推荐阅读相关主题:
CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
相关热门文章}

我要回帖

更多关于 java开发工程师要求 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信