Как я недавно писал, в 2022 году я работал над множеством сторонних проектов и некоторые из них сделал доступными для установки и использования.
Многие идеи, над которыми я работал, нашли свое отражение в моем последнем приложении, которое по моему убеждению является продуктом, способным помочь и облегчить жизнь большому количеству разработчиков.
Вчера я открыл dataTile for Simulator для публичного тестирования в TestFlight. Если хотите попробовать или узнать чуть больше, заходите на веб-сайт: https://underplot.com/dataTile
Но если у вас есть немного времени, ниже я бы хотел рассказать чуть больше о своей мотивации в разработке этого приложения.
Немного вводных мыслей о devtools:
Компьютеры все еще делают именно то, что мы им говорим. Однако, иногда в сложных кодовых базах трудно быть уверенным в том, что это именно так. Также, некоторые моменты в принципе сложно держать в уме во время коддинга, отличный пример: «Сколько ОЗУ потребляет код?».
Я подвожу к тому, что нам необходим какой-то минимальный набор инструментов облегающий написание кода. Если мы вернемся примеру выше, Xcode предлагает простой способ следить за использованием вашей памяти. Нет, это не Allocations instrument, т.к. перед его использованием вам придется перекомпилировать кодовую базу вашего приложения.
Это окно отладчика в Xcode на левой боковой панели, во время выполнения вашего проекта:
Откройте большой файл в своем приложении, а затем закройте его. Была ли высвобождена вся память или же произошла утечка? Вы можете посмотреть в Xcode, потому что инструмент уже запущен и нет необходимости перекомпилировать и воспроизводить в Instruments.
Это представление может быть не таким полнофункциональным и на 100% точным, но… шансы что вы будете использовать именного его для ваших повседневных задач в 1000 раз выше, чем у инструмента Allocations. В итоге, в процессе написания вы напишете лучший код, в сравнении с тем, который бы получился в результате его отладки постфактум.
Мне часто хотелось, чтобы это представление было более гибким и открытым для разработчиков, чтобы можно было отображать свои собственные данные.
Итак, dataTile for Simulator — это…
dataTile for Simulator — это приложение - доп. экран для Xcode.
Оно настолько маленькое и ненавязчивое, что вы можете держать его запущенным постоянно, в тоже время он автоматически подстраивает свой UI под то, что вы делаете в Xcode.
Оно собирает любые значимые логи из системы и выходных данных отладчика и отображаем их их в простом и красивом UI:
Основные принципы, лежащие в основе dataTile
Обобщив, очистив и объединив многие свои мысли об инструментах, я составил список основных принципов, которые хотел реализовать в dataTile. Они перечислены ниже в произвольном порядке:
Простота: вы выводите в лог число или строку, и плитка показывает это, не задавая лишних вопросов. Вы можете просматривать эти данные в виде диаграммы или потенциально применять функции и фильтры, но по своей сути плитка будет просто отображать одно значение на экране крупным шрифтом.
Всегда включен: вы оставляете dataTile for Simulator запущенным в фоновом режиме или интегрируете его как этап предварительного запуска в свой проект. В любом случае, вам не нужно перекомпилировать ваш проект, чтобы использовать его, вам не нужно воспроизводить ситуацию. Любые данные лога уже доступны для быстрого просмотра.
Никаких изменений: если вы используете логгирование от Apple, вам не нужно импортировать сторонние библиотеки, вам не нужно менять свой код. Вам также не нужно настраивать dataTile — он читает логи Симулятора в режиме реального времени и самостоятельно распознает записанные значения.
Приятности: инструменты не должны быть визуально мрачными. UI по умолчанию яркий, с крупным текстом и ненавязчивой анимацией.
Наконец, не столько принципиальное, сколько любопытное замечание: dataTile абсолютно и полностью сделан на SwiftUI. Отсюда и необходимость поддержки macOS Ventura, которая добавила поддержку окон и встроенные графики.
Это открытая бета
Я хотел бы запустить открытое бета-тестирование до конца этого года. Если вы создаете приложения для iOS или других платформ и ежедневно используете Xcode и Simulator, dataTile может оказаться полезным в вашей повседневной работе.
Я уверен, что до версии 1.0 есть еще некоторые шероховатости, которые я мог бы исправить, и я рассчитываю на ваши отзывы, чтобы сделать это перед запуском!
Вы можете подписаться на открытую бета-версию здесь: https://underplot.com/dataTile
Наконец, у меня есть один вопрос:
Если вы знаете блоггеров, подкастеров или кого-то, кто пишет для сайтов cultofmac, 9to5mac, macworld… Кому было бы интересно рассказать об инструментах разработчиков, приложении второго экрана для Xcode или инди-приложениях для Mac — свяжитесь со мной, пожалуйста.
Благодарю вас!