我是否真的必须学习Objective-C来开发可靠的Mac应用程序?
由于Mac用户倾向于仅使用具有良好(本机)GUI的应用程序,因此我认为Mono和GTK +或任何Java GUI(Swing)都不能满足他们的需求.
有像Cocoa#,PyObjC和RubyCocoa这样的项目,但它们是否准备好迎接黄金时段?
那么我真的需要学习Objective-C吗?我更喜欢动态语言.
Objective-C 是一种动态语言,就Objective-C部分而言.这里有一篇小摘要文章:http: //www.macdevcenter.com/pub/a/mac/2003/04/28/objective-c.html
一开始语法很吓人,但它会逐渐增长.我建议咬着子弹并穿过它.
如果你想在与其他人一起做Mac编程的"真正工作"中工作,你将需要了解Objective-C(无论如何,我认为).
我认为简短的回答是肯定的,你需要学习Objective-C.
Python和Ruby"桥梁"起作用,但它不是Apple推动或使用自身的东西.几年前,有一个与Cocoa的Java桥梁,但现在已被弃用.谁知道非ObjC语言会发生什么?
无论如何,Objective C非常有活力.可能不是Ruby/Python的方式,但它肯定不像C++.
简答:是的:)
我们的第一个应用程序是使用PyObjC桥构建的.根据经验,我可以告诉您,要构建一个需要学习桥梁的应用程序:
桥的特质
用桥接语言读写代码(在我的例子中是Python)
阅读Objective-C中的代码(所有有用的示例代码都在Obj-C中)
在Objective-C中编写伪代码(如果你想在邮件列表或同样的问题上提问)
可可
在所有要学习的东西中,Cocoa是最重要的.这是真正有趣的东西进来的地方,你真正需要的东西包裹你的大脑.在完成这个PyObjC项目之后,我很容易在Obj-C中编码,尽管我之前没有经验编码.
所以我的建议是:专注于学习Cocoa,并使用最适合作为工具的语言(Obj-C).如果您发现使用网桥的特定原因,例如需要可以处理网络SQL的ORM等,您可以应用您学习编写第一个Obj-C/Cocoa应用程序的大约90%(s) )在桥梁项目中.
最后:我并不真正理解很多人不熟悉平台必须学习Objective-C的情况.学习新东西并用这种新知识建立最好的东西,难道不是令人兴奋和满足吗?
即使您选择使用其中一个桥,您也一定需要学习Objective-C.Apple已经通过他们对Java的处理表明他们并不真正有兴趣通过Objective-C以外的任何东西提供大量支持或向后兼容Cocoa.
因此,如果您愿意,可以使用其中一个桥,但要牢牢掌握Objective-C运行时和桥,以便您可以自行管理它们(如果需要).