相對於持續進化的 Swift,Objective-C 是成熟穩健的技術,目前主要用於 Mac 和 iOS 程式設計。本文說明學習 Objective-C 的益處和注意事項。 繼續閱讀
本系列文章介紹 Objective-C 程式設計,會專注在 Objective-C 的核心語法上,而非 macOS 或 iOS 程式設計。
蘋果生態圈在這幾年出現很大的變化。Swift 變成蘋果平台主要的語言。Objective-C 用來維護現有專案及橋接 C 和 C++ 的 API。因應這樣的變化,本系列文章會著重在 Objective-C 在非蘋果平台的應用,即為 GCC 及 GNUstep。但大部分的知識也可用在蘋果平台上。
若想要在 Windows 上練習 Objective-C,可以用 GNUstep,這是一個 Cocoa 的自由軟體再製版本。GNUstep 有提供 Windows 版本的安裝檔 (installer),但也可以自行從原始碼來編譯;我們兩種方法都會介紹,並且比較其差異。 繼續閱讀
如果要在 macOS 上學 Objective-C,大部分的程式人都會使用 Xcode,這是正規的方式;不過,如果有跨平台的選擇,GNUstep 是一個替代的方案。本文兩者皆會介紹。 繼續閱讀
若想要在 GNU/Linux 上練習 Objective-C,可以用 GNUstep,這是一個 Cocoa 的自由軟體再製版本。主流的 GNU/Linux 應該都會提供預編好的 GNUstep 套件,但也可以自行從原始碼來編譯;我們兩種方法都會介紹,並且比較其差異。 繼續閱讀
由於 Objective-C 在非蘋果平台上不是主流語言,不一定每個 GNU/Linux 發行版都會有預編好的 Objective-C 編譯器和 GNUstep 函式庫。因應這項議題,本文介紹以 Docker 編譯 Objective-C 程式的方式。此外,由於 Docker Hub 中所分享的 GNUstep 映像檔都很舊了,本文會從 Ubuntu 基底映像檔重新建立 GNUstep 開發環境。 繼續閱讀
正規的 Objective-C 開發環境圍繞在蘋果平台上,在非蘋果的平台上能用的開發工具甚少。雖然可以用 VSCode 寫 Objective-C 程式,VSCode 畢竟是編輯器而非 IDE。本文介紹使用 KDevelop 撰寫 Objective-C 的流程。 繼續閱讀
為什麼 GNUstep 要設計以 Makefile 為基礎的專案管理工具呢?因為 GNU Make 不被特定 IDE 綁住,可以在純終端機環境下工作,GNU Make 本身又是類 Unix 系統上常見的專案管理工具,直接使用 GNU Make 是最符合經濟效益的。 繼續閱讀
在 Objective-C 的發展中,Clang 和 GCC 的腳步並不一致,造成兩者在編譯 Objective-C 程式碼時不完全相容。如果很在意編譯器相容性的話,最好對兩個編譯器都各自編譯一次。由於編譯和執行程式是很機械性的動作,我們使用一個 shell 腳本將這個過程式自動化。 繼續閱讀
本文假定讀者沒寫過或僅寫過少量 Objective-C 程式,從頭說明相關概念。 繼續閱讀
我們建議還沒學過 C 語言的讀者先學完 C 之後再來學 Objective-C。因為 Objective-C 是 C 的嚴格超集,學 C 比學其他語言更有直接助益。在本文中,我們假定讀者已經看過 C 的語法,會以比較的方式來介紹 Objective-C 的特性。 繼續閱讀