2016-11-20 119 views
0

下面的鏈接顯示在Windows API是如何工作的例子:什麼是mac的win32等價物?

Module 1. Your First Windows Program

我在Mac的API的樣子很感興趣。

在做了一些閱讀之後,我讀了很多像XCode(Environment),Cocoa Framework等等的東西。但是,我沒有看到任何有關Win32 API的信息。

不是Apple有一個低級別的C API,它不是基於Obective-C而是普通的舊C?

+0

OS X實現POSIX(便攜式操作系統界面)。你可能想要找那個。 – fuz

回答

5

您的鏈接指向Windows GUI組件的教程。在這種情況下,OS X的等價物確實是Cocoa框架,它由Foundation和AppKit庫(Objective-C庫)組成。

可可的控制圖完全是本地的應用程序。因此,使用控件構建應用程序的唯一方法是使用Objective-C。沒有什麼能阻止你在上面建立一個C API;類似的策略已經被用來構建像Qt這樣的庫或綁定到像Python和Ruby這樣的語言。

OS X中沒有簡單的C GUI API。有低級別的API(Quartz圖形框架的一部分,也就是Core Graphics API)用於處理窗口管理器來打開頂級窗口,但這些要麼非常複雜,要麼完全沒有記錄。即使如此,你也要負責自己做所有的控制和輸入處理。 更新應用程序構建的一些基本設施也可以通過C API獲得,即Core Foundation,Core Graphics,Core Text和Grand Central Dispatch。但是這些仍然不足以使用可可;可可只是建立在它們之上。

還有Carbon API,它是一個C API,但是用於將OS X之前的應用程序轉換到OS X,因此不適用於新的應用程序開發。事實上,我甚至不知道它甚至得到了支持。

所以,你有兩個選擇,如果你想要寫OS X的GUI程序純C:

  • 找到一個包裝庫
  • 放棄學習Objective-C,其位於的頂部無論如何都是純C

如果在線教程(包括蘋果的官方教程)不適合你,那麼關於Cocoa開發的Big Nerd Ranch書籍很不錯。請注意,他們面向初學者的書籍正在向Swift語言過渡,但他們也有一本專門用於教授Objective-C的書。

您還需要知道,OS X應用程序幾乎只使用稱爲Interface Builder的圖形設計器專門設計其用戶界面,類似於Visual Studio中的窗體設計器。使用Windows API,您仍然可以通過代碼完成任務,而且很多人都這麼做;使用OS X,以編程方式執行所有操作都很困難(但仍有可能)。

相關問題