xyz*_*xyz 8 ruby macos objective-c macruby hotcocoa
我刚刚发现了MacRuby/HotCocoa,并且非常喜欢他们正在做的事情的声音.
我基本上打消了自己制作Cocoa GUI应用程序的前景,因为我厌倦了花时间和精力学习另一种基于C语言的Objective-C.我不是说这很糟糕,只是不适合我.
现在或者在可能的未来,是否能够单独使用MacRuby/HotCocoa制作具有实质性和一流性的Cocoa GUI应用程序而完全忽略Objective-C?
(编辑:桌面Mac,而不是iPhone)
arb*_*les 13
"MacRuby的目标是创建功能齐全的Mac OS X应用程序,这些应用程序不会牺牲性能以享受使用Ruby带来的好处." - MacRuby自述文件
Rob说,MacRuby不是"翻译层".它是与Cocoa使用的相同对象系统上的Ruby.您当然可以使用它构建"一流"应用程序,并且还可以完成Objective-C不方便的事情.
小心不要将MacRuby与RubyCocoa混淆.Apple没有为MacRuby"拉出所有模板",因为它们从未默认发货.
此外,LLVM与Apple平台的集成随着每个版本的增长而增长.XCode的下一个版本将依赖LLVM进行高级代码完成,检查和编译.如果Apple不重视任何事情,那就是海湾合作委员会.
有人可能还会注意到,MacRuby在API覆盖范围方面有类似的限制,例如,Objective-C可以:例如,创建经过身份验证的应用程序或访问密钥链需要两种语言的包装类.
通过翻译层构建一流的应用程序将非常困难.要获得本机所需的性能和行为是很困难的.我对MacRuby的方法印象深刻,尤其令人印象深刻的是他们能够管理Core Animation(一流的Mac应用程序的关键部分)和Core Data(这是很难的东西)之类的东西.我对他们使用更惯用的Ruby而不是RubyCocoa的丑陋感到印象深刻.但有理由认为,苹果公司已经"非常强调"(因为他们称之为)他们在Java,Ruby,Python等方面的多语言设计.用一种语言写这些东西是很困难的.当你没有通过半支持的翻译层时,很难做到正确.实际上,您仍然需要学习ObjC语法来处理文档和所有现有代码.在实践中,你仍然需要学习ObjC模式来开发合适的Mac应用程序.
MacRuby很有意思.即使作为经验丰富的ObjC程序员,我也可能会考虑使用HotCocoa来破解原型并尝试接口.但是,正如你所说的那样,这并不是我用来构建"具有实质性和一流性质的Cocoa GUI应用程序"的东西.
作为开发人员,我们的一部分工作就是拥有一袋工具.就像一个好木匠有几个不同的锤子,加上撬棒,指甲套,几种方形和十几种其他工具,程序员应该熟悉各种语言,编程范例,平台和环境.然后,她应该能够为工作选择正确的工具并有效地使用它们.在Mac编程的情况下,正确的工作工具包括Xcode,IB,ObjC和Cocoa.避免它们就像一个木匠避免使用框架锤和速度方块.他们只是工作的一部分.
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |