当你面对着 MS 的 Visual Studio 头晕眼花加四肢无力的时候,一定绝望过、无助过,为什么微软要拿像怪物一样的 MFC 和令人费解的 COM 技术来吸取 Windows 开发人员的精力,因为你可以用它来谋生,在 Windows 独霸桌面操作系统的时代,人们需要它。如果你只想把开发软件当作混口饭吃的差事来做,你可以在混乱的 Windows 架构下继续开发,要是有更崇高一些的理想,比如说要实现自我的价值,那就会有更好的选择了。加入 linux 或者是 unix 的自由社群,为开源事业贡献你的智慧,你可以自由的选择你喜欢的任何开发框架、语言和平台,有时候选择太多也不是一件好事,而且 unix 世界的公民们普遍对图形界面不感冒,这会让你的伟大作品很难被普通用户接触到,更多的时候是在服务器中默默的工作。当然你还有另一种选择,那就是 Mac OSX(OS 9 和之前的版本不在讨论之列)。
这款继承于 NeXTStep 的操作系统也许大多数的开发人员都比较陌生,如果不是最近几年 Apple 产品的风靡,Mac OSX 可能都会被主流平台的开发人员给遗忘。早在 1990 年,Tim Berners-Lee 就在 NeXTStep 系统上开发了世界上第一款 WWW 浏览器(Mosaic),因为当时的 NeXTStep 有最简便的开发环境和最优秀的图形性能。Jobs 在 1997 年重反 Apple 之后,收购了自己创办的 NeXT,并在 2001 年正式推出了 Mac OSX。这款继承了 NeXTStep 设计架构,基于 BSD 内核,并拥有 Aqua 图形界面的操作系统,完全超越了当时的 Windows 2000 和 XP,Jobs 说我们在操作系统的技术上至少领先微软五年。Wikipedia 没法访问,只能去百度百科上看看更多关于 Mac OSX 历史的介绍了。
讲了这么多历史就是为了证明你是准备为世界上最优秀的操作系统开发程序,你不仅可以充分的利用开源项目的集体智慧、坚持 Unix 的 KISS(Keep It Simple and Stupid)哲学、还能够设计最酷的软件界面。有人曾说过:
if you develop something for Mac, the only limiting is your imagination
要为 Mac 开发程序,你需要掌握 Objective-C(C 语言面向对象的另一个分支),熟悉 Cocoa 框架(Mac OSX 的系统开发框架,类似于 Windows API 东西,但要强大 N 倍),拥有一颗对新鲜事物的好奇心和一点点艺术气质。当然,还需要很多很多的参考资料。
你必须拥有的关于 Mac 开发的书
最初级的入门指南,即使你不会 C/C++、Java、Python、Ruby 甚至是 Basic 都没有任何关系,这本书从零开始教你用 Objective-C 和 Cocoa 框架进行开发,最大的好处就是不用花钱,可以直接下载免费的 PDF 版本,而且还是中文的(目前唯一的中文 Mac 开发书籍)。
Cocoa Programming for Mac OSX II
面向 Mac 开发初学者的经典入门书籍,主要针对有 C/C++ 和 Java 开发经验的 Mac 开发爱好者,很全面的介绍了如何使用 Objective-C 在 Cocoa 框架下开发 Mac 的应用程序,并且详细讲解了 Cocoa 框架的各个部分,Mac 开发人员的必备收藏。
现在已经推出了针对 Leopard 和 Xcode 3.0 的第三版。
从 Unix 角度来剖析 Mac OSX 的内部运作,这本书将指导你如何在 Mac 上做一些高级的开发,用 Unix 的方式,全面的讲解了那些操作系统底层的功能,这些知识和技能将有助于你写出高质量的 Mac 软件,一本绝对的进阶读物,入门之后再买!
更多关于 Mac 开发的书籍可以在 Mac OSX Programming 这个豆列中找到,还有 Amazon 最全面的 Book List,顺着用户评价由高到低的排序,一定能够找到你中意的。
你一定要访问的 Mac 开发网站
- Apple Developer Connection
Apple 开发的官方网站,注册成为 ADC 的成员,你就能够得到开发所需要的一切,从开发工具到 SDK 文档,还有邮件列表,这一切都是免费的。和 Visual Studio 最大的不同就是 Xcode 永远免费提供给 Apple 的开发人员。
- Coco Dev Central
最好的 Mac 开发教学网站,上面有丰富的教程和示例,还有 Mac 开发高手们的 Blog,订阅这些 Blog 就可以分享来自专家的技巧。
- CocoaDev Wiki
最全面的 Mac 开发资料网站,教程、免费代码、技术分析、Mac 用户的各种社区还有最全的 Mac 开源项目列表,一个非常丰富的非官方开发资源库。
- Cocoa Literature
按照 Mac 系统框架结构整理的技术文档库,从这里你可以找到许多非官方的有用资料,是 ADC 很好补充。
最值得参考的 Mac 开源项目
- Open Source on Apple
Mac OSX 的核心是在开源的 Darwin 系统上搭建的,整个 OSX 使用了大量的开源项目,基于 WebKit 开发的 Safari、Apple 自己零配置网络协议的 Bonjour、还有 Core Data 中使用的 SQLite 等等,要了解如何利用开源社区的力量来创造自己的 Mac 产品,先从这里开始。
- Google Mac Developer Playground
浏览器只是使用互联网的一种方式,在 Mac 上还有许多不同的方式。Google 为喜欢 Mac 开发的玩家提供了能够访问 Google 网络 API 的代码库和各种有趣的例子,使用他们可以让你的网络服务跳出浏览器的束缚,真正与操作系统结合起来。
- Adium Source Code
Mac 上使用最多的多帐户 IM 软件,集成了现在所有的即时通讯协议,而且完全开发源代码,在网络统治一切的这是一个非常宝贵的技术资源,你可以从里面了解到完整的 Xcode
工程结构、各种 Cocoa framworks 的使用方法,很好的学习范例。
要获取这些源代码,你可以使用 Subversion 直接从它们的代码库里面签出最新的版本。
在 2008 年 3 月 6 日,Apple 宣布了 iPhone 的 SDK,Xcoder 们又多了一个玩乐的后院,你可以在一个微型的 Mac OSX 上发挥你的想象力,还能通过 App Store 赚一点点美金。
注:Xcoder 是大家对 Mac 平台开发人员的昵称,因 Xcode 这个开发工具而得名。如果你也是一名 Xcoder,有好的 Mac 开发资源希望与大家分享,可以在这里留言或者直接与 indigo (wealink, douban, facebook, twitter and friendfeed)交流。