Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #38, ЯНВАРЬ 2004 г.

Интимные вопросы про Macintosh

Федор “5p1k3” Галков

Спецвыпуск Xakep, номер #038, стр. 038-052-6


ДИ: У Mac OS имеется несколько API, удовлетворяющих разным стандартам или потребностям. Насколько я знаю, у Windows и Linux тоже не один API. Начну с UNIX API по стандарту POSIX (только удовлетворяющие этому стандарту API системы могут называться UNIX). Кстати, из перечисленных в вопросе ОС, только Windows прошла официальную сертификацию на POSIX-совместимость - это дорогостоящая и, в общем, формальная процедура. Этот API позволяет писать программы, которые могут работать на различных UNIX’ах, работая из командной строки. Сarbon – API, унаследованный от "классической" Mac OS, однако переработанный для поддержки многозадачности, защиты памяти, новых технологий интерфейса в Mac OS 10. Кроме того, из него были убраны (переименованы) все процедуры, имеющие одинаковые имена с процедурами Windows API. Программа, написанная с использованием вызовов из этого API, может работать и под классической Mac OS, и под Mac OS X (кстати, значительная часть Carbon API доступна и под Windows, когда там установлен Apple QuickTime). Первоначально разработанный исключительно для облегчения переноса старых программ, этот API стал одним из основных для Mac OS 10. Cocoa - это уникальная объектно-ориентированная среда разработки и исполнения программ, пришедшая с NeXT. Она считается одной из первых и до сих пор остается лучшей системой быстрой (визуальной) разработки приложений. Базируется на объектно-ориентированном языке Objective-C, унаследовавшем классические свойства Smalltalk (объектно-ориентированный язык, разработанный в XEORX PARC), однако доступ к Cocoa API есть теперь и из Java. В нем есть вызов функций и передача параметров по именам, линковка во время исполнения, настоящий полиморфизм (объекты разных типов могут получать одинаковые сообщения, и для этого не надо городить кучу наследований, как в C++). Для разработки используется среда Xcode (в предыдущих версиях ОС - Project Builder, Interface Builder), совмещающая все необходимые средства для полноценной разработки, включая систему контроля версий. И что самое замечательное - это все поставляется в каждой коробке с ОС! Естественно, можно писать программы, смешивая вызовы из всех этих API, используя каждый для достижения максимальной эффективности и скорости разработки. Кроме этих API, есть возможность писать программы при помощи языка AppleScript, этот язык позволяет довольно легко интегрировать между собой функции, предоставляемые прикладными программами, или расширять их возможности. Кроме того, есть возможность автоматически записывать действия пользователя в виде команд этого языка.

5p1k3: Какие самые лучшие компиляторы C/Pascal под Мак? Есть ли удобные визуальные среды разработки, наподобие Delphi & C Builder?

ДИ: Metrowerks CodeWarrior (C, C++, Java) - на ней написано подавляющее большинство программ для Мака. Apple Xcode (Objective-C, C, C++, Java, AppleScript) - поставляется с Mac OS 10.3, это родная среда разработки Mac OS (можно про нее много рассказать, но это тема отдельной статьи). RealBASIC - визуальная среда разработки (не знаю, правда, причем тут BASIC - там от этого языка ничего не осталось), позволяющая писать одновременно для разных версий Mac OS и Windows. Есть система управления базами данных/среда разработки - 4D, позволяющая быстро писать распределенные приложения, работающие в гетерогенной среде с использованием клиент-серверной архитектуры (проще говоря, есть сервер базы данных и клиенты, и все это может быть как разные Mac OS, так и Windows). Также есть Macromedia Flash - от простого редактора векторных мультфильмов эта среда уже добралась до статуса средства разработки, и, думаю, заслуженно.

Назад на стр. 038-052-5  Содержание  Вперед на стр. 038-052-7