技术开发 频道

Java平台是我们最好的选择吗?

【IT168 专稿】一位长期从事嵌入式开发但是没有接触过Java的朋友提出这样的问题:“为什么选择Java平台?”事实上,他的问题包括两部分,一是Java平台和嵌入式设备开发有什么关系?二是在诸多平台中为什么要选择Java平台?因此,本文将从以下几个方面论述Java平台的优势。
 
一、复杂性人力资源限制
 
运行游戏的嵌入式系统设备,一般会涉及到钱的因素。因此,设备必须在诸多环节上提供安全保证。要考虑的安全层面包括事务处理、使用冗余、容错等,相关专业知识对于安全编程的实现尤为重要。另一方面,系统必须对开发人员开放以增加更多的游戏内容。然而,能开发出安全性要求很高的应用系统的程序员资源并不丰富。这就面临一个两难境地:如何允许众多的开发人员在设备软件上工作,同时又能避免系统的安全机制被人为因素破坏?开发人员越多,系统出现bug的可能性越大。严格说来,这不能归结为游戏开发人员的能力问题。古语云:智者千虑必有一失,人无完人。最好的解决方案是,让开发人员确定系统的关键部分不会因为人为的错误而遭到破坏,这样就不必考虑编程的安全因素了。解决的途径是使用脚本语言。
 
二、使用脚本语言
 
确切地说是运行时解释性脚本语言。游戏的内容开发人员通过脚本语言而不是机器语言来编写游戏内容。这样作的好处是:
 
1.隔离性
脚本语言扮演着设备抽象者的角色,只提供内容开发必须的API接口,而隐藏了设备的核心代码。因此,内容开发人员不可能接触到系统的关键部分。另外脚本语言不允许操纵指针,也就避免了错误指针造成系统崩溃的潜在因素。
 
2.人力资源优化
由于免去了系统核心代码编程的培训,在内容开发方面就可投入更多人力,而这些人不必精通如何保护核心代码不受破坏。脚本语言环境简单地将核心代码隔离起来。这样就可以采用外购的方式作内容开发,或提供开发工具包(SDK),外部的开发人员需要的只是脚本语言和API接口。假如没有脚本语言的抽象层,则不可能允许外部的开发人员为设备开发内容。
 
3.软件升级
脚本语言是解释性的。可方便地通过网络或光盘介质将系统的新代码部署在设备上。这样做的好处有:
(1)      修复bug:不必收回设备就能纠正模块中的错误,从而增加了客户满意度并且节省客户支持成本。如果客户对设备产品不满意,就意味着可能出现退货或厂家声誉下降的情况,从而直接影响厂家的销售利润。
(2)       内容更新:可以为游戏设备开发更多的游戏内容让客户通过网络选购。从而在设备售出后可继续回收投资。
(3)     节约资源:不使用的模块可以从内存中卸载,只有使用的内容才占用内存。这样就可在内存容量设计方面减少硬件成本。对于需要低能耗的设备,可改进设备能耗性能。由于允许以低内存的方式运行,不必加载所有的内存模块,这样就节约了能耗。

    理解了这种做法的益处后,可以创建自己的脚本语言。然而,为了提高内容的趣味性,如同所有的编程语言一样,脚本语言需提供越来越多的功能。对于脚本引擎的大量改进尝试后,就会发现这个过程相当于重新创建Java编程语言。

0
相关文章