Копилка полезных инструментов iOS-разработчика

IT-копирайтер
Время чтения: 8 минут
Начинающие программисты обычно используют исключительно ту среду разработки, которая является стандартом де-факто для языка программирования: Xcode, Visual Studio и другие. Однако со временем, после того как базовые инструменты среды освоены, а задачи становятся сложней и интересней, почти каждый из нас начинает собирать коллекцию-копилку инструментов, которые не входят в состав средств среды разработки, но существенно облегчают работу, сокращают время, необходимое для решения той или иной задачи, помогают быстрее проверить все звенья цепочки обработки данных и т.д. Именно о такой копилке, которую я собрал для себя, и пойдет дальше речь.
Так как я являюсь разработчиком iOS, многие из перечисленных ниже инструментов доступны только на Mac OS. Но надеюсь, что даже если кто-то из читателей окажется разработчиком для другой платформы, информация все равно будет полезной, т.к. найти аналог обычно не сложно.
SQLite Manager
Думаю, не будет преувеличением сказать, что почти любой сложный проект использует базы данных (БД) в качестве хранилища информации. В разработке для iOS, как правило, используется фреймворк CoreData, а в качестве хранилища — SQLite, что, однако, не является обязательным. Встроенный в Xcode редактор модели БД предназначен для создания и изменения их структуры, а также для создания классов для доступа к объектам БД, но посмотреть или изменить сами данные этот инструмент не позволяет. Для этого приходится использовать сторонние решения, например, плагин для браузера Firefox — SQLite Manager.
SQLite Manager предоставляет стандартный набор функций администрирования БД, а также импорт и экспорт данных.
Решает следующие задачи:
- проверка содержимого и структуры БД;
- экспорт данных для использования на других платформах, создания резервной копии и др.;
- импорт данных для быстрого наполнения данными;
- быстрое изменение каких-либо данных в базе, например, при тестировании.
Подсказка: где найти базу данных вашего iOS-приложения?
При отладке приложения в симуляторе базу данных можно найти по следующему пути:
/Users/USERNAME/Library/Application Support/iPhoneSimulator/
IOSVERSION/Applications/APPLICATIONID/
Library/Application Support/TARGET/
Для доступа к БД, хранящейся на устройстве, необходимо воспользоваться функцией экспорта данных Xcode Organizer.
Второй часто встречающейся задачей в сложных проектах является организация взаимодействия приложения-клиента, установленного на iOS-устройстве, с приложением, запущенном на сервере. Все перечисленные далее инструменты так или иначе связаны именно с этой задачей.
XPath
XML — один из популярных форматов для хранения и обмена данными, поэтому различных сервисов и приложений, предназначенных для работы с ним, достаточно много.
XPath tester позволяет решить следующие задачи:
- форматирование «сырого» блока XML-данных в более удобный, читаемый вид;
- проверка и отображение результатов работы фильтрации данных при помощи языка запросов Xpath.
Ниже на скриншотах представлен результат обработки запроса на получение всех данных для тега «author».
SOAP UI
Более профессиональный инструмент анализа и тестирования сервисов, использующих SOAP.
Помогает решить следующие задачи:
- наглядное представление структуры WSDL-схемы сервиса (запросы, параметры);
- тестирование работы сервисов (отправка запросов, получение ответов);
- возможность задавать дополнительные параметры запроса (например, изменить headers);
- возможность посмотреть запрос/ответ в «сыром» виде.
JSON Formatter
JSON — это другой популярный формат для обмена данных, и, в силу ряда его преимуществ, не рискну назвать его «вторым» (вопросы первенства оставим за рамками статьи). JSON Formatter позволяет быстро форматировать «сырые» JSON-данные в читаемый вид. К слову, такая задача возникает не только в процессе непосредственно разработки приложения, но и для обмена информацией с командой/заказчиком или документирования клиент-серверного взаимодействия в рамках проекта.
Visual JSON
Это более продвинутое приложение, которое позволяет отправлять не только GET, но и POST-запросы и выводить результаты в читаемом виде.
Примечание: SOAP UI также поддерживает работу с REST-сервисами, т. е. с JSON в том числе.
TexFinderX
Данная утилита предназначена для поиска и замены текста внутри файлов и очень сильно помогает в случаях, когда необходимо быстро проверить, есть ли поисковая фраза в исследуемых файлах, и использовать полученные данные в рамках проекта. Например, были ли исправлены ошибки в подготовке входных XML-данных или как часто в файлах используется тег «gallery».
Little Snitch
Последний инструмент не предназначен напрямую для разработки программного обеспечения, но может использоваться и для этих целей. Little Snitch — это программа-дополнение к штатному фаерволу Mac OS, которая отслеживает обращения к сети на уровне программ и предоставляет пользователю возможность разрешить или запретить соединение.
Чем может быть полезен данный функционал для разработчика?
- анализ работы программы в случае, если проект незнакомый, или когда необходимо проанализировать работу системных сервисов;
- имитация отказа определенных веб-сервисов: т. к. имеется возможность обрабатывать каждый запрос по отдельности, то можно имитировать сбой или возобновление работы без особых усилий и необходимости изменения кода клиента или сервера.
Вот, пожалуй, я и поделился всем, что накопил на тернистом пути к звездам. Буду рад, если вы найдете новый, полезный инструмент, а также приглашаю и вас, читатели, поделиться содержимым своих копилок.
Комментарии