其中, Cocoa 為 Apple 公司提供開發 Mac OS X 應用軟體的物件導向 (object-oriented) API , Carbon 則是程序式的 (procedural) 。 Java 使用在 Java 語言,至於 POSIX 與 X11 為 UNIX 的 API ,許多自由軟體 (free software) 如 GIMP 、 Inkscape 等都使用 X11 。
iOS 與 Mac OS X 都是基於 Darwin 的作業系統,兩者都使用 Objective-C 為主要開發應用程式的程式語言,然而開發 iOS 需要另外下載 SDK 才可利用 UIKit ,目前本系列教學文章並不打算延伸到 iOS 的範圍。關於 iOS 的開發,可先參考官方的指南
iOS App Programming Guide
iOS Technology Overview
Mac OS X 的 Cocoa 分成兩大部份,分別是
- Foundation
- AppKit
Foundation 提供基本的物件 (object) ,例如所有物件之母 NSObject , Cocoa 中的物件都是繼承 (inherit) 自 NSObject , NSObject 定義了物件基本的操作。其他有
- 數值物件 (value objects)
- 集合物件 (collections)
- 作業系統相關 (operating-system services)
- 通知相關 (notifications)
- 儲存及序列化相關 (archiving and serialization)
- Objective-C 語言相關 (Objective-C language services)
- XML 處理 (XML processing)
- 運算式相關 (predicates and expressions)
例如我們用過的 NSString 就是數值物件, NSArray 與 NSMutableArray 都屬於集合物件,這些都定義在 Foundation 裡頭,因此在 Encrypt.h 的開始需要先 #import 進來
#import <Foundation/Foundation.h>
有關各類型物件的介紹,請參考官方文件
What Is Cocoa?
AppKit 則提供圖形使用者介面 (graphical user interface) 大部分的類別 (class) ,亦即 MVC 模式中 V 與 C 的部份。我們將利用 Xcode 中的 Interface Builder 直接以視覺化的方式,搭配滑鼠拉出 GUI 程式的外觀,並做各個 GUI 元件相互的連結,然後設計我們 GUI 程式專屬的 C 類別,藉以控制每個元件的動作。
稍後再來介紹如何使用 Interface Builder ,我們先來看看GUI 的基本概念吧!
中英文術語對照 | |
---|---|
應用程式介面 | application programming interface |
物件導向 | object-oriented |
程序式的 | procedural |
自由軟體 | free software |
物件 | object |
繼承 | inherit |
數值物件 | value objects |
集合物件 | collections |
作業系統相關 | operating-system services |
通知相關 | notifications |
儲存及序列化相關 | archiving and serialization |
Objective-C 語言相關 | Objective-C language services |
XML 處理 | XML processing |
運算式相關 | predicates and expressions |
圖形使用者介面 | graphical user interface |
類別 | class |
您可以繼續參考
軟體開發
相關目錄
Objective-C 入門指南
Objective-C 教材
首頁
參考資料
Learning Objective-C: A Primer
The Objective-C Programming Language
Cocoa Fundamentals Guide
Coding Guidelines for Cocoa
Advanced Memory Management Programming Guide
Archives and Serializations Programming Guide
沒有留言:
張貼留言