Доброго времени суток.
Сегодня новое представление будущего раздела.
Это система Макинтош - и Юникс от Яблока.
На сайте пока особых изменений нет, разве, что пара новых неплохих ссылок :)
и новый модератор раздела php MySQL обещающий с интересом вести свою тему.
А пока сегодня:
Mac OS X - UNIX от Apple
С выпуском Mac OS X (10), Apple заявила о своём лидерстве на поприще передовых
технологий и создании удобного для пользователей дизайна, что является необходимой
чертой для любой крутой операционной системы..."
Apple Computer about Apple Mac OS X.
--------------------------------------------------------------------------------
Для начала, Mac OS X - это Darwin ядро собранное под PowerPC, и куча надстроек,
имеющих одну генеральную линию - создать "UNIX с человеческим лицом"
Вот схема, которую эплы называют архитектурой Mac OS X:
-----------AQUA----------
CLASSIC-CARBON-COCOA-JAVA
QUARTZ--OPENGL--QUICKTIME
----------DARWIN---------
AQUA - это всего лишь пользовательский интерфейс.
CLASSIC - это эмуляция Mac OS 9, ичего общего с AQUA не имеет (по внешнему виду)
CARBON - модифицированный Mac OS API, с помощью которого можно создавать native
Mac OS X программы.
COCOA - модифицированный NexT API (базированный на Objective C), с помощью которого
можно создавать другие native Mac OS X программы.
JAVA - ну, вы в курсе.
QUARTZ - OPENGL - QUICKTIME - графические подсистемы
QUICKTIME - старый, но обновлённый эпловый брэнд
OPENGL - я ещё никогда не видел такой плотной интеграции юзер-интерфейса с Open
GL, не только при создании "украшений";
QUARTZ - Вам лучше самим почитать об этом на эпловом сайте
В один ряд с Classic, Carbon и Cocoa можно добавить появившийся недавно X11.
Таким образом на Mac OS X вы имеете возможность создавать native программы на
трёх языках: C (Carbon), Objective C (Cocoa), Java. Но на ряду с этим у эплов
есть понятие AHIG (Aqua Human Interface Guidelines) и они очень сильно хотят
видеть на своей операционке софт соответствующий этому AHIG. Надо сказать что
с помощью JAVA сделать это практически невозможно, Carbon требует для этого больших
усилий, и только Cocoa позволяет сделать это быстро и качественно (о Classic
я даже не вспоминаю).
Что же касается оболочек для разработки, то не смотря на большое разнообразие
этого всего на UNIX платформах, на Mac OS X Вам выбирать не приходится. Стандартные,
свободно распространяющиеся Apple Developers Tool и старый добрый CodeWarrior
- это пока что всё что позволит Вам быстро создать юзер-итерфейс и наполнить
его смыслом. Но если CodeWarrior пока что не успевает за всеми нововеяниями и
на данный момент является нестабильным и баговам (это касается также и встроенных
компилятора и линкера), то Developers Tools ведут себя не очень дружественно
по отношению к C++ разработчикам:
1) страдает скорость компиляцииж;
2) компилятор неуспевает за последними C++ стандартами (виноват в этом правда
gcc);
3) runtime несоответствует потребностям C++ - по умолчанию в runtime'е порядок
загрузки/выгрузки модулей организован как очередь, а не как стек*.
Но не смотря на все недостатки, то даже имея опыт работы на Windows и Linux,
я считаю Mac OS X единственной операционкой, которая имеет средства не только
быстро создавать качественный софт , а ещё и получать от этого процесса эстетическое
удовольствие.
А что касается передовых технологий - может быть в следующий раз раскажу :)
--------------------------------------------------------------------------------
* dyld формат использующийся в Darwin подразумевает произвольный порядок загрузки,
который может быть задан разработчиком (задаётся runtime'ом), по дефолту модуль
может быть загружен и проинициализирован только при первом к нему обращении -
например при первом вызове функции или при обращении к данным.
Удачи и всего доброго.
Громозека.
http://shelek.com/clubhttp://shelek.com/http://shelek.com/bn