在 Mac 上哪些程序是 Objective C 和 Ruby 的理想选择?
Posted
技术标签:
【中文标题】在 Mac 上哪些程序是 Objective C 和 Ruby 的理想选择?【英文标题】:For what programs are Objective C and Ruby ideal on the Mac? 【发布时间】:2011-01-31 03:34:05 【问题描述】:作为 Mac 局外人,Mac 上的两种流行编程语言似乎是 Objective C 和 Ruby。
据我了解,Cocoa 的主要 API 似乎是针对 Objective C 编写和优化的,但也可以使用 Ruby。
每种语言是否有不同的领域是理想的,例如,我可以想象 Objective C 可能是 GUI 层或独立桌面应用程序的理想选择,而 Ruby 可能适用于 Web 服务等。经典的业务逻辑呢?还是数据访问层?
例如,对于服务库来说,哪种语言会是一个不错的选择?我们可以用一种语言编写一个库并从用另一种语言编写的主程序链接到它吗?
如果我想使用域驱动设计和依赖注入来编写分层企业应用程序,哪些语言可以支持每个关注点? DDD 和 DI 之类的东西在 Mac 开发人员中很常见吗?
只是一个好奇的局外人。
【问题讨论】:
【参考方案1】:如果我要编写一个大型应用程序,我只会坚持使用 Objective-C。这并不难,它是最受支持的选项,并且在可预见的情况下它将保持这种状态。至于 Ruby,Cocoa 中曾经有 Java 支持,但现在已经不存在了。我不希望有一个用 Java 和 Objective-C 混合编写的大型遗留应用程序,并且有可能重写 Java 部分或坚持使用旧操作系统。
(上一段适用于编写纯桌面应用程序。如果您想要并且可以将应用程序的一部分写成本地 Web 服务,那将是完全不同的,因为 Ruby 支持会更加可靠。取决于您的人员、经验、目标和其他变量。)
依赖注入和 DDD 都是抽象的概念,所以是的,你当然可以在 Cocoa 中做到这一点。我不知道有多少 Mac 开发人员这样做。至于 DI,Cocoa 和整个技术栈(参见 Interface Builder、KVO/KVC 或绑定)都强烈支持松散耦合。
希望对您有所帮助。
【讨论】:
过去或现在的 Java 支持与 Ruby 有什么关系? 如果您要编写一个“企业应用程序”,您可能应该选择一种会保留一段时间的技术。 Java 的例子似乎让 Objective-C 在这方面成为唯一真正安全的选择。 (谈到桌面应用程序时。) @Peter Hosey,Zoul:Zoul 没有明确提及的是,Apple 曾经积极支持 Java 桥接至其基于 Objective-C 的 Cocoa 框架。从 Mac OS X 10.4 开始,这被标记为已弃用,并且添加到框架中的任何新功能都不再在 Java 桥中提供。使用 Ruby 的风险在于,Apple 可能会在未来某个时间类似地“关闭”这座桥。尽管随着 MacRuby 的发展来取代 RubyCocoa,但现在这种情况似乎不太可能发生。有关详细信息,请参阅 Wikipedia 上的“Cocoa (API)”文章。以上是关于在 Mac 上哪些程序是 Objective C 和 Ruby 的理想选择?的主要内容,如果未能解决你的问题,请参考以下文章
有没有一种简单的方法可以使用 Objective C 在 Mac OS X 上压缩文件或文件夹? [复制]