Moscrif:用JavaScript进行跨平台移动开发
Moscrif是构建在定制虚拟机上的跨平台移动开发环境。尽管该平台提供了访问原生设备的功能,但编程语言却是JavaScript的一个定制版本。
据公司联合创始人Michal Habalcik所说,Moscrif已支持iOS、Android、Symbian、Windows Mobile和Bada等平台,而且还将在微软发布API之后,添加对Windows Phone 8的支持。Moscrif SDK提供了开源框架、基于Mono的集成开发环境以及各支持各种平台的发布工具。
除了核心功能,该框架还包含了大量类库,提供了对加密、2D游戏、图形、多媒体(OGG,WAV)、网络、传感器和SQLite的支持,还提供了简洁的用户接口。Habalcik还告诉我们,在不久的将来,他们打算支持原生用户界面,但这么做会对跨平台开发能力带来不利的影响。他们还打算将来添加对HTML5的支持,但是目前,Habalcik认为“HTML5有些严重的性能问题,所以不可能用来开发含有大量图形的高品质游戏”。
编程语言是 JavaScript 1.x,通过原生实现的一级类、构造函数、命名空间、属性、lambda函数和迭代器等进行了扩充。源代码被编译成定制的字节码,在每个支持的操作系统中,字节码运行在C/C++/Objective-C和Java等语言编写的支持垃圾回收的虚拟机上。完全没有JIT编译。
集成开发环境也是开源的,它基于Mono + Gtk#做了些定制,用到了MonoDevelop的一些组件,例如文本编辑器。Moscrif不需要定制的构建服务器,关联的发布工具直接为每种操作系统生成二进制文件。应用发布到Apple App Store和Google Play等应用市场前,需要由Moscrif签名。我们还被告知,签名需要的不是二进制文件,而是包含包中所有文件哈希值的manifest文件。
查看英文原文: Moscrif – Cross Platform Mobile Development with JavaScript
感谢 臧秀涛对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至 [email protected]。也欢迎大家通过新浪微博( @InfoQ)或者腾讯微博( @InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。