Программирование на mac os для начинающих. Программирование под Mac OS X

Слово

Помните: «В начале было Слово… ». Вот это именно оно. В этой серии статей попробуем разобраться и описать, как можно программировать под 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 . Обратное сделать нельзя. А вот так - запросто, если нужно.

Есть ли аргументированные минусы у Маков? Да, есть. Патологическая неприязнь. Некоторым нужно что-то конкретное. Например, настраиваемость . Или разворачивание окна по двойному щелчку мыши на заголовке. Вот нужно и все тут. В таком случае 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, если вы хотите написать на нем скрипт. Просто садитесь и пишите - оно уже там, уже настроено.

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

Swift - это надёжный и интуитивно понятный язык программирования от Apple, при помощи которого можно создавать приложения для iOS, Mac, Apple TV и Apple Watch. Он предоставляет разработчикам небывалую свободу творчества. Благодаря этому простому и удобному языку с открытым кодом вам достаточно просто интересной идеи, чтобы создать нечто невероятное.

Разработчики уже пользуются
удивительными возможностями Swift.

Swift - это быстрый и эффективный язык программирования с откликом в реальном времени, который легко можно вставить в готовый код Objective-C. Теперь разработчики могут не только писать более надёжные и безопасные коды, но также экономить время и создавать приложения с расширенными возможностями.

Прекрасное приложение в Swift. Простота использования и отклик в реальном времени - вот почему VSCO выбрали Swift, чтобы создать новую версию своего фотоприложения для iOS.

Превосходные приложения,
разработанные на языке Swift.

Всё больше разработчиков встраивают код Swift в свои приложения. А некоторые даже создают в Swift совершенно новые приложения.

Duolingo Khan
Academy Clear Sky Guide

Procreate Kickstarter Eventbrite Hipmunk

Производительность выше. Приложения лучше.

Приложения Swift превосходят ожидания. Например, обычный алгоритм поиска выполняется в Swift гораздо быстрее.

До 2,6 раза быстрее, чем в Objective-C

До 8,4 раза быстрее, чем в Python 2.7

В графе с использованием алгоритма поиска в глубину найдено 10 000 целых чисел*

Язык Swift добавлен
в учебную программу.

Не только разработчики оценили потенциал языка Swift. Университеты и другие учебные заведения преподают Swift на занятиях по программированию и публикуют бесплатные курсы в iTunes U. А значит, даже новички смогут легко перейти от основ кодирования к программированию на профессиональном уровне.

Университеты, включившие язык Swift в учебную программу

  • Калифорнийский университет в Санта-Круз
  • Колледж Футхилл
  • Мельбурнский королевский технологический университет
  • Мюнхенский технический университет
  • Общественный колледж Лосон
  • Общественный колледж Манхэттена
  • Общественный колледж Месы
  • Общественный колледж Хьюстона
  • Общественный колледж Централ Пьемонт
  • Плимутский университет
  • Политехнический университет штата Калифорния
  • Стэнфордский университет
  • Технический колледж северо-западного Канзаса
  • Технологический институт Монтеррея
  • Университет Аберистуита
  • Университет Фулл Сейл
  • Школа Ingésup
  • Южный методистский университет

Swift повсюду.
И теперь открыт для всех.

Swift бесплатно доступен для использования разработчиками, преподавателями и студентами по лицензии на распространение ПО с открытым исходным кодом Apache 2.0. Мы предоставляем двоичные файлы для OS X и Linux, которые позволяют компилировать код для iOS, OS X, watchOS, tvOS и Linux. А чтобы ускорить развитие и превращение Swift в ещё более мощный язык, мы создали новое сообщество, где пользователи могут напрямую вносить свой вклад в исходный код Swift.

Познакомьтесь со Swift.

Главная книга

Загрузите учебник Язык программирования Swift из Apple Books Store бесплатно. Узнайте, как благодаря Swift процесс программирования становится более удобным, гибким и увлекательным.

Xcode

Xcode - это приложение для Mac, предназначенное для разработки других приложений для Mac и iOS. В Xcode есть все инструменты, необходимые для создания потрясающих приложений. Его можно загрузить бесплатно из Mac App Store.

Веб-сайт для разработчиков

Получите подробную техническую информацию и ознакомьтесь с полным обзором языка Swift. Посмотрите блог для разработчиков, чтобы быть в курсе последних новостей. У вас также есть бесплатный доступ к отличным ресурсам: руководствам, видео и примерам кода.

