- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网上电脑怎样查询QQ并恢复聊天记录?专业提供查别人QQ聊天记录安全保密快捷短信/照片/文字/图片/语音/视频/加Q:400,981,82
为什么专注于Java而不是C/C++?
自行开发Java
因为OracleJavaer们不得不纷纷自谋生路,自己想办法解决Java应用的智能机移植问题。
不过嘛,这也没什么,MonoMicrosoft官方开发,照样可以干的风生水起。
——我们坚信,技术宅挽救世界。
遗憾的是,目前在JavaMono并驾齐驱的项目,更缺乏一个Xamarin那样的团队。所以,当今最主流的JavaMonoTouch,然后通过IKVM这个.Net扩展插件把Java语言转为Mono能够接受的CIL再进行MonoIKVM对Mono的贡献也不少,但这只优化了Mono,并没有产生Java自己的智能机跨平台项目)。
使用这种方式解决智能机跨平台移植的JavaGoogle支持的PlayN,以及Mario个人主导开发的Libgdx。
MonoTouch+IKVM的最大好处在于,原版Java程序只要经过很少的修改,就可运行于多种智能机平台之上。
PlayN?for?IOS版部分源码:
Libgdx?for?IOS?部分源码:
从代码上来说,两者都没对JavaKIVM+MonoTouch提供的IOS本地Java?API替换了其原本的Java本地交互部分,就让程序正常跑在IOS环境之上了。
以效果论,这堪称是目前最简洁,最便利的Java
——假如,MonoTouch
虽然Mono项目本身是免费的,MonoDevelop开发用IDE就连MonoGameXNA实现都同样是免费的,但关键是——真正有价值的MonoMonoTouch却是收费的!而且,此物还是Miguel?de?Icaza自己搞的,铁了心要收钱,绝对不会开源的商用项目!
上邪!企业版999(完全支持2499)美刀,个人版399美刀,至于free版的MonoTouch呢?除了能在模拟器玩一玩,再没有其他作用。
GameMaker5大平台,不过299$;Unity3D价格不菲,其3D。而Xamarin一个ProfessionalMonoTouch授权便需399$,这实在让人难以接受。试问又有多少人会花399$(企业版999$),只为跑个免费的游戏引擎呢?Xamarin难道不知道,一台iPhone
而MonoTouch,又是目前以KIVM+Mono方式让Java支持智能机多平台开发的唯一手段。
My?God?谁会花几百刀就为用个开源引擎(收费引擎大多还有破解版),谁就真脑子被驴踢了。IKVMJavaer恐怕是很难走下去了(土豪请自觉退散)。
故此,小弟对LibgdxPlayN这种开源引擎,采用Mono作为Java跨平台解决方案的评价只有四个字。
——浪费时间。
既然MonoJava系本身有没有什么和Mono类似,可以把Java源码本地化,却不收费的穷人乐项目存在。
幸运的是,在JavaXMLVM。
XMLVM并不是标准的Java实现,它基于Apache?Harmony的C/C++实现部分,而非OpenJDK之类。
就原理来说,XMLVMMono,都是先将原始文件转化为某种中间代码,再将中间代码本地化到指定平台的交叉编译工具。
从适用范围上讲,XMLVMMono还要广阔,XMLVM可以将任意Java.NET?CIL乃至Ruby翻译成XML再转化为CObj-C,Java,C#等等很多种语言输出,这点是Mono所无法比拟的。当然,它最核心,也是最常用的目地,?还是让Java
通过源自/tutorial/的XMLVMOracle一直说要搞定而没有搞定的IOS,也在XMLVM支持之列。
虽然功能上还有所欠缺,不过想把JavaC或Ojb-C都可以做到(另,人家注明要抛弃Obj-C了)。
可以说,您何时愿意使用XMLVMJava程序跑在IOS系统之上。
——不过XMLVM
下面,是一个XMLVMJava转化为C#时产生的CS文件。
大家可以看到,Javacs文件,而且这个cs文件也确实是可以被编译通过的。但是,为什么语法看上去那么奇怪,好像有N多冗余在其中呢?……
原因就在于,XMLVMJava或C#的文件转化并非基于源码,而是基于源码所衍生的Bytecode或CIL指令集。
显然,XMLVM
——?效率是硬伤。
对于结构复杂的JavaC代码,程序性能将会被严重拉低。
——低到和Java(原本的Java代码毕竟是跑虚拟机,这样看来问题不算太大嘛,-_-|||)。
XMLVM发展到2012年,已经可以满足绝大多数Java代码向IOS,Android,WP的迁移。如果能把效率问题更优化一些,减少些转化可能引发的问题,更多地增加本地API。那么,XMLVM超越Mono也指日可待(大部分代码可以转化成功,但
文档评论(0)