自从 Google App Engine 支持 Java 应用之后, JRuby 应用就现身 GAE 了。不过,还是存在着一些限制,JRuby 的 Nick Sieger 列出了其中的一部分,包括:
- 没有 RMagick/ImageScience/attachment_fu,甚至连 ImageVoodoo 都没有(没有 javax.image 的 API)。Google 有它自己的图片操作 API。[…]
- 每个应用最多 1000 个文件。由于这个文件数限制,部署 Rails 应用的时候我不得不将所有的 Rails gem 都打成 jar 包。
Tom Enebo 最近在twitter 上发布了GAE 支持image_voodoo 的消息。Nick 也释出了在GAE 上部署的JRuby 应用。
目前来说,JRuby 应用的部署还没有完全自动化,不过很快就会有一些辅助工具可以使用了。其中一个就是 reggae ,它是用于帮助将 Rack 应用部署到 GAE 上的工具。
最后,虽然 JRuby 基本上可以在 GAE 下工作,但是一些常用库就不行了;最典型的就是 ActiveRecord,因为 Google 只提供它自己的 DataStore,而 DataStore 不是关系型的。不过,现在 Google 的 DataStore 支持另一个 ORM: DataMapper 。 Genki Takiuch 创建了 dm-datastore-adapter ,这个适配器允许通过 DataMapper 来使用 DataStore。目前来看,DataStore 只支持很少的查询选项。
查看英文原文: JRuby on Google App Engine Roundup: DataMapper Adapter for DataStore, Reggae
评论