iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.5K subscribers
695 photos
65 videos
4.06K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Регистрация в РКН: https://gosuslugi.ru/snet/67b464d698a28c4e866d827a

Размещение рекламы: @tanyasanovna
Download Telegram
Реализуем поддержку JWT на Swift сервере

Мне очень нравится блог SwiftOnServer. Ребята постят небольшие туториалы, показывающие, как решать самые частовстречающиеся задачи в серверной разработке с помощью текущей экосистемы Swift. В этот раз – разбирают, как с помощью JWTKit поддержать авторизацию на JWT.
Отслеживаем стабильность API библиотек

Одна из самых сложных задач в развитии библиотеки – поддержка обратной совместимости. Мы сравнительно недавно записали целый выпуск Подлодки про историю вопроса, обязательно послушайте!

Как у Swift разработчика, у вас есть несколько инструментов для того, чтобы отслеживать ломающие изменения. Статья детально сравнивает их все:

👉Инструменты, доступные в SPM из коробки
👉xcodebuild & swift-api-digester
👉Swift Public API diff
This media is not supported in your browser
VIEW IN TELEGRAM
В Xcode 16 можно создать новый файл, просто скопировав в буфер обмена кусок кода, выбрав в навигаторе нужную директорию, и нажав "вставить".
Tab View Styles в SwiftUI

Модификатор .tabViewStyle позволяет настраивать нестандартные поведения для табов в таббаре. Например, дать пользователю возможность кастомизировать порядок табов через drag-and-drop.
Как AI меняет разработку

Отличный лонгрид про то, как текущее состояние AI меняет паттерны разработки. Вот несколько идей:

👉Можно выделить две категории разработчиков. Бутстрапперы – те, кто использует разные генераторы приложений, чтобы за пару часов собрать работающий прототип. Итераторы – те, кто с помощью AI постепенно работает над существующей кодовой базой, вникая в суть изменений.
👉AI позволяет нереально быстро выполнить первые 70% работы, но для большинства оставшиеся 30% становятся адом.
👉Тех, кто успешно работает с AI, отличает следующее. Они не просто принимают сгенерированный код, а сначала разбивают его на модули поменьше, затем добавляют обработку всех эдж кейсов, проверяют и улучшают интерфейсы и типы, докручивают архитектурные решения, добавляют обработку ошибок.
👉Сеньорам AI помогает, а вот джунам скорее сильно мешает.
Небольшое напоминание – с 17 февраля из европейских App Store будут удалены все приложения, которым не был проставлен trader status.
React Native в Shopify

Одно из главных приложений, использующих React Native – это Shopify. Про них рассказывают на всех конференциях, они довольно много контрибьютят и в сам проект, и в экосистему – короче говоря, двигают RN вперед. Так вот, ребята подбивают пять лет своего опыта работы с фреймворком, на который в итоге переехало большинство их проектов.
TabletopKit – фреймворк для кооператива в visionOS

Будущее visionOS туманно. Производство дорогих моделей остановили, появятся ли дешевые – не очень понятно. Но на технологии за ними все еще интересно посмотреть! Например, вот разбор того, как фреймворк TabletopKit использовали для создания escape room игры, и с какими проблемами столкнулись.
Смешивание цветов в SwiftUI

В последнем релизе SwiftUI появилась функция mix, с помощью которой можно программно смешивать цвета, определяя два цвета и цветовое пространство, в котором нужно представить результат. Все это, конечно, анимируемо, благодаря чему можно делать штуки вроде анимированной смены цветов светлой темы на темную.
Что поменялось в работе Background Uploads

Документация на то, как работает загрузка в бэкграунде, довольно бедная. При этом есть неплохая статья от коммьюнити, где все разбирается в деталях. Некоторые советы в ней уже успели устареть, поэтому держите другую с обновлениями.
Как завести CarPlay в McLarens

Абсолютно безумная статья от разработчика, который купил себе McLarens без поддержки CarPlay, очень расстроился от его отсутствия, зареверсинжинирил протоколы работы музыки, и завел его поддержку во встроенной медиа-системе.
Разбор Advanced Commerce API

На днях в Apple Store появился новый API, с помощью которого можно управлять большими каталогами in-app покупок и подписок. В статье разбирается, кому пригодится этот API, и какие ограничения у него есть.
Каталог Swift пакетов с поддержкой Android

Разработчики Skip продолжают готовить экосистему Swift к тому, чтобы ее можно было использовать и для Android разработки. Они прислали PR с добавлением Android таргета в кучу библиотек и завели отдельный сайт, который показывает текущий статус их миграции.
Apple заопенсорсили Swift Build

Вот это я понимаю, классное начало года! Apple выложили в открытый доступ Swift Build, систему сборки Swift проектов, которая используется под капотом в Xcode. Судя по анонсу, поддерживается вообще все – и пакеты, и CLI-тулы, и GUI приложения.

Главное следствие – это огромный потенциал для того, чтобы адекватно работать со Swift в других IDE.
Ghostty – новый терминал

Недавно бывший фаундер HashiCorp выпустил свой новый проект, терминал Ghostty. В чем отличие от альтернатив: он быстрый, нативный на всех платформах, и содержит кучу фичей как уровня самого терминала (табы, автоматическое переключение темной темы), так и тех, что могут использовать запускаемые приложения. Я попробовал, мне пока очень нравится!
Как дебажить диплинки и Quick Actions

В чем проблема – при запуске приложения из Xcode дебаггер подключается к нему автоматически, а при закрытии – отключается. Поэтому, чтобы тестировать фичи, зависящие от запуска приложения альтернативными способами, нужно настроить специальную опцию "Wait for executable to be launched" в схеме запуска.
Словарь Swift Concurrency

Полный список всех терминов, относящихся к Swift Concurrency, разблр каждого из них, и ссылка на пропозал, в котором его впервые представили.
Поддержка кастомных инструкций к репозиторию в Copilot

Теперь вы можете добавить файл .github/copilot-instructions.md в ваш репозиторий, описать там дополнительные детали про ваш проект: технический стек, принятые стандарты, желаемое поведение ассистента – и Copilot будет учитывать их при работе.
Распознавание номеров телефонов с локальными моделями

Ребята решили разработать приложение, которое с помощью камеры определяло бы и парсило телефонные номера – как печатные, так и рукописные. В процессе они наступили на все возможные грабли, включая попытку использовать Multipeer Connectivity, который все такой же сломанный, как и 10 лет назад, когда я сам пробовал делать на нем проект, и парсинг на регулярных выражениях, что вообще никогда не бывает хорошей идеей.

Но вообще статья кайф, рекомендую!
Мы очень хотим записать большой выпуск Подлодки про Swift – поговорить про философию языка, ключевые фичи, необычные технические концепции, успехи в нишах за пределами iOS разработки, и, главное, про постепенное сближение с С++.

Если вы:
👉Глубоко знаете и Swift, и С++
👉Следите за эволюцией Swift
👉Умеете бодро и интересно рассуждать про языки программирования
👉В идеале писали не только мобильные приложения, но и что-то еще в экосистеме Swift

То отзывайтесь в нашей форме поиска гостей!