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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Если от изучения Human Interface Guidelines вас останавливает плохое знание английского языка, держите их полный перевод на русский. Насчет актуальности не уверен, но в любом случае должны быть очень полезны.
Додо рассказывают про свой процесс разработки новой фичи на примере добавления в приложение мессенджера:
1️⃣Проработка сценариев использования и анализ пользы
2️⃣Составление критериев для выбора библиотеки и ее подбор
3️⃣Разработка MVP без кода
4️⃣Самостоятельная работа в контакт-центре
5️⃣Разработка
6️⃣Ретро и аналитика
Удобный каталог всех 200+ фреймворков Apple с информацией о минимально поддерживаемых версиях iOS, macOS, iPadOS и других платформ.
Напоминаю, что сегодня вечером начинается WWDC: Apple Keynote в 20 часов и Platforms State of the Union в 23 часа. Трансляция будет по этой ссылке.

Если вы хотите смотреть кейноут не в одиночку, то вот тут я собрал список всех тусовок, которые собираются по разным городам сегодня вечером.
В Swift Package Index завезли очень важную для развития SPM экосистемы фичу – автоматическую генерацию, хостинг и обновление документации, сгенерированной с помощью DocC. Благодаря этому авторам библиотек больше не нужно самим заморачиваться с хостингом – и как результат у большего количества пакетов появится публичная индексируемая документация.
Apple полностью пересобрали раздел Human Interface Guidelines на сайте! Переделана навигация, больше контента, разбор лучших практик по дизайну частых паттернов. В будущем обещают добавить еще и чейнджлоги, которые раньше собирались чуть ли не вручную отдельными сервисами.
Wave – новая библиотека для реализации spring-based анимаций

🎯Destination анимации можно менять на лету, она будет автоматически редиректиться
💻Настраивать анимацию можно как в блоке, по аналогии с UIView.animateWithDuration(), так и изменяя свойства напрямую
📚Есть хорошее семпловое приложение
Новости для мобильных разработчиков: сразу два крутых способа попасть в Яндекс!

1. Принять участие в Intern Mobile Offer для начинающих iOS- и Android-разработчиков и получить оффер на стажировку за 2 дня✌️Регистрируйтесь по ссылке до 13 июня: https://clck.ru/q3wey

2. Поступить в бесплатную летнюю Школу мобильной разработки и прокачать профессиональные скиллы, пообщаться с экспертами и другими увлечёнными студентами, погрузиться в задачи IT-индустрии 🔥Чтобы поступить, нужно до 23 июня отправить заявку и успешно справиться с тестовыми заданиями: https://clck.ru/qBWMW
Unit тесты не только дают более быстрый цикл фидбэка при внесении изменений в код и дополнительный уровень обеспечения качества, но и могут быть неплохой документацией. Чтобы такой эффект произошел, тестовое покрытие должно быть достаточно большим, а сами тесты – понятно написанными. В статье разбираются правила написания чистых тестов, которые в итоге смогут служить документацией к основному коду.
Список основных анонсов для iOS разработчиков с WWDC’22. На этой неделе я буду публиковать много постов с деталями по каждой из тем, так что перешлите этот пост друзьям, чтобы они тоже подписались!

🍏Изменения в iOS
- WidgetKit: поддержка новых виджетов для lock-скринов и complications для Apple Watch
- Focus Filter API: кастомизация поведения приложения с учетом того, включен ли режим “не беспокоить”
- Message Collaboration API: коллаборативное обсуждение и редактирование документов с помощью Facetime и Messages.
- Live Text API: поддержка копирования текста из фото и видео в вашем приложении
- WeatherKit: получение данных о текущей погоде и прогнозов на 10 дней вперед

📦Ключевые фреймворки и инструменты
- SwiftUI: новое решение для навигации, библиотека графиков, новый протокол Layout и миллиард мелких изменений
- Xcode Cloud: открытый доступ начнется с лета, цены начинаются с 15$ в месяц, до 2023 года у всех будет 25 бесплатных часов в месяц
- Passkeys: альтернатива использованию паролей
- StoreKit 2: сильно улучшенный фреймворк для работы с внутренними покупками

Xcode
- Бинарник Xcode стал весить меньше на треть
- Bitcode deprecated
- Больше не нужно заливать все размеры иконкок приложения, достаточно одного 1024х1024 файла
- Xcode сможет параллелить сборку таргетов и их зависимостей (вроде как до 25% быстрее)
- Нереально классный Build Timeline, который показывает диаграмму шагов параллельной сборки
- Починили хот релоад для SwiftUI
- При скролле в области редактора всегда остаются видимыми декларации классов и функций

💻Swift
- if let
- Улучшенный вывод типов для замыканий
- Clock, Instant, Duration API
- Сильно прокачали регулярки: новый тип Regex, удобный DSL и разные алгоритмы для работы со строками
- Swift concurrency доступна в top-level коде
- Distributed actor isolation
- Swift сниппеты

📖Подробный What’s new
Самый детальный обзор всех изменений в Swift 5.7 от Paul Hudson – со ссылками на пропозалы, примерами кода и кейсов использования.
Краткое содержание главной сессии WWDC для разработчиков – Platform State of the Union, в которой по верхам прошлись по большинству упомянутых мной в утреннем посте изменений. Рекомендую пролистать – так вы точно не пропустите важные именно для вас нововведения!
Ребята из Qonversion подготовили разбор изменений в App Store Server API и StoreKit 2:
- Новый App Transaction API для верификации покупок в приложении
- Новые свойства в StoreKit: PriceLocale, Environment, Recent Subscription Start Date
- Улучшенная интеграция со SwiftUI
- Новый API для сообщений StoreKit
В этот раз на WWDC пробовали новый формат общения iOS разработчиков с командой Apple – Digital Lounge. Это был текстовый Q&A, в котором инженеры Apple старались дать ответы на разные вопросы, не покрытые документацией. Digital lounge был закрытым, но все вопросы и ответы собрали в Notion документе. Это кладезь полезной информации про архитектуру, перфоманс, лучшие практики и конкретные приемы работы со SwiftUI!