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 文件。