Принципы работы в OS X несколько отличаются от Microsoft Windows, поэтому пользователи, недавно купившие Mac, на замену компьютеру с редмондской ОС испытывают некоторые трудности. Если в США и Европе знакомство с компьютером люди начинают как с РС, так и с Mac’ов, то в нашей стране и СНГ особой альтернативы нет. С вероятностью 99% первым компьютерным опытом будет Windows. Переучиваться, как известно, намного сложнее, чем учиться заново, но следуя нашим простым советам, можно свести все трудности перехода к минимуму.

Установка и удаление приложений

Вашим первым поисковым запросом в Safari скорей всего будет: «Как устанавливать программы на Mac?». Эта простая операция с которой вы неизбежно столкнетесь, кардинально отличается от таковой в ОС от Microsoft. И что примечательно, установка приложения займет меньше времени, чем вы потратите на поисковой запрос.

Большинство программ, распространяются в dmg-архивах (образах) и устанавливаются всего в пару кликов:

  • открываем скачанный.dmg-файл (он будет виден в Finder как съемный диск);
  • перетаскиваем каталог с приложением в системную папку «Программы»;
  • приложение через пару секунд появится на Launchpad (жест «щипок» для открытия) и сразу будет готово к работе;
  • теперь можно извлечь образ с дистрибутивом в боковой панели Finder и удалить.dmg-файл;

Установить приложение из.dmg-файла можно в любую удобную для вас папку, но тогда иконка программы не появится в Launchpad. Поэтому рекомендую пользоваться папкой «Программы», тем более что она для этого и предназначена.

Некоторые приложения имеют свой установщик и устанавливаются через него. В этом случае вы увидите диалоговое окно с кнопками «Принять», «Далее», «Установить» (привет, Windows!).

Начиная с версии 10.7, в OS X появился магазин приложений Mac App Store, аналогичный App Store на iOS. Работать с ним еще проще, для установки — достаточно нажать кнопку «Установить» на странице с приложением.

По аналогии с установкой, деинсталляция приложения заключается в его удалении из папки «Программы». Перетаскиваем каталог с приложением в «Корзину» — и дело сделано. Если программа имеет свой установщик, то деинсталляция происходит тоже через него.

Взаимодействие с окнами. Закрыть или свернуть?


Пользователи Windows в первое время в шоке: мало того, что кнопки управления окном находятся слева, так они еще и работают иначе. В самом деле, кнопка «х» не закрывает программу, а закрывает только ее окно. Это связано с тем, что в OS X приложения могут иметь несколько окон и после того как мы закрыли окно программа продолжает работать. Кнопка «+» не разворачивает окно на весь экран, а масштабирует его до размеров отображаемого контента.

Для того чтобы полностью завершить приложение, следует нажать «Cmd+Q» или сделать правый клик на иконке в доке, и выбрать «Завершить».

Запущенные программы удобно мониторить по индикатору в доке. Эта функция включается в системных настройках, в разделе «Док».

Также с версии 10.7 приложения OS X могут работать в полноэкранном режим, когда скрываются док и строка меню. Для активации этого режима нужно нажать иконку со стрелками правом верхем углу экрана.

Используем мультитач жесты

Одной из главных особенностей OS X является поддержка мультитач жестов. Их здесь очень много (я насчитал более 10 жестов), и что самое главное, благодаря замечательному трекпаду — работают они просто шикарно.

Открываем системные настройки и переходим в раздел «Трекпад» («Мышь»), включаем нужные жесты и смотрим демонстрацию их работы. Кроме банальных имитации правой кнопки мыши, скроллинга и перетаскивания окон, с помощью жестов мы можем: искать выделенное слово; поворачивать, масштабировать изображения; открывать Launchpad, Mission Control, Центр уведомлений.

Потратив несколько минут на изучение жестов — вы сделаете свою работу в OS X продуктивней и намного приятней.

Полезные функции клавиши «Fn»

С помощью кнопки Fn можно получить быстрый доступ к многим функциям системы. Вот несколько полезных шорткатов:

  • Fn+Ctrl+F2 позволяет осуществлять навигацию по меню без использования мыши;
  • Fn+Backspace заменяет кнопку Delete;
  • Fn+F11 показать рабочий стол;
  • Fn+стрелка вверх заменяет кнопку Page Up;
  • Fn+стрелка вниз заменяет кнопку Page down;
  • Fn+стрелка влево заменяет кнопку Home;
  • Fn+стрелка вправо заменяет кнопку End;

