有非常多游戏採用H5技术开发。比方三国来了、巴哈姆特之怒、切绳子等。

我们公司也有多款游戏用H5开发。H5开发成本低。效率高,方便做自己主动更新,可移植性好。

受益于H5技术,我们公司的非常多产品都非常方便跨平台。

早在2012年。我就非常荣幸负责技术攻关,把我们的游戏移植到win8和wp8平台,当时在国内的win8和wp8平台是率先的。我们的一款游戏,跨ios、android、win8、wp8和黑莓10五大移动平台,这在国内肯定是唯一的吧?

《无尽大陆》获微软win8商店重点推广

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5ubW5t/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

《无尽大陆》进入win8商店热门第4

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5ubW5t/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

微软的同学去给团队拍照。报道http://win8.xapcn.com/news/28144.html

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5ubW5t/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

《Infinity Lands》喜获黑莓优秀H5大奖 http://blackberry.developer.csdn.net/article.html?arcid=15814719

也得益于在win8和wp8平台发展的早期上线数款游戏。帮助微软丰富了win8&wp8商店产品。我们和微软建立了深厚的合作关系,成为微软在大陆的重要合作伙伴,前几天又喜获微软Xbox Live大陆首家发行权。嗯哼,公司的win8和wp8产品是我负责开发的呢^_^

本来这篇文章应该多谈谈开发技术。可是两年前我开发完。已经没有平台须要拓展了。

我又转去先后做cocos2d-x和Unity3D开发。

非常多实现上的细节已经遗忘了,谈几点能想到的吧:PhoneGap、加密、更新。

PhoneGap:非常多团队做H5移动游戏使用PhoneGap,我不建议。

由于这个库非常大。太繁杂了,而我们仅仅须要用到不多的功能。所以。我建议不要使用PhoneGap,依据自己项目的须要。自己实现一个就能够了。ps. 注意多线程安全。

加密:H5的js、css和html都是能够直接看到的,所以。为了安全一定要做加密。

推荐DES加密。自己写一个打包工具,把全部js、css和html加密。

更新:用H5做更新真是方便,完爆cocos2d和Unity3D。cocos2d的jsb也能够更新,可是假设c++库有问题。就没法更新了;而使用h5,我们能够做到仅仅上传一次版本号,在ios这样的审核严格的平台。更新无疑是很实用的。自己写一个简单的打包工具。生成更新包、一份文件名称和相应MD5的列表。就能够了。

在做win8版本号更新功能的时候,有个小插曲。

因为win8的安全限制,win8的webview不同意载入包外的本地文件。

这种话,尽管把内容更新到了本地。可是不能载入。

更新功能必须做,win8又不同意载入更新到本地的文件,怎么办?对于js/css/html这种文本内容。非常easy,读到内存里运行就能够了,可是图片呢?H5不支持显示内存中的图片。

我想了挺长时间,最后灵光一现:你仅仅同意载入server上的文件。那我就在本地开一个httpserver不就得了?然后,我实现了一个简单的httpserver,http的文件夹指向更新内容。

完美攻克了这个问题!httpserver的port号我设为了。看过《唐伯虎点秋香》的同学会心一笑。

所以。假设哪个技术同学分析我们的应用,会吃惊的看到我们占用了9527这个port。想不到干嘛用的吧?

后来,微软的一个技术总监来交流,我跟他们谈起我的实现方式,他哈哈大笑,“为了安全,我们限制载入本地文件。没想到被你轻而易举破解了,还是使用我们合法的API”。还有什么比被微软的技术专家肯定更让人开心呢?

最新文章

  1. hibernate中HQL多对多的查询
  2. DOM事件探秘
  3. django字段设置null和blank的区别
  4. ios8 关于UIAlertController 代替UIActionsheet
  5. 速卖通---发布商品aeopAeProductPropertys这个字段值报07004013的错误
  6. HDU1565 方格取数(1)(状态压缩dp)
  7. 第06讲- DDMS中logcat的使用
  8. linux杂记(六)档案权限
  9. 无废话WCF入门教程三[WCF的宿主]
  10. java笔记04: String的理解与运用
  11. JS Bootstrap-DateRangePicker 如何设置默认值为空
  12. 第3章 简单的C程序设计——顺序程序设计
  13. tnsping 不通
  14. kth min_max容斥
  15. react-native 引入某些低三方库时出现的Command `run-android` unrecognized,命令不识别错误
  16. Mac 下使用svn
  17. 【逆向工具】IDA使用1-VS2015版本debug查找Main函数,加载符号文件
  18. spring mvc防止表单重复提交的代码片段
  19. angular学习笔记(二十三)-$http(1)-api
  20. 设计模式之模板方法模式(Template)

热门文章

  1. android开发小内容
  2. Angular——作用域
  3. mac下iterm2 设置笔记
  4. MxCAD5.2 20180726更新
  5. UVA12118 Inspector's Dilemma(欧拉路径)
  6. Linux之iptables(五、firewall命令及配置)
  7. selenium下拉滚动条
  8. linux下git+github个人使用记录
  9. 程序员节QWQ
  10. Educational Codeforces Round 60 (Rated for Div. 2) 即Codeforces Round 1117 C题 Magic Ship