首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MacRuby / HotCocoa能否取代了解目标C的需求?

MacRuby / HotCocoa能否取代了解目标C的需求?
EN

Stack Overflow用户
提问于 2010-04-19 00:59:45
回答 6查看 1K关注 0票数 8

我刚刚发现了MacRuby / HotCocoa,并且非常喜欢他们正在做的事情的声音。

我基本上忽略了自己开发Cocoa应用程序的前景,因为我不愿花时间和精力学习另一种基于C的语言,Objective。我不是说这很糟糕,只是不适合我。

是现在的情况,还是在可能的将来,一个人将能够使Cocoa应用的实质和一流的性质与MacRuby / HotCocoa单独,而完全忽略目标C?

(编辑:桌面Mac,而不是iPhone)

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-04-19 01:43:22

要通过翻译层构建一流的应用程序将非常困难。很难得到你本就需要的表现和行为。MacRuby的方法给我留下了深刻的印象,尤其让我印象深刻的是,他们能够管理核心动画(一个一流的Mac应用程序的关键部分)和核心数据(这是很难的事情)。他们使用了更地道的Ruby,而不是RubyCocoa的丑陋,给我留下了深刻的印象。但是,苹果之所以“不强调”(他们称之为),是因为他们在Java、Ruby、Python等多语言领域的应用,用一种语言编写这些东西是很困难的。当你没有经过半支持的翻译层时,就很难把它做好。在实践中,您仍然需要学习ObjC语法来处理文档和所有现有代码。在实践中,你仍然需要学习ObjC模式才能开发出合适的Mac应用程序。

MacRuby很有趣。即使作为一名经验丰富的ObjC程序员,我也可能考虑使用HotCocoa来破解原型并尝试接口。但这不是我用来构建的那种东西,就像你说的,"Cocoa应用程序具有丰富的和一流的性质。“

作为开发人员,我们工作的一部分是拥有一包工具。就像一个好的木匠有几个不同的锤子,再加上撬杆、钉子、几种正方形和十几种其他工具一样,程序员应该对各种语言、编程范式、平台和环境都很满意。然后,她应该能够选择正确的工具,并有效地使用这些工具。在Mac编程中,正确的作业工具包括Xcode、IB、ObjC和Cocoa。避免他们就像一个木匠避免一个框架锤子和速度广场。他们只是工作的一部分。

票数 5
EN

Stack Overflow用户

发布于 2010-07-29 04:00:26

“MacRuby的目标是允许创建成熟的Mac OS x应用程序,这些应用程序不牺牲性能来享受使用MacRuby的好处。”--MacRuby自述。

MacRuby并不像Rob所说的那样是一个“翻译层”。它是Cocoa使用的同一个对象系统上的Ruby。您当然可以用它构建“一流”应用程序,也可以完成与目标C不方便的事情。

请注意,不要将MacRuby与RubyCocoa混淆。苹果没有为MacRuby“提取所有的模板”,因为它们从来没有默认发布过。

此外,随着每个版本的发布,LLVM与苹果平台的集成也在增长。XCode的下一个版本将依赖LLVM进行高级代码完成、检查和编译。如果苹果不强调什么的话,那就是GCC。

人们可能还会注意到,MacRuby在API覆盖率方面具有与Objective相似的限制:例如,创建经过身份验证的应用程序或访问密钥链需要两种语言的包装类。

票数 13
EN

Stack Overflow用户

发布于 2010-04-19 01:14:40

我确实花了一些时间在RubyCocoa上,但让我研究Obj的是,最终所有Cocoa和其他框架的文档都是用Obj语法编写的。在它中,self Obj并不是一个很大的语言,如果您在其他基于C的语言和面向对象程序设计( OOP )方面有一些经验的话,它应该不会花很长时间来学习。非常大的一点是,框架可以工作,Cocoa等等,至少在rubyCocoa中,您仍然需要学习框架。除此之外,我很难相信像Ruby这样的脚本语言能够提供与编译C语言相同的性能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2664661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档