вторник, 22 мая 2012 г.

Mac OS для разработчика



Mac OS для пользователя прекрасна во всех отношениях. Если вы не согласны, то повторяйте предыдущее предложение до полного ментального закрепления ;-) Но сегодня мы поговорим не о ее прелестях, пуская слюнку из уголка рта, а о том, насколько эта OS пригодна для разработки.
Откровенно говоря, разрабатывать можно везде. Все зависит от ваших целей. Моя область деятельности - web сервисы. Думаю, не стоит объяснять, почему в свое время я перешел под Linux. Для разработчика это рай, но... Но случается так, что тебе чертовски надоедают уродливые шрифты, неказистые графические интерфейсы (да кого я обманываю - они ущербны!) и отсутствие iTunes. К тому же, мне хотелось попробовать разработку под iOS. Так, около полугода назад,  я попал под Mac.
Прежде всего меня интересовали следующие вещи: консоль, наличие легко устанавливающегося консольного инструментария, JRE+JDK, сервера баз данных, графические средств разработки.
Благодаря UNIX-корням, MacOS, с точки зрения внутреннего устройства, похожа на  Linux (но этой похожестью все и ограничивается). Консоль, а точнее сказать терминал (т.к. в терминологии Mac консоль - это средство мониторинга системы), присутствует, и, к моей радости, шелом по умолчанию является bash. Но изначально в нем полностью отсутствует синтаксическая подсветка  дерева каталогов. Лечится это довольно быстро - созданием файла .bash_profile и добавлением в него двух строчек (подробнее о настройке терминала под Mac можно прочесть здесь):
export CLICOLOR=1
export LSCOLORS=exfxcxdxbxegedabagacad
В девственной системе компиляторы, средства работы с svn и прочие утилиты разработчика отсутствуют (разве что perl и python). Исправляется это установкой XCode и ее дополнения - “Command Line Tools”, после чего ваш походный набор разработчика будет состоять из gcc, maven, svn, git, perl, python (v 2.7), ruby (v 1.8).  Этого должно быть более чем достаточно.
С Java проблем тоже возникнуть не должно.  По умолчанию связка JRE+JDK отсутствует, но легко ставится при помощи утилиты Java Preferences. Как можно догадаться, ставится реализация JVM от Oracle, что не может не радовать.
В качестве сервера базы данных я использую Postgres. Для простоты установки можно воспользоваться пакетом от EnterpriceDB. При этом я настоятельно рекомендую ставить версию 9.1.3 и выше, т.к. пакеты предыдущих версий у меня не ставились. В довесок вам установят pgAdmin 3.
Хорошо, базовый набор готов. А как обстоят дела с IDE? Чисто теоретически, можно использовать XCode для редактирования исходников, написанных на различных языках (не только C и Objective-C). Но это будет не более чем простенький редактор кода. Поэтому, лучше поставить нормальную IDE, Eclipse или что-то в этом духе. Eclipse, кстати сказать, замечательно ставится в стандартный набор Applications. Необходимо скачать архив с официального сайта, распаковать и поместить в папку Applications. После этого вы сможете запускать IDE при помощи Launchpad.
Разработчик с одним лишь компилятором - это как воин в одних трусах, вооруженный мечом. Поэтому, ниже я приведу список утилит и вспомогательных средств, рекомендованных мною:
- SSH Tunnel Manager (AppStore) - замечательный менеджер ssh-тунелей. Если не хотите мучится с консолью, то это лучший выбор (иконка супер, да);
- CoRD - очень хороший RDP клиент. Легче и в разы лучше, чем официальный;
- Navicat - удобные менеджеры баз данных (для тех, у кого интерфейс pgAdmin вызывает рвотные позывы). Я успел в свое время урвать разухабистую бесплатную версию, сейчас на сайте доступны лишь платные;
- MySQLWorkbench - если вы работаете с MySQL, то этот инструмент обязан у вас быть;
- VirtualBox - хороший и бесплатный инструмент виртуализации;
- Balsamiq Mockups - замечательная утилита для создания мокапов.
Если у кого-то были сомнения, подойдет ли Mac OS для нужд разработчика - надеюсь, я их развеял. Mac крайне хорош как со стороны программного обеспечения, так и со стороны GUI. Согласитесь, куда приятнее работать с инструментом, который так приятно держать в руках ;-)

Комментариев нет:

Отправить комментарий