我想开始尝试使用Cocoa并为Mac OSX编程。我现在并不十分关注Objective C语法/构造/ bheaviors,但是对编辑器和/或IDE的高效设置更加好奇,这将使我快速前进。在解决方案/项目概念方面,是否有任何IDE甚至远程类似于Visual Studio(因为那是我过去7年中大部分时间都在这里度过的)?快速启动和试验的任何其他工具,技巧,建议和/或资源?
我想避免很多介绍内容并进入“如果你想创建一个Mac桌面应用程序,你可以使用 Acme IDE 并设置你的项目这样的东西“。
我害怕Xcode会成为答案! :P我试着玩弄它 - 实际上只是把它从DVD中取出而只是潜入而不知道会发生什么(在我甚至不知道你使用Objective C作为语言之前)。我想,我是一个聪明人,我可能只是摸索着让一个简单的应用程序工作......错了。
@Andrew - 感谢您对这些配置设置的深入了解。基于我对Xcode的第一印象,我认为这些可能有所帮助。
答案 0 :(得分:18)
我建议你选择一个有趣的小产品并潜入。如果你正在寻找一本书,我建议Cocoa Programming for Max OSX这是对Objective-C和Cocoa的非常好的介绍。
XCode几乎是事实上的IDE,并且可以免费使用OSX。它应该在您的原始安装DVD上。它很好,但不如Visual Studio好(抱歉,它真的没有)。
作为一个长期的VS用户,我发现默认的XCode配置有点奇怪且难以调整,特别是对于每个源文件打开一个新的浮动窗口的方式。我发现一些调整特别有用;
我发现调试器有一些恼人的问题,例如断点没有正确映射到行,并且调试器不会立即捕获异常。什么都没有破坏,但有点麻烦。
我建议您使用为Objective-C 2.0引入的新属性语法。在许多地方,他们的打字减少了许多。它们仅限于OSX 10.5(是的,语言功能与OS版本相关,这有点奇怪)。
也不要愚弄淡化C / C ++和Objective-C之间的差异。他们非常相关但是有不同的语言。尝试并启动Objective-C,而不考虑如何在C / C ++中执行X,Y,Z.这会让事情变得容易多了。
答案 1 :(得分:4)
要阅读和摘要的第一个文档是the Mem management guide,在继续之前要先了解这一点。 This也是Objective-c的一个很好的指南。事实上,Apple的开发者网站非常好 - 但您可能希望首先阅读Hillegas书籍。
关于Xcode与Visual Studio - 它们是不同的。我不会说一个比另一个更好 - Windows开发人员来自VS并期望它是相同的。这只是一种傲慢的态度,请不要落入这个人群。从AppStudio的日子和Xcode开始使用VS已经有一年左右的时间了,两者都有优点和缺点。 Xcode是开箱即用的东西(尤其是来自VS的东西)看起来不太好,但是一旦你开始使用和理解它 - 它变得非常强大。
此外,Xcode等人还有更多的工具,比如乐器和鲨鱼,你根本无法用VS,除非你打开你的钱包,即使那时恕我直言也没那么好。
无论如何,祝你好运。我仍然喜欢C#,但是一旦你进入它,Objective-C / Cocoa就会让编程变得有趣......
答案 2 :(得分:4)
从那时起,他们已经发布了新版本(3.1)的XCode,因此不要费心去挖掘你的OSX DVD。
首先,你想要加入Apple Developer Connection(它是免费的,你需要它来访问他们的MSDN版本) - 它使用你的Apple ID,所以如果你曾经有一个用于itunes商店等,它是相同的用户名/密码
完成后,点击下载,然后点击开发者工具,查看this page,然后转到XCode 3.1 Developer DVD
答案 3 :(得分:2)
另一个建议:如果您有功能或增强请求,或者您遇到过的错误,请务必在Apple的Bug Reporter处提交。这是开发人员向Apple传达他们需求的最佳方式,因为每个问题都通过系统进行跟踪。
答案 4 :(得分:1)
您可以尝试textmate的演示,看看您对如何使用objective-c或任何其他类型的文本感兴趣。它将导入xcode项目设置,因此您仍然可以从textmate编译和运行,而不必返回xcode。
答案 5 :(得分:1)
Xcode是编辑源文件的标准,但是如果你真的想要的话,可以使用另一个编辑器和命令行xcodebuild工具。在最终放弃Xcode之前,我使用Vim进行了所有Cocoa编辑。它不是世界上最好的IDE,但它完成了工作,最近的3.x版本有了一些不错的改进。
Cocoa开发的真正强大工具是Interface Builder。 IB不像许多UI工具那样生成源代码。相反,它操纵真正的Cocoa视图,控件和对象,然后将其捆绑到程序在运行时加载的存档(nib)中。大多数Cocoa程序使用至少一个nib文件,通常还有更多。
无论您选择哪种IDE /编辑器组合来攻击源文件,我建议您尽可能使用IB。即使你不是其他UI布局/生成工具的粉丝,我建议保持开放的心态,给“Cocoa方式”一个机会,至少要了解Interface Builder可以为你的开发过程做些什么。
答案 6 :(得分:0)
AFAIK,几乎每个OS X开发人员都使用Xcode。
那,以及用于创建GUI的Interface Builder。
FWIW,试着抓住Hillegas的书的副本,因为它是一本很棒的入门教程,苹果公司提供的参考资料实际上并非如此。 (但它们通常是非常好的参考文档)。
答案 7 :(得分:0)
可可是巨大的。学习如何在Mac上编写应用程序最困难的部分是学习Cocoa。顺便说说。你不需要知道ObjC(虽然它有助于吨)。您可以使用Python或Ruby编写Cocoa应用程序(在IDE中)。
我同意VS是一个比Xcode更好的IDE。但是如果你投入Interface Builder和所有其他工具,我不太确定。对于一切,Mac开发并不是一个巨大的IDE。但VS对于开发人员来说是“更友善”,然后是Xcode。
此外,如果您想要跨平台应用,请查看RealBasic。一个很好的工具(Basic虽然。但它也可以在Linux上运行。)你会惊讶地发现有多少Mac应用程序是用RB编写的。
答案 8 :(得分:0)
我听说目前那里的书已经过时了。整个生态系统似乎发展得非常快,每次操作系统版本都会发生重大变化。
他写了一个tutorial,它汇集了一些Apple文档和其他教程,这些教程应该可以帮助您入门。我认为它涵盖了使用IDE的基础知识,编写简单的应用程序,然后继续使用更高级的东西。
答案 9 :(得分:0)
过去几年我一直在涉足Cocoa,最近选择了Fritz Anderson的“Xcode 3 Unleashed”。非常推荐进入Xcode - 尤其是3.0 / Leopard带来的一些重大变化。
不要忘记Hillegass'defacto Cocoa圣经“,Mac OS X的Cocoa编程 - 第三版。”
答案 10 :(得分:0)
@peter我不知道你为什么在让一个简单的应用程序工作时遇到麻烦,没有做任何事情你的应用程序从Cocoa框架获得了很多好处。如果你的意思是你试图做一些事情,比如将一个按钮连接到一个动作并让它在屏幕上打印一个警告或类似的东西,那么我可以看到你的状态很难。
许多年前我从Cocoa开始的问题是它与其他任何东西都有所不同,它有一点学习曲线。而许多其他系统是面向编译时的,Cocoa是非常动态的,并且是面向运行时的。一旦你了解了动作如何与类连接,它就变成了学习Cocoa框架如何工作的问题。