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

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

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

Swift 6 наконец-то вышел! Все фичи мы уже сто раз успели обсудить, но, если вы это пропустили, официалтный блогпост – хороший способ освежить память. Из интересных наблюдений – и в релизном твите, и в блогпосте Swift активно позиционируется не как мобильный язык, а как кроссплатформенный язык общего назначения, позволяющий писать быстрый и безопасный код.
1🔥46👍10💅1
SwiftPM Snippets

Сниппеты появились еще в Swift 5.7, но используются они редко, а официальной документации мало, поэтому статья – на вес золота. Автор разбирает, как добавлять сниппеты в пакеты, встраивать их в DocC документацию, и использовать кучу их малоизвестных фичей.
2🔥154👍3
Изменения структуры проекта в Xcode 16

В Xcode 16 изменился дефолтный способ организации структуры проекта – вместо групп теперь вы работаете с реальными папками. В статье разбираются последствия этого решения.
🔥57👍8👎31
Официальная спецификация для Lottie

У Lottie теперь есть официальная спецификация версии 1.0. Она включает в себя все базовые фичи вроде layers, shapes, transforms. Сама спека описана здесь, а будущий роадмап – тут.
🔥214
У Swift теперь есть интероп с Java

Вчера на конференции про serverside Swift анонсировали новый проект – официальный интероп Swift с Java. Работает в обе стороны, подробности можно почитать тут.

А если вы захотите побольше разобраться с тем, как работают интеропы между разными языками, послушайте последний выпуск Подлодки, мы эту тему разобрали максимально подробно.
👍33🔥8💅4👎1
Backend-Driven UI в ЦИАН

Маркетплейсы обычно идеальные кандидаты для использования backend-driven UI – логика экранов постоянно изменяется, для разных категорий требуется разное отображение товаров, а продакты хотят проводить бесконечность экспериментов. В статье ЦИАН делится своим подходом к решению задачи.
👎39👍86
Телеметрия в мобильных приложениях

Подробный материал про организацию телеметрии – от выбора метрик для отправки и агрегации их на бэкенде до визуализации всего этого в Grafana и настройки алертов.
14👍6🔥1
Traits в Swift Testing

Traits – различные атрибуты тестов, которые можно настраивать через специальный макрос. Например, автоматическое отключение теста в зависимости от окружения, ассоциация его с конкретным багом в вашем трекере или ограничения на время его прогона.
👍11
Как запретить удалять ваше приложение

Оказывается, в iOS есть официальный API, с помощью которого можно запретить удалять ваше приложение. Он входит в Screen Time API. Но есть два нюанса. Во-первых, нужно получить специальный аппрув Apple, во-вторых, пользователь тоже должен дать явное согласие на этот запрет.
🔥18💅10👍21👎1
Realm – все

30 сентября 2025 Mongo прекратит поддержку Atlas Device SDK, в который всего год назад переименовали Realm. Ребрендинг, кажется, не помог.

Грустно, эмоционально проект мне нравился. Мы много лет назад даже выпуск Подлодки про Realm записали, так что, если захотите олдскула, послушайте!

upd из комментариев:
The on-device database will continue to exist as an open source project.
👍21💅10👎21
Swift Container Plugin

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

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

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

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

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

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

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

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

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

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

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

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

GitHub репозиторий с подборкой статей, инструментов и кейсов оптимизации разных аспектов перфоманса.
🔥34