10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Mac 和 Ruby 综述:MacRuby AOT,用 ChocTop 创建 DMG 文件

  • 2009-07-22
  • 本文字数:884 字

    阅读完需:约 3 分钟

相比较 JRuby 或者 IronRuby 与其所属平台的集成而言,MacRuby 与 Cocoa 平台的结合更为紧密,这也是 MacRuby 的价值所在。MacRuby 似乎是 Mac 开发者使用 Ruby 开发客户端应用的最佳选择。最近在 MacRuby 的试验性分支上,引入了预编译(Ahead of Time,简称为 AOT)技术:

引入了 macrubyc,一个命令行工具,作为 AOT 编译器的接口。 macrubyc 允许你将一个给定的 Ruby 文件编译成 Mach-O 目标文件,并且还可以生成最终的可执行文件。

尽管现在使用 MacRuby 编写和部署 Ruby 应用已经可行,但这些应用依然需要携带 MacRuby 运行时一同发布。实现 AOT 的目标是为了解决如下问题:

所生成的 Mach-O 目标是真正的目标文件。它们可以用来生成 MacRuby 的可执行文件,你也可以在 Objective-C 的项目中通过 MacRuby 的 Objective-C API 来使用它们。 所生成的可执行文件嵌入了所有已编译的 Ruby 代码,当然也包括静态编译的 MacRuby。它可以独立发布,不需要依赖任何 MacRuby 或者 LLVM 运行时。因为 Ruby 源代码已经编译成了原生机器码(正如我们使用 JIT 编译器在运行时所做的一般),因此这也是混淆代码的一个不错的方式。最终的二进制文件看上去和 Objective-C 的二进制文件很像(当然体积要更大一些)。

举个例子, Chris Wanstrath 的 BaconDrop 工具使用 MacRuby 开发。尽管这个工具很小,但是在捆绑了 MacRuby 之后,它的体积达到了 15MB。如果借助于 AOT 编译成二进制文件的话,应该会更小一些。

BaconDrop 也展示了基于 Ruby 的工具是如何辅助 Mac 开发的。BaconDrop 以 Mac DMG 文件的形式发布,这是由 Dr Nic 开发的一个叫做 ChocTop 的工具来创建的。这个工具对所有的 Cocoa 应用都可以使用,自动创建 DMG 文件,并且会安装 Sparkle (用于处理软件更新)。ChocTop 拥有一套 DSL 化的配置系统,并在你的 rake 文件中添加一些任务。

一旦所有的 MacRuby 应用都可以使用 AOT 编译,在 OS X 应用开发方面,Ruby 便可成为 Objective-C 的有力竞争者(也许在 iPhone 开发方面还不会,因为 iPhone 的 Objective-C 运行时不支持垃圾回收)。

查看英文原文: Mac and Ruby Roundup: MacRuby AOT, DMGs with ChocTop

2009-07-22 11:441812
用户头像

发布了 80 篇内容, 共 22.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

YashanDB数据库日志管理与故障排查实用技巧

数据库砖家

YashanDB数据库数据导入导出实操指南

数据库砖家

YashanDB数据库数据加密与访问控制实用指南

数据库砖家

3D灯光贴图渲染HDR Light Studio Xenon 破解补丁版 兼容Mac26系统及M芯片

Rose

AI 技术在出版社教学资源网的应用

北京木奇移动技术有限公司

AI技术 软件外包公司 出版社

YashanDB数据库数据迁移的步骤与注意事项

数据库砖家

YashanDB数据库数据压缩与存储优化方法

数据库砖家

YashanDB数据库数据一致性保障机制详解

数据库砖家

YashanDB数据库数据安全策略详解

数据库砖家

Music Tag Editor Mac 批量的处理音乐的标签

Rose

RustRover 2025 for Mac详细图文安装教程 附RustRover 2025破解补丁

Rose

adobe pr 2025 Mac中文激活补丁及安装教程 兼容M/intel

Rose

YashanDB数据库数据同步与异地容灾解决方案

数据库砖家

YashanDB数据库数据压缩技术及应用场景

数据库砖家

如何安装SideFX Houdini?3D影视特效渲染SideFX Houdini Mac详细图文教程分享

Rose

YashanDB数据库日志清理与存储空间管理实操教程

数据库砖家

Cinema 4D 2024 for mac(c4d 2024激活补丁)中文详细图文教程

Rose

YashanDB数据库日志文件管理与安全策略讲解

数据库砖家

YashanDB数据库数据导入导出最佳实践详解

数据库砖家

YashanDB数据库数据迁移与同步实操教程

数据库砖家

YashanDB数据库日志管理实用指南

数据库砖家

鸿蒙开发实战之Graphics Accelerate Kit打造教育图形加速引擎

bianchengyishu

HarmonyOS NEXT

YashanDB数据库数据迁移全流程实操指南

数据库砖家

switchresx mac 屏幕分辨率修改工具 附switchresx注册安装教程

Rose

鸿蒙开发实战之XEngine Kit构建教育智能推理引擎

bianchengyishu

HarmonyOS NEXT

YashanDB数据库数据加密实践及应用场景

数据库砖家

YashanDB数据库未来发展趋势及技术展望

数据库砖家

鸿蒙开发实战之ArkGraphics 3D构建交互式教育可视化引擎

bianchengyishu

HarmonyOS NEXT

YashanDB数据库日志管理与故障排查操作手册

数据库砖家

YashanDB数据库数据迁移及兼容性解决方案

数据库砖家

YashanDB数据库数据迁移实用方案及操作步骤

数据库砖家

Mac和Ruby综述:MacRuby AOT,用ChocTop创建DMG文件_Ruby_Werner Schuster_InfoQ精选文章