Перейти к содержимому

Создайте набор инструментов разработчика для терминала Swift с помощью TUIkit | Pomodoro, Git Sta...

Stewart Lynch

0:00 / 0:00

Создайте набор инструментов разработчика для терминала Swift с помощью TUIkit | Pomodoro, Git Sta...

829 просмотров · 3 месяца назад
Stewart Lynch
27 тыс. подписчиков
829 просмотров · 3 месяца назад
В этом видео мы создаём DevToolkit — полностью интерактивное многопанельное терминальное приложение, написанное целиком на Swift с использованием TUIkit. Если вы смотрели первую часть этой серии, где мы настроили TUIkit и создали наше первое приложение, то здесь начинается самое интересное. Мы используем NavigationSplitView для создания интерфейса с боковой панелью и тремя отдельными панелями: 🍅 Таймер Pomodoro — настраиваемый таймер обратного отсчёта от 5 до 60 минут с элементами управления запуском, паузой и сбросом. Установленная вами продолжительность сохраняется между сессиями с помощью @AppStorage, а сам таймер использует встроенный в TUIkit PulseTimer, поэтому ручное запускать рендеринг не требуется. 🔀 Панель состояния Git — отображение состояния Git в текущей рабочей директории. Она показывает название проекта, активную ветку, сообщение последнего коммита и количество изменённых файлов — при этом «грязные» рабочие деревья выделены красным цветом с помощью команд оболочки, вызываемых непосредственно из Swift. 🍅 📦 Трекер релизов проекта — панель состояния для каждого проекта, где вы можете регистрировать, находится ли ваш проект в разработке, TestFlight или выпущен, а также номер версии, дату выпуска и комментарий. Все данные сохраняются через @AppStorage, используя каталог проекта в качестве уникального ключа. Попутно мы рассмотрим некоторые важные шаблоны, специфичные для TUIkit, которые отличаются от стандартного SwiftUI — например, почему .onAppear нужен флаг guard, как использовать вычисляемые свойства для обхода ограничений повторной отрисовки состояния и как создавать пользовательские привязки для моделей, поддерживаемых @AppStorage. Мы также интегрируем пакет Rainbow Swift для добавления цветных заголовков панелей в наш пользовательский интерфейс, и в конце мы компилируем приложение как релизную сборку и устанавливаем его в /usr/local/bin, чтобы оно было доступно из любой директории в вашем терминале. Если вы разработчик Swift, интересующийся созданием инструментов командной строки и терминала с синтаксисом, похожим на SwiftUI, то это для вас. Если вы хотите поддержать мою работу, вы можете купить мне кофе :) https://ko-fi.com/stewartlynch/ Моя рассылка https://stewartlynch.kit.com Приложение для Mac для списка каналов (бесплатно) https://stewartlynch.gumroad.com/l/obsjz Веб-приложение для списка каналов https://stewartlynch.github.io/YouTube/ Содержание: 0:00 Введение 1:38 Навигация в режиме SplitView 10:50 Режим Pomodoro View 21:17 Режим Project View 32:18 Режим Update View 44:33 Добавление пакета Rainbow Swift 47:37 Установка приложения Файлы стартового проекта: Нет Завершено Проект: https://github.com/StewartLynch/DevTo... Упомянутые в видео ссылки: Скрипт оболочки (Gist): https://gist.github.com/StewartLynch/... Функция загрузки (Gist): https://gist.github.com/StewartLynch/... Пакет Rainbow: https://github.com/onevcat/Rainbow Рекомендуемые ресурсы: Книги Big Mountain Studio AI Mastery in SwiftUI https://www.bigmountainstudio.com/ai-... SwiftUI Views Mastery https://www.bigmountainstudio.com/adv... Продвинутое освоение представлений SwiftUI https://www.bigmountainstudio.com/adv... Освоение анимаций SwiftUI https://www.bigmountainstudio.com/ani... Освоение SwiftData в SwiftUI https://www.bigmountainstudio.com/swi... Освоение Combine в SwiftUI https://www.bigmountainstudio.com/com... Комплект из 5 книг по SwiftUI https://www.bigmountainstudio.com/boo...