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
Какие версии iOS сейчас используются

1️⃣iOS 18 – 79.5%
2️⃣iOS 17 – 13.7%
3️⃣iOS 16 – 5%

А распределение по минорным версиям можно посмотреть здесь.
Lynx – новый кроссплатформенный фреймворк

TikTok выпустили новый кроссплатформенный UI фреймворк. Концептуально он ближе всего к React Native – используются веб-технологии, но UI рендерится в нативные платформенные компоненты. Обещают классный перфоманс за счет использования двух рантаймов, одного для высокоприоритетных UI операций, а другого для большей части пользовательского кода.
Ускоряем таблицы в SwiftUI с помощью UIKit

Если производительности списков в SwiftUI вам в каких-то кейсах недостаточно, вы можете продолжить его использовать только для лэйаута ячеек, но для менеджмента всей табличной логики переключиться на UICollectionView. Это стало возможным благодаря новому типу конфигурации UIKit ячеек, который позволяет встраивать SwiftUI.
Как сократить большой JSON

Огромные JSON'ы, загружаемые с сервера, один из частых недостатков backend-driven UI. Ребята из Альфы рассказывают, как они свели дублирующиеся конструкции к минимуму, реализовав кастомную логику шаблонизации. В итоге на списках со 100 элементами получается ~74% экономии.
Новый релиз Copilot for Xcode

Вышла новая версия плагина Copilot, вместе с которой он перешел из статуса беты в GA. Самое важное – теперь можно выбирать, какая LLM будет использоваться в чате: Claude Sonnet, o1 или o3-mini.
Что происходит с Apple Intelligence

На прошлой неделе Apple в очередной раз отложили релиз новых AI фичей, которые показывали еще на WWDC. Одновременно с этим произошла утечка того, о чем говорилось на внутреннем разборе полетов команды Siri:

👉AI надежно работает только в 66-80% случаев, что очень мало и далеко от продакшна.
👉Менеджер команды Siri винит маркетинг в том, что всему миру показали и пообещали еще не работающие фичи, создав нереалистичные ожидания.
👉Никого из топов увольнять за провал пока не планируют, но и не исключают этого.
👉Apple Intelligence выпустят только тогда, когда будут уверены в качестве.
Правильный поиск вхождения строки

name.lowercased().contains(searchText.lowercased())
name.localizedStandardContains(searchText)

Чем второй вариант лучше:

👉По умолчанию case insensitive
👉Игнорирует диакритические знаки (cafe vs café)
👉Нормально справляется с локально-специфичными символами (ẞ → ss)
👉Поддерживается в SwiftData
Рендеринг пиксель-арта

Основная проблема в рендеринге пиксель-арта – размывание четких границ каждого пикселя при скейле картинки для дисплеев с большим разрешением. В статье разбирается два способа, как это сделать в SwiftUI: с помощью Image и с помощью Canvas.
Новая рабочая группа в Swift, отвечающая за тестирование

Как вы, наверное, знаете, развитие Swift сейчас довольно децентрализовано, и за разные его аспекты отвечают рабочие группв, собранные как из сотрудников Apple, так и из членов коммьюнити. Так вот, сформирована новая рабочая группа, которая будет отвечать за все, что связано с тестированием, включая различный тулинг и библиотеки. В основном они будут заниматься реализацией Swift Testing Vision.

Подробнее об участниках и целях можно прочитать здесь.
Используем Swift в Zed

Zed – сравнительно недавно выпущенный редактор кода, основная особенность которого – он супер быстрый. Если вам интересно посмотреть на еще одну альтернативу Xcode, то настроить для Swift разработки по инструкциям из статьи его довольно просто.
WWDC 2025

А вот и анонс WWDC этого года. Блокируем неделю с 9 по 13 июня. Смотреть можно, как и в прошлый раз на YouTube и в Apple Developer app.
Почему Group в SwiftUI стоит избегать

В отличие от VStack/HStack, Group работает не очень надежно – поведение между симуляторами и превью различается, какие-то модификаторы вызываются только один раз, а какие-то – для каждой вьюшки.
Мутационное тестирование в большом проекте

Мутационное тестирование – это метод тестирования программ, при котором в код специально вносятся небольшие изменения – мутации, чтобы проверить, обнаружат ли их тесты. Так вот, для Swift есть опенсорсный инструмент Muter, который умеет реализовывать довольно много различных мутаций.

В статье разбирается опыт использования Muter в проекте с 1000 тестов и 1657 сгенерированных мутантов.
Bindings в SwiftUI

Chris Eifhof рассказывает, почему в продакшн коде стоит избегать Binding(get:set:) – меньше рисков поймать проблемы с перфомансом, код проще поддерживать и тестировать.
MCP для iOS симулятора

Model-Context Protocol – это дико хайпующий сейчас стандарт для общения LLM с внешними инструментами. Так вот, его прикрутили и к iOS симулятору для взаимодействия с его UI, а значит, ваш AI теперь может самостоятельно взаимодействовать с запущенным приложением – например, заменяя собой QA.
Как писать git hooks на Swift

На Swift можно писать не только консольные тулы, но и скрипты, которые будут автоматически вызываться либо до, либо после коммита в Git. В статье разбирается пример хука, который не даст коммитить в мастер код, содержащий принты.
Новый релиз Alex – альтернативы Cursor для Xcode

Вышел новый релиз Alex, про которого я уже рассказывал в канале несколько раз. Новых фичей вагон, так что, если вы еще не попробовали, сейчас самое время!
Релиз Swift 6.1

👉nonisolated теперь можно применять не только к пропертям и функциям, но и к типам и расширениям.
👉Методы из хедеров ObjC классов теперь можно реализовывать в Swift, используя новое ключевое слово @implementation.
👉Trailing commas теперь поддерживаются не только в коллекциях, но и в кортежах, списках параметров и аргументов, строковых интерполяциях и в других местах.
👉С помощью package traits часть API теперь можно объявлять доступными только для конкретных платформ – например, Embedded или Wasm.