2016-11-20 2 views
0

ссылка ниже приведен примеры того, как работает API для Windows:Что такое эквивалент win32 для mac?

Module 1. Your First Windows Program

Я очень заинтересован в том, как Mac API выглядит.

После некоторого чтения я прочитал много вещей, таких как XCode (Environment), Cocoa Framework и т. Д. Однако я не вижу никакой информации о чем-то вроде Win32 API.

Разве Apple не имеет API уровня низкого уровня, который не основан на Obective-C, а просто старый C?

+0

ОС X реализует POSIX, портативный интерфейс операционной системы. Возможно, вы захотите это посмотреть. – fuz

ответ

5

Ваша ссылка указывает на учебное пособие для компонентов графического интерфейса Windows. В этом случае эквивалент OS X действительно является основой Cocoa, которая состоит из библиотек Foundation и AppKit, которые являются библиотеками Objective-C.

Чертеж управления какао полностью локален для приложения. Таким образом, единственный способ создания приложений с использованием элементов управления - с Objective-C. Ничто не мешает вам создавать C API поверх этого; подобная тактика была использована для создания таких библиотек, как Qt или привязки к языкам, таким как Python и Ruby.

В OS X нет простого API-интерфейса GUI. Существуют API-интерфейсы низкого уровня (часть графической оболочки Quartz, также известный как API-интерфейс Core Graphics) для работы с оконным менеджером для открытия окон верхнего уровня, но они либо очень сложны, либо полностью недокументированы. И даже тогда вы будете нести ответственность за выполнение всех элементов управления и ввода. Обновление Некоторые из основных возможностей, которые приложения создают сверху, также доступны через API C, а именно Core Foundation, Core Graphics, Core Text и Grand Central Dispatch. Но этого недостаточно, чтобы использовать какао; Какао только что построено поверх них.

Существует также API-интерфейс Carbon, который является API C, но предназначен для перехода к приложениям до OS X в OS X и, следовательно, не подходит для разработки новых приложений. На самом деле, я даже не уверен, что он даже поддерживается.

Так у вас есть два варианта, если вы хотите написать программу с графическим интерфейсом для OS X в простом C:

  • найти библиотеку оболочки
  • отказаться и узнать Objective-C, который сидит на вершине plain C anyway

Если онлайн-учебники, в том числе официальные Apple, не подходят вам, книги Big Nerd Ranch о развитии какао хороши. Обратите внимание, что их книги, ориентированные на новичков, переходят на язык Swift, но у них есть отдельная книга, посвященная обучению Objective-C.

Вам также необходимо знать, что приложения OS X почти исключительно разрабатывают свои пользовательские интерфейсы с использованием графического конструктора Interface Builder, сродни дизайнерам форм в Visual Studio. С Windows API вы все равно можете уйти от выполнения кода, и многие люди делают это; с OS X, делать все программно сложно (но все же возможно).

Смежные вопросы