Вступление
XCode, де-факто интегрированная среда разработки (IDE) для iOS и OS X, является фантастическим программным обеспечением. Он предлагает все, что нужно разработчику какао, от хрупкой идеи до успешного приложения в Apple App Store.
Тем не менее, существует множество инструментов и услуг, которые стали незаменимыми в рабочем процессе многих разработчиков какао. В этой статье я выделю некоторые инструменты, которые я использую, а также некоторые альтернативы.
Управления источником
В сообществе какао Git является, пожалуй, самой популярной системой управления исходным кодом (SCM). Несмотря на то, что поддержка Xit для Git улучшается с каждым выпуском, многие разработчики Cocoa предпочитают специальный инструмент встроенной поддержке Xcode.
SourceTree
SourceTree — это бесплатный Git-клиент Atlassian , доступный для OS X и Windows. Он также поддерживает Mercurial, но большинство разработчиков Cocoa в настоящее время выбирают Git. SourceTree не только бесплатен, он невероятно мощный и простой в использовании даже для людей, незнакомых с Git.
Git-клиент Atlassian прекрасно интегрируется с Bitbucket, а также с GitHub и FogCreek’s Kiln . SourceTree даже помогает вам с общими рабочими процессами, такими как Git-flow и Hg-flow. Даже если вы клянетесь в командной строке, SourceTree сделает сложные операции намного проще.
башня
В течение многих лет Tower был моим предпочтительным клиентом Git. Он красиво оформлен, мощный и прочный. Он предлагает большинство функций, которые вам нужны ежедневно, и легко интегрируется с Beanstalk , GitHub, а также с некоторыми из ваших любимых редакторов, такими как BBEdit и Coda .
Люди из Fournova , создатели Tower, проделали потрясающую работу с Tower, и они продолжают удивлять меня каждым релизом. Башня не бесплатна, но это не должно помешать вам загрузить пробную версию и принять ее за спин.
Калейдоскоп
Калейдоскоп от Black Pixel — ваш лучший друг, когда дело доходит до поиска различий между файлами и папками. Концепция может показаться простой, но на самом деле это не так.
Вы можете подумать, что приложение для сравнения файлов, такое как Kaleidoscope, не стоит платить, но я призываю вас попробовать его, и вы будете поражены. Он работает очень, очень хорошо, и я стал полагаться на его интуитивно понятный пользовательский интерфейс и мощную функциональность слияния.
GitHub
Существует множество платформ для размещения Git-репозиториев, но GitHub — один из самых популярных вариантов. Это дом многочисленных открытых проектов, таких как AFNetworking и CocoaPods .
Публичные репозитории бесплатны, а платные планы довольно недороги. Имея более 5 миллионов пользователей и более 11 миллионов репозиториев, GitHub стал основным игроком, на который полагаются многие разработчики.
кодирование
AppCode
Xcode является де-факто IDE, если вы серьезно относитесь к разработке Cocoa. Тем не менее, JetBrains не соглашается с этим утверждением, и они вложили свои деньги, создавая AppCode .
AppCode — это ответ JetBrains на жалобы многих разработчиков, которые разочаровались в Xcode. Это впечатляющий инструмент, если не сказать больше, и его можно использовать вместе с XCode. Несмотря на то, что он еще не вышел на уровень функциональности Xcode, он лучше справляется с некоторыми из ключевых функций Xcode, такими как рефакторинг и завершение кода.
PaintCode
Я знаю мало людей, которым нравится писать код для рисования, и я уверен, что создатель PaintCode тоже не любит его. PaintCode — это приложение для рисования векторов, которое генерирует код Objective-C на лету.
PaintCode не только сэкономит ваше время, но и поможет вам меньше полагаться на изображения для создания пользовательского интерфейса вашего приложения. Благодаря этому пользовательский интерфейс приложения становится более гибким, динамичным и легким.
Управление зависимостями
CocoaPods
Если вы разработчик для iOS или OS X и не используете CocoaPods , значит, вы делаете это неправильно. CocoaPods начинался как маленький проект с амбициозной целью. Он превратился в де-факто решение для управления зависимостями для разработки Какао. Самые популярные библиотеки предоставляют поддержку CocoaPods, и даже крупные компании, такие как Facebook и Square , поддерживают CocoaPods.
CocoaPods работает невероятно хорошо, удивительно надежен и интегрирован в AppCode JetBrains , о котором я говорил ранее. CocoaPods сделает вашу жизнь разработчика какао намного проще. Серьезно, попробуй. Вы можете поблагодарить меня позже.
распределение
TestFlight
Не так давно распространение сборок среди тестировщиков вызывало боль в шее, особенно если эти тестеры не были очень техническими. TestFlight решил эту проблему, создав платформу для эфирного распространения тестовых сборок. Распространение сборок для тестировщиков никогда не было проще.
Хотя подготовка приложений продолжает оставаться серьезным препятствием для новых разработчиков Какао, специальное распространение стало намного проще.
TestFlight также имеет настольное приложение для OS X, которое делает загрузку новой сборки на их серверы еще проще. Он автоматически определяет, когда вы создаете новый архив, и предлагает вам загрузить сборку на серверы TestFlight. Это то, что я называю безболезненным специальным распределением.
HockeyApp
HockeyApp очень похож на TestFlight, он помогает разработчикам распространять сборки для тестировщиков. Как и TestFlight, он имеет возможность собирать отчеты о сбоях с серверной символикой и включает аналитику, чтобы получить точное представление о том, на каких устройствах и конфигурациях тестируются ваши приложения.
Как и TestFlight, у HockeyApp есть замечательный API. С помощью HockeyApp API вы можете даже получать отчеты о сбоях и обновлять профили обеспечения.
Плагины XCode
Алькатрас
Alcatraz — менеджер пакетов для Xcode. Попрощайтесь с ручным копированием файлов в какой-то непонятный каталог. Для установки плагинов или цветовых схем с помощью Alcatraz достаточно нажать кнопку.
Alcatraz поддерживает список плагинов, шаблонов и цветовых схем , которые вы можете искать и устанавливать одним нажатием кнопки. На момент написания Alcatraz не был полностью совместим с Xcode 5, но не позволяйте этому помешать попробовать.
Отладка
Раскрыть
Цель Reveal проста, но впечатляет, она позволяет вам проверять и манипулировать иерархией представления вашего приложения во время выполнения. Чем больше я использую Reveal, тем больше я ценю и открываю его мощь и возможности.
Он позволяет проверять иерархию представлений вашего приложения в двух и трех измерениях, изменять свойства отдельных представлений и даже увеличивать подмножество представлений, чтобы упростить отладку. Раскрытие не бесплатно, но оно того стоит.
Чарльз
Чарльз — это один из тех инструментов, который многие люди любят, когда начинают его использовать. Это кроссплатформенный инструмент для мониторинга сетевого трафика. Почему это было бы полезно для разработчика Какао? С того момента, как вашему приложению нужно будет общаться с веб-сервисом, вы сразу же увидите преимущества такого инструмента, как Charles.
Вместо того, чтобы задаваться вопросом, почему запрос возвращает 404
, вы просто проверяете запрос в Charles, чтобы увидеть, отправляете ли вы правильные заголовки с запросом. Charles поддерживает SSL, позволяет фильтровать трафик и даже может имитировать медленное сетевое соединение.
SimPholders
Большинство разработчиков iOS тестируют свои приложения в iOS Simulator — особенно на ранних стадиях разработки. Это означает, что вам иногда нужно просматривать изолированную программную среду приложения. Конечно, вы можете открыть Finder и перейти к ~/Library/Application Support/iPhone Simulator/7.0.3/Applications/56A57F3E-CF48-47F6-BAE8-B8541BCEC13B/
. В самом деле?
SimPholder это крошечное приложение, которое живет в строке меню. Это дает вам быстрый доступ к песочницам приложений, которые вы установили в iOS Simulator. Сделайте себе одолжение и возьмите копию SimPholder. Это бесплатно.
Мониторинг производительности
Crashlytics
TestFlight и HockeyApp имеют возможность собирать отчеты о сбоях для вас, но единственной целью Crashlytics является сбор и анализ сбоев — и это видно. Crashlytics — это бесплатный сервис, поддерживающий iOS и Android.
Он не только собирает и символизирует отчеты о сбоях, он также проверяет и анализирует сбои. В результате он показывает серьезность проблемы, которая помогает определить приоритеты исправления ошибок. Настольное приложение Crashlytics автоматически определяет, когда создается новый архив, и автоматически загружает файл dSYM архива, чтобы оно могло символизировать любые входящие отчеты о сбоях.
Crittercism
Crittercism идет на шаг впереди Crashylitics, сочетая аналитику, отчеты о сбоях и производительность приложений. В результате появился сервис, который позволяет разработчикам точно настраивать свои приложения, выявлять критические узкие места и устанавливать приоритеты для исправления ошибок. Он поддерживает iOS, Android, Windows Phone и веб-приложения.
Вывод
Этот список ни в коем случае не является окончательным. Есть еще много инструментов и сервисов, которые делают жизнь разработчика iOS проще и приятнее — или менее расстраивают. Какие инструменты и сервисы вы используете для разработки под iOS?