从Windows的角度看Mac OS X上的软件开发( 二 )


CLI Shell环境 CMD.EXE UNIX shell (bash/tcsh/etc., 可使用Terminal.app一类的终端机软件进入)
GUI (Shell) 环境 Windows Explorer Aqua (Finder)
程序二进制文件格式 Portable Executable (PE): .EXE, .DLL Mach-O "universal" binary (可执行文件通常不带附加名,DLL结尾为.dylib)
用来辨认软件组件的方式 GUID bundle identifier (Java式的id,例如com.apple.TextEdit)
厂商提供或贩卖的开发环境 Microsoft Visual Studio Xcode
可视化的GUI制作工具 Visual Studio内建的WinForm designer Interface Builder
C编译程序 Microsoft C Compiler GCC
表一:Windows与Mac OS X在架构上的对照
开发语言与API;Objecitve-C, Core API, Carbon, Cocoa
如果使用微软工具来开发Windows软件,就一定会碰到Platform SDK,MFC或者.Net平台,同时,也相对应到C、C、C#和其他.Net平台所提供的语言(这种区分并不是绝对的,仅仅是为了方便接下来的模拟所做的简化) 。在OS X上,Apple则是鼓励大家尽量采用Objective-C作为开发语言,并且熟悉Cocoa 。
【从Windows的角度看Mac OS X上的软件开发】接下来的问题既尴尬又麻烦 。很多人会问:我们是否非学Objective-C不可?另外一个常见的问题是:Apple不是也有名叫Carbon的C API吗?(延伸出来的问题则是:可不可以用C开发Mac程序?) 。
简单的答案(同时一定程度上也代表Apple的态度)是:要用Objective-C才能完全发挥OS X图形应用环境的长处,而Cocoa这个用Objective-C写成的API framework就是最佳的施力点 。

推荐阅读