我正在开发一个带有Java桌面伴侣的iPhone应用程序,它可以通过网络同步.我想在两个应用程序中嵌入脚本语言,以便最终用户可以编写添加新行为并与对象模型交互的脚本,这样我就可以更快地开发一些功能.
对此有任何建议,或任何人之前做过这个并获得经验分享?我想的是像过去曾经使用的tcl这样的东西,但不是tcl本身,因为我不是语言的忠实粉丝.
它应该是主要标准
>轻量级(内存使用)
>易于使用java和objective-c进行接口和扩展
>(很高兴)具有有限编程经验的人可读/平易近人
我最初的预感是我应该使用python,ruby或lua中的一个.我的偏好是ruby,因为我已经有了一些经验,并且对其他人不太了解.然而,我最主要的未知是哪些最容易与iPhone和Java集成.
编辑2:根据Jason Coco的评论,SDK条款禁止使用嵌入式脚本语言.检查它确实似乎,但我读它只是为了排除动态安装和扩展.我仍然会对这里的答案感兴趣,因为协议似乎并没有排除在应用程序包本身内部预先打包的脚本 – Apple仍然可以审查该代码.
该协议似乎也允许使用苹果“口译员”……这些是什么? Javascript还有什么?有什么途径可以在这里使用吗?
据我了解iPhone SDK许可证,没有什么可以阻止您在应用程序中使用脚本语言 – 只是您无法安装自己的任何解释器或运行时.您只能使用Apple在SDK中提供解释器的那些脚本语言.
鉴于您希望在iPhone应用程序和Java应用程序中运行相同的脚本,显而易见的选择是JavaScript.您可以在iPhone应用程序中使用Apple的API,以及Java App中的Rhino(http://www.mozilla.org/rhino/).
您必须意识到,在语法或对象模型的较为模糊的区域中,两个解释器之间可能存在细微差别.
附:我假设用户将编写自己的脚本以在自己的设备/桌面上运行.这些将是应用程序数据的一部分,在Apple的许可下应该没问题