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

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
Swift Container Plugin

Плагин для SwiftPM, с помощью которого можно собирать контейнеры с вашими серверными приложениями и публиковать их в нужные облака. Доклад с деталями можно посмотреть тут.
SafariExtension на SwiftUI

Если бы меня сходу спросили, на чем разрабатываются расширения для Safari, я был бы уверен, что это JavaScript. Оказывается, их можно писать нативно на SwiftUI!
Ускорение сетевых запросов на старте приложения

Ребята из Додо делятся своим опытом профилирования сетевых запросов и кучи оптимизаций, которые помогли ускорить старт приложения в два раза. Примеры оптимизаций:

👉По одной URLSession на хост для переиспользования коннекшнов
👉Прогрев коннекшна первой строчкой в приложении
👉Оптимизация порядка запросов с оглядкой на UX
Обзор недавней Server-Side Swift конференции

Недавно прошла первая большая конференция, посвященная Swift на сервере. Это на ней анонсировали интероп с Java и штуки вроде плагина для контейнеризации, про которые я уже рассказывал в канале.

Держите статью с кратким содержанием всех докладов, чтобы вы могли сами решить, на что еще обратить внимание. Я все еще удивляюсь, что Things, мой любимый туду лист, довольно давно переехал на Swift, и вроде бы довольны.
Как сохранять микросекунды при конверсии Date <-> String

Нрбольшое напоминание – при конвертации строки в дату и обратно с использованием DateFormatter информация о микросекундах теряется. Если для вас они важны, то в статье разбирается, как сохранить их значение.
Эпизод Swift Talk про Concurrency

Ребята из Objc.io выпустили бесплатный эпизод своего видеоблога про Swift Concurrency. где на примере небольшого macOS приложения разбираются с основными фичами и ошибками компиляции.
Новые статьи в документации

Держите пачку октябрьских обновлений документации Apple:

👉Win-back offers: специальный тип подписок, направленный на возвращение ушедших от вас пользователей
👉Camera Control: HIG и документация
👉Гайд по поддержке разных размеров часов
👉Новые семплы для visionOS
Genesis – новый генератор статических сайтов на Swift

Генератор статических сайтов – один из самых простых способов собрать себе тот самый блог, о котором вы давно мечтали. А если этот генератор написан на Swift, вы еще можете и поиграться с необычным применением любимого языка.

Genesis – еще один такой генератор. От альтернатив его отличает максимально простая реализация, отсутствие каких-то внешних зависимостей и работа со строками вместо сложных DSL.
Рекомендации по оптимизации перфоманса

GitHub репозиторий с подборкой статей, инструментов и кейсов оптимизации разных аспектов перфоманса.
SpectreKit – библиотека для консольного UI

SpectreKit – пока еще сырая библиотека для того, чтобы собирать красивый UI для консольных приложений, написанных на Swift.
Почему UserDefaults может не возвращать данные

👉У вас включен флаг Sensitive Data Encryption, который не дает получать доступ к данным в залоченном телефоне, но вы пытаетесь обратиться к UserDefaults из виджета.
👉Автоматический преворминг приложения может включаться даже тогда, когда телефон заблокирован. Получается та же проблема, что и выше.
👉Если вы перезагрузили телефон с запущенной LiveActivity, при ее следующей загрузке данные не будут доступны.
Почему приложения на Android весят меньше

Очень часто можно увидеть, что одно и то же приложение в App Store весит 100мб, а в Play Store – 10мб. В статье разбираются причины этого и то, что каждая из платформ понимает под "размером".
ReactiveCollectionsKit – новая библиотека для коллекций

Помните легендарные библиотеки IGListKit и JSQDataSourcesKit? Их автор зарелизил еще одну библиотеку для отображения коллекций, по его словам, с учетом ощибок всех предыдущих итераций. Основная идея за библиотекой – коллекция реактивно реагирует на изменения вью модели, запуская нужные анимации в нужный момент.

👉Библиотека на GitHub
iPad как девайс для разработки

Каждый год находится человек, который рассказывает, как iPad полностью заменил ему ноутбук для iOS разработки. Автор статьи настолько сильно топит за то, что это – полноценная замена, что единственной существенной проблемой называет невозможность снятия скриншотов для App Store.
gRPC сервер на Swift

Хорошего контента про Swift на сервере в этом году особенно много. Вот, например, туториал по тому, как собрать простой gRPC сервер с использованием grpc-swift-protobuf библиотеки.