Такие шорткаты очень легко запомнить и я рекомендую использовать их в повседневной работе. Кстати, существует крошечная утилита CheatSheet , которая поможет вам запомнить и использовать все доступные сокращения. После установки она встраивается в систему и при нажатии клавиши «Cmd» выводит полный список сокращений, доступный в открытом приложении.

Добавляем приложения в «Автозагрузку»

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

Открываем «Настройки» — «Пользователи и группы» и на вкладке «Объекты входа» редактируем список используя кнопки «+» и «-«. На престарелых маках имеет смысл убрать лишние элементы, это позволит ускорить загрузку системы.

Детальная информация о вашем Mac

В среде Windows для того чтобы получить полную информацию о «железе» компьютера приходится использовать сторонние утилиты, вроде AIDA 64. Операционная система от Apple, в этом плане выгодно отличается от конкурента. В состав OS X включена утилита «Информация о системе», которая дает нам подробный отчет абсолютно всего оборудования и софтварной части. Здесь мы можем посмотреть частоту процессора, количество слотов и тип памяти, мак-адрес wifi и bluetooth, а также множество другой служебной информации.

«Информацию о системе» можно найти в папке «Утилиты» на «Launchpad» или нажав на пиктограмму «Apple» в строке меню и выбрав пункт «Об этом Mac».

Быстрый просмотр файлов

Моя любимая встроенная функция в OS X это «Просмотр». В Finder на любом файле или папке при нажатии пробела откроется окно быстрого просмотра. Поддерживаются все типы файлов известные системе: изображения, видео, документы. Закрывается окошко просмотра повторным нажатием пробела. Быстро, просто и удобно.

Принудительное завершение приложений

Случается, что программы перестают отвечать на запросы или проще говоря зависают. Например вы открыли большое количество вкладок в Chrome или запустили несколько «тяжелых» приложений. Пользователям Windows хорошо знаком шорткат «Ctrl+Alt+Delete», которым они регулярно пользуются. В OS X чтобы вызвать диалог завершения приложений нужно нажать «Command+ Option+Esc», здесь выбираем подвисшую программу и нажимаем «Завершить».

Пусть в Mac OS такое случается редко, но если это произойдет — вы будете знать, что делать.

Включаем поддержку всех видеоформатов

Встроенный QuickTime поддерживает основные видеоформаты и для нужд большинства пользователей этого хватает с головой. Но если вы обладатель разномастной видеоколлекции — вам прийдется расширить список поддерживаемых форматов. Это можно сделать с помощью пакета кодеков Perian или установив сторонний проигрыватель медиафайлов, например VLC . Оба решения бесплатные.

Не забываем делать бэкапы

Последний совет, банальный и избитый, которым тем не менее постоянно пренебрегают. Чтобы ваши данные всегда были в полной сохранности используйте резервное копирование, и регулярно делайте бэкапы с помощью Time Machine . Это также позволит не боясь экспериментировать с системой, что на первых порах будет неизбежно.

Я использую MacBook Pro в течение нескольких месяцев дома, и мне было интересно, есть ли хорошая книга или руководство, которое может помочь мне стать лучшим программистом на Mac. Возможно, Mac-эквивалент Начало программирования Linux . Примечание. Я не ищу ресурс о том, как программировать приложение Mac, вместо этого я ищу более общее руководство по использованию Mac для общей среды разработки.

В качестве фона я являюсь программистом Windows днем. На протяжении многих лет я также занимался некоторыми Linux и BSD, особенно в школе, например, программированием сокетов, графикой, типом типа make install . Дома я буду делать Java, Scala, PHP и т.д. На Mac.

До сих пор я использовал Eclipse, QuickSilver и TextMate. VMWare Fusion, XCode и NetBeans настроены, но я их не использую. Переключатель DVI KVM подключается к реальной клавиатуре, трекболу и монитору. Недавно остался до поздней битвы с MacPorts, и понял, что мне нужен x86_64. Самая большая проблема, с которой я столкнулся, - это настроить PHP. Я не знаю, почему они не поставляются с библиотекой MySQL и GD. В конце концов я понял, что это Googling, и построил расширения из источника. У меня такое ощущение, что я не получил записку и не прочитал базового руководства о том, как стать программистом на Mac, например, как работает вся архитектура. Как программист Windows может быть достаточно продуктивным в Mac OS X?

