Программирование на 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.