您可以添加到网摘 让更多人关注此文章:
近来,Symbian系统下的脚本语言具有很多潜在的实用性。但到目前为止,只有一种脚本语言是可利用的 — 至少在你想为你的应用程序提供脚本的时候。
据报道,早在一月份的时候,诺基亚的副总Lee Epting曾提出在诺基亚的S60系列机型上使用Perl语言。此举原因在于其他可选择的语言,如:C++ 和Java,对于基于简单窗体的应用程序来说,威力过于强大,而这些应用程序使商业经理,而非开发者筋疲力尽。因此,诺基亚略微调整了政策并建议用Python作为其脚本语言。
暂且不谈Perl与Python的优点,这些报道旨在暗示开发商意图在S60系列手机上获得脚本,目前即便是基于UIQ的应用程序,开发商也无法使用脚本。 这种暗示并不完全真实,自从2003年三月开始,Simkin已经成为Symbian系统的公开的脚本语言。
Simkin始于1995年。当时Simon Whiteside正在参与一个由BBC所制作的冒险游戏的开发。Simon 应邀参加制作游戏编码。“当我开始这个项目的时候,显而易见,当游戏设计者对于他们所要达到的目标非常清楚之时,并未对具体的游戏细节详细说明。随着设计的进行,我面临着重写游戏的境地:用C语言编写,在Windows 3.0上运行。此时,我意识到那将会相当的浪费时间,因此寻找其他解决方案势在必行。起初Simon的方案允许配制文件控制游戏,但随着时间的推移,表达式求值程序的需求已确定,后来又添加了循环。为使游戏具备更好的控制性和机动性,因此,脚本语言产生了……”
自从Simon的那个游戏项目开始,他便把这项技术运用到一个热销的,名为Sibelius的音乐符号应用程序中。Sibeliusde 开发者想添加一个宏语言,来为Sibelius提供一个宏,其便利性与字处理器相似。Simon 首开先河,使用Simkin为Sibelius提供插件程序。
当Simon在1997年离开Sibelius的时候,他决定使Simkin成为一个产品,并在随后花了六个月的时间去注册此项产品的特许权。在那段时间里,他卖掉了一些特许权,但他最终认识到其核心利益还是在于应用程序的开发。因此在在1999年,他通过Sorceforge来发放证书。 Simon 说:“Simkin 作为一个公开的资源产品还是获得了利润。我收到了许多的反馈并了解了一些程序的缺陷,因此我很高兴的说,作为公开的资源对于Simkin来说是一条正确的道路。”
从Simon把Simkin作为公开的资源开始,他又开发了Java和XML 版本与pilot J2ME版本……
Symbian 版本始于早在2002年对于Hewlett-Packard的调查。Hewlett-Packard欧洲研究实验室, 正在与布里斯托尔大学合作运行布里斯托尔可佩戴计算机项目。此项目涉及 了各种可佩戴计算机设备的应用程序,从游戏到指南。该项目中的一个应用便是从无线接入点获得反馈信息,从而向人们提供城市艺术画廊中艺术品的向导服务。做为该项目的一部分,HP公司想建立一个运行于HP iPAQ上的交互式游戏。为了向这些游戏提供一个模式化的简单架构,HP公司与Simon建立了联系,想通过他将Simkin移植到iPAQ上,并用Simkin提供的XML构架功能来描述游戏中的元素。
Simon说:“我们曾经完成过HP公司所交付的任务,即将Simkin项目扩展到手机上。当时,HP公司将Symbian手机定义为移动开发市场中的新兴技术,他们需要我为他们做一个移植项目。” 然而,Simon指出,当移植项目通过Sourceforge发布时,虽然其吸引了相当数量Symbian开发商的兴趣,但HP并没有继续其在可佩戴设备市场中对Symbian手机的开发。
当做Symbian移植工作时,Simon便已考虑到要保持Simkin不同版本之间兼容性的问题。Simon说:“要保证Simkin不同版本的兼容性,就要面对两大主要挑战。首先是Symbian系统上的C++不支持C++异常处理,其次就是你不能在C++编译器中使用Symbian委托进程。我尝试用C++宏来解决大部分问题,部分因为我开始为HP做的移植工作是基于Windows CE的,其同样缺乏异常处理能力;最重要的原因是虽然Simkin很有效,但程序中还是有些地方需要专门的Symbian代码。”
Simkin并不是一种可以从零开始创建程序的语言。正如Simon描述的那样“Simkin是一种可以定义程序行为的语言,我称之为一种嵌入式脚本语言。”所以在程序中使用Simkin可以让脚本来确定程序的相关行为或帮助用户控制程序的执行,但其真正的功能性仍表现在主控程序运行方面。Simon认为Simkin对游戏开发非常有用,因为游戏开发中,性能是个关键因素,虽然游戏的内部函数都是C或C++书写的,但是它们可以由轻量级的Simkin来控制。Simon说:“如果使用传统的脚本语言,虽然开发简单,但是在该类项目中却无法使用它们。”
在Nokia6600上运行的Simkin文字冒险游戏样例
Simkin的另外一个潜在用途,即当Simkin创建应用程序输出和使用XML文件控制的函数时,其可以为应用程序创建可配置用户接口。Simon就用这项技术创建了一个简单的计算器程序,在去年的Symiban年会Exposium上,Simon对其的演示赢得了显著关注。
运行于Sony Ericsson P900上的可配置计算器样例
UIQ和S60系列机型的可配置计算器程序和简单文字冒险游戏都可以在Simkin的网站上获得。
Simkin还有一个易被忽视优点,即其对测试的帮助。Simon说:“如果开发商自开发伊始便将Simkin引入程序开发,那么在不使用独立测试工具的情况下,Simkin将为测试人员提供一条进行脚本衰退测试的简便途径。”
面向Symbian系统的Simkin,其未来将在很大程度上依赖于开源社区,虽然Simon目前将他的大部分时间花费在完成预定的网络,桌面和无线开发项目上。但是“如果有一些基金支持他开发的话”,他仍将其主要兴趣集中在Simkin对Symbian移植的优化上。
潜在地,相对于传统脚本语言来说,Simkin能为移动开发商和“商业经理”提供更多东西。当计算机资源在使用C++或Java的内在功能性受到限制时,一种巧妙的解决方法便是使用类似Simkin的轻量级语言。其能在性能和灵活性间获得理想的平衡。
|