Изменить . Конкретный тип приложения, который я хочу разработать, на мой взгляд не имеет особого значения. Это может быть Java, Scala, PHP, как я упоминал, или Cocoa, С++ или что-то еще.

Я ищу конкретную книгу, ресурс, советы о том, как быть более эффективным программистом на Mac, желательно что-то помимо "установить XYZ".

6 ответов

Кажется, вам нужен обзор того, как Mac OS X работает на системном уровне, больше, чем переосмысление инструментов и т.д. Если это произойдет, я начну с (основного) Руководство по системной архитектуре Mac OS X от Apple, затем перейдите к Начало работы с Mac OS X , которое должно дать вам достаточно обзор для начала работы.

Из вашего вопроса неясно, что вы намереваетесь делать с вашим программированием, но если вы решите продолжить разработку Cocoa/OS X, я рекомендую Cocoa Программирование для Mac OS X от Aaron Hillegass.

Переделав из Windows в Mac OS X около пяти лет назад, я часто нахожу себя в том же духе. Я просто не могу быть продуктивным в Windows (насколько это возможно, я могу быть продуктивным), как я могу на Mac OS X.

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

Похоже, вы используете Mac, потому что вы должны в противоположность тому, что хотите. Это действительно намного лучше, чем Windows, когда вы привыкаете к ней.

Я думаю, что многие программисты на Windows приходят на Mac и не пытаются его правильно изучить, потому что они самодовольны, думая, что они все знают, потому что они "использовали Windows всю свою жизнь". Я думаю, как только вы обнаружите Spotlight, Expose, "Ярлыки для клавиатуры Mac OS X" и т.д. Вы обнаружите, что вы сами являетесь МНОГО более продуктивным, чем когда-либо были на Windows.... и его действительно забавная ОС для использования.

Ознакомьтесь с некоторыми из лучших приложений Mac, которые вы можете получить и. Вы также можете выполнить поиск "100 лучших приложений для Mac".

Кроме того, я заметил, что вы пытались настроить какой-то веб-сервер непосредственно в Mac OS X. Он поставляется с одним, но если вы собираетесь добавить MySQL и некоторые другие расширения, я бы не пошел по пути MacPorts. Получить VMWare Fusion или VirtualBox (с открытым исходным кодом) и запустить сервер в виртуальной машине. Гораздо чище. У меня есть subversion/trac FreeBSD VM , который обрабатывает мой локальный контроль версий.

Я хотел бы добавить, что если вы в настоящее время не используете Xcode, вы должны обязательно изучить его и использовать его как можно скорее. Это гораздо приятнее IDE для использования, чем Visual Studio, и это сделает вашу жизнь намного проще.

Не забывайте, что вы, вероятно, потратили годы на сайтах справки Windows, вы в малой степени должны сделать это с Mac. Всякий раз, когда у вас есть проблема с использованием Mac, задайте вопрос ServerFault . Мы все более чем готовы помочь вам.

У меня такая же ситуация, как у вас. Я использую Windows для разработки и около года назад купил MBP для дома (когда я перешел в офис). Мне очень трудно получить какую-либо реальную работу на моем MBP. Как-то я привык к среде Windows с двумя экранами. Но пусть это не остановит вас. Несколько программ, которые я предлагаю вам получить, следующие:

  • Передача - Хороший клиент ftp
  • MAMP - запускает веб-сервер почти из коробки. Хорошо для базового развития.
  • Quicksilver - помогает быстро найти приложения.
  • Пространства вместе с жестов (Настройте ваши жесты, чтобы переместиться с одного экрана на другой, я использую три пальца, скользкие).
  • Entourage - для электронной почты
  • Терминал - для ssh (альтернатива шпаклевки) (входит в комплект)
  • Dreamweaver/BBedit/Textmate (все довольно прилично, но я люблю editplus на окнах, а не поклонник IDE).

Я предполагаю, что ваш вопрос заключается не в обучении COCOA, а о более эффективном использовании MAC. Ну, приведенные выше инструменты могут вам помочь.

К сожалению, ваш вопрос не очень ясен относительно того, что вы действительно хотите.

Если вы хотите написать что-нибудь кросс-платформенное, может быть очень полезно иметь виртуальную машину для тестирования. Когда в Linux я всегда использовал VirtualBox , он также работает и с OS X.