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

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

Размещение рекламы: @tanyasanovna
Download Telegram
Вкатываемся в Container

Один из самых важных анонсов WWDC – Container, инструмент, позволяющий собирать Linux контейнеры на macOS. В статье разбираемся, как собрать контейнер с Vapor приложением, запушить его в удаленный реестр и задеплоить.
👍172🔥2👎1💅1
Approachable Concurrency

В Xcode 26 появилась возможность активировать несколько фичей Swift 6.2 под общим зонтиком approachable concurrency. В статье разбирается, в чем суть каждой из них.
🔥14👍4👎3
Почему Gmail весит 700мб

За последний год приложение Gmail прибавило в весе 100мб, и теперь весит все 700. EmergeTools разбирают, откуда берется это астрономическое число в приложении, в котором, казалось бы, всего пара экранов.
💅275🔥4
Как использовать Gemini в Xcode

В Xcode 26 можно подключать любые LLM, если у вас есть их API ключ. Но с Gemini есть нюанс – их URL схема не соответствует тому, чего ожидает Xcode. При этом у Gemini довольно интересные модели: огромное окно контекста, низкие цены, хорошие рейтинги в бенчмарках по разработке. В статье разбирается, как с помощью нескольких хитрых костылей все-таки подключить модели Google к Xcode.
👍231👎1
Что нового в тестировании

Продолжаем серию глубоких разборов того, что нового появилось в бета-версиях Xcode, iOS и Swift. В этот раз – про Swift Testing, XCTest и автотесты.

6 years on, there is still no way to unit test code using SwiftUI. The official guidance remains use UI Automation Tests and SwiftUI Previews. Unsurprising, but extremely disappointing
👍15
UI Kit для iOS 26

Подъехали обновленные наборы компонентов в Figma и Sketch для iOS и iPadOS 26.
🔥1
Java интероп в Swift 6.2

Как вы помните, в конце прошлого года Apple анонсировали нативный интероп с Java. Он помогает и самим Apple, которые постепенно начинают писать на Swift новые высоконагруженные сервисы, и сообществу, которое посматривает на Server-side Swift.

Так вот, держите хороший обзор того, как этот интероп работает в последней версии Swift, и как настраивать окружение, чтобы все работало.
👍252
Как упаковать Haskell в Swift Framework

Продолжая тему интеропов, зайдем в гораздо более странную сторону – Haskell. В статье разбирается, как обернуть библиотеку на этом языке в Swift фреймворк – на удивление все работает довольно просто.
🔥11👎2
Как в Swift работает мьютекс

Начиная с iOS 18, у нас появился Synchronisation framework. Помимо прочего, он дает поддержку мьютексов, которые хорошо заточены на работу со Swift Concurrency. В статье разбирается, как с ними работать, в чем отличие от других типов локов и акторов.
🔥244👎2💅1
Даем Claude Code доступ к SwiftUI

Claude Code – самый хайповый сегодня инструмент для AI-assisted разработки. Реализация максимально простая – консольный интерфейс, максимально тонкая прослойка между вами и моделями от Anthropic, и доступ к MCP и другим консольным тулам.

Полезнее всего агентв становятся, когда у них есть доступ к результатам выполнения написанного кода. В статье разбирается, как снепшотные тесты могут помочь агенту итерироваться по тому, какой интерфейс получается, и докручивать его до идеала.
6👍6👎5
Новый API для подписок – Retention Messaging

Apple анонсировали новый API для приложений с подписками. В чем суть – теперь когда пользователь хочет отменить подписку, вы можете показать ему кастомизируемое сообщение. В него можно включать свой текст, изображение, предложение альтернативной подписки, или даже скидку. Короче говоря, попробовать убедить его не уходить с концами.

API пока доступен только по приглашениям, оставить запрос можно тут.
15👍4🔥2
Как повысить качество SwiftUI-приложений через тестирование?

На открытом уроке «Покрываем проект на SwiftUI Unit-тестами и Snapshot-тестами» 6 августа в 20:00 МСК мы разберем, как минимизировать ошибки и улучшить качество кода с помощью тестирования. Убедитесь, как правильно разделить визуальную часть и бизнес-логику, освоите принципы чистых тестов и научитесь использовать Snapshot-тесты для UI-слоя.

Получите чёткое понимание, как тестировать SwiftUI-приложения, избавитесь от рутины при написании тестов и ускорьте разработку.

Присоединяйтесь и получите скидку на курс «iOS Developer. Professional»: https://otus.pw/Zbd3W/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎24👍1
Swift-Erlang Actor System

Так, про Java и Haskell поговорили на прошлой неделе, теперь настала очередь Erlang. Новая библиотека позволяет Swift программам подключаться к распределенному Erlang кластеру. Что это значит – акторы на Swift и на Erlang могут работать и общаться друг с другом, как будто они работают в одной распределенной системе – отправлять друг другу сообщения и вызывать функции.
👍12
let и var в структурах

John Sundell разбирает, в каких случаях поля структуры лучше делать мутабельными, а в каких – нет. Все сводится к тому, чтобы по умолчанию использовать var, а let – только когда это имеет явный смысл.
👎62👍9🔥1
Как повысить качество SwiftUI-приложений через тестирование?

На открытом уроке «Покрываем проект на SwiftUI Unit-тестами и Snapshot-тестами» 6 августа в 20:00 МСК мы разберем, как минимизировать ошибки и улучшить качество кода с помощью тестирования. Убедитесь, как правильно разделить визуальную часть и бизнес-логику, освоите принципы чистых тестов и научитесь использовать Snapshot-тесты для UI-слоя.

Получите чёткое понимание, как тестировать SwiftUI-приложения, избавитесь от рутины при написании тестов и ускорьте разработку.

Присоединяйтесь и получите скидку на курс «iOS Developer. Professional»: https://otus.pw/8OLh/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎23👍2💅21
Как делать крутые консольные интерфейсы

Если вы делаете на Swift какие-то CLI программы, то подборка советов из этой статьи поможет сделать их гораздо более дружелюбными. Вот про что идет речь:

👉Как получать текущий размер окна терминала и учитывать его при отображении интерфейса
👉Удаление ранее напечатанных символов, что позволит делать анимации
👉Как прятать курсор, когда он не нужен
👉Как подписываться на изменения размера окна и сигналы прерывания
🔥17👍42
Как обходить вырезание информации в логах macOS

Когда вы выводите в консоль macOS дебажные сообщения, то в рамках обеспечения приватности Apple вырезает оттуда часть информации – пути к файлам, вставленные строки, UUID, а вместо них вставляет <private>. Детали про то, как именно определяется, какую информацию вырезать, и как это обойти – в статье.
👍3