Слово

Помните: «В начале было Слово…». Вот это именно оно. В этой серии статей  попробуем разобраться и описать, как можно программировать под Mac OS X, что делать стоит, что не стоит. Ну, и для чего это вообще нужно. Ведь есть масса других систем.

Аргументы…

В пользу каждой операционной системы есть свои доводы. И часто программирование под какую-то из систем — это не вопрос выбора или предпочтений, но часть технического задания. В таком случае спорить (аргументированно) достаточно трудно. И наверное только Mac OS X (и вообще компьютеры Apple) можно хоть как-то отстоять в этом споре за рабочее место.

Пускай нам программировать все-равно на чем. Например, для web. В таком случае чаще всего мы работаем с Apache/MySQL/P(HP/Perl/Python). Тут проблем нет для любой ОС. Но далее — нужно проверять, как все визуально выглядит в браузерах. И все системы подводит невозможность (легального) запуска Mac OS X для проверки, как будет работать сайт в Safari. А вот наоборот — пожалуйста, сколько угодно. В трех вариантах.

Ладно, пускай даже нам нужно разрабатывать что-то конкретно под Linux/Windows. Вроде бы в этом случае точно нужно выбирать соответствующую платформу, соответствующую ОС. Но постойте, зачем? В виртуальных машинах указанные системы работают блестяще. При этом есть возможность локально эмулировать сеть (запустить сервер в одной VM, клиента в другой), делать снапшоты (сохранять состояние VM на определенный момент времени для последующего отката) и так далее.

И, наконец, никто не запрещает поставить родную Linux или Windows (или обе сразу) на Mac. Обратное сделать нельзя. А вот так — запросто, если нужно.

Есть ли аргументированные минусы у Маков? Да, есть. Патологическая неприязнь. Некоторым нужно что-то конкретное. Например, настраиваемость FVWM. Или разворачивание окна по двойному щелчку мыши на заголовке. Вот нужно и все тут. В таком случае Mac OS X категорически противопоказан, ничего кроме отрицательных эмоций в таком случае не получается.

и факты…

А факты простые. На конференциях разработчиков все чаще встречаются MacBook’и и MacBook Pro. На них проводятся презентации, демонстрируются прототипы разработок и финальные релизы. 

Mac’и вошли в жизнь разработчиков достаточно плотно. А местами просто покорили их. Например, Java разработка. На конференции JavaOne процентов 60 всех компьютеров — это ноутбуки фирмы Apple.

Ну, довольно лирики. Давайте посмотрим, что вообще предоставляет Apple для программирования и как удобно это все настроить, чтобы пользоваться.

Дайте два!

Есть две простые вещи, которые не всегда очевидны и не всегда легко понимаемы разными разработчиками. Особенно теми, кто создает не конечный продукт (Notepad), а платформу для других (1C).

Во-первых, для создания платформы нужно, чтобы на ней что-то работало. То есть чтобы сторонние программисты могли под нее создавать программы. Вспомним, какая шумиха была по-поводу iPhone SDK… Еще бы, практически никогда еще такие SDK не раздавались просто так. И почти никогда они не были настолько качественными. Или, например, когда разрабатывалась Sony Playstation 3, DevKit (инструментарий разработчика, Developer Toolkit) для нее был готов гораздо раньше самой приставки. Чтобы к выходу приставки уже могли появиться хотя бы несколько игр. Поэтому инструментарий — это важно. Это архиважно. И в Apple это отлично понимают. Они раздают его бесплатно (к любому Маку на диске с ОС поставляется и SDK), они его очень активно развивают.

Во-вторых, создание большой платформы — это большой труд многих людей (использующих те же Маки). Люди разные, и инструментарий должен быть разнообразным. С этой целью с Mac OS X традиционно поставляется несколько скриптовых языков, уже настроенных для работы. Собственно, Mac OS X — единственная ОС (сейчас начинают появляться Linux’ы), в которой изначально стоит Java. Поэтому для того, чтобы начать программировать под Mac OS X, не нужно скачивать и устанавливать, например, Python, если вы хотите написать на нем скрипт. Просто садитесь и пишите — оно уже там, уже настроено.

Продолжение следует…

Автор статьи Александр Бабаев.


Читайте также: