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
Android на пути к официальной поддержке в Swift

В Swift появилась новая рабочая группа, задача которой – сделать Android официально поддерживаемой платформой. Задачи перед собой поставили стандартные для кроссплатформенного фреймворка, обсуждение открытое, так что можете поучаствовать. Группу драйвят ребята из Skip Tools, про которых я уже рассказывал раньше.

Что же, тепло привествуем наших коллег из Android Good Reads (@droidgr)!
🔥87💅4
Про observation в UIKit

Я уже рассказывал, что Apple внезапно завезли Observable в UIKit, причем сразу же до iOS 18. Так вот, держите более подробную статью с разбором того, как он работает, какие ограничения есть, и как избежать просадок перфоманса.
20👍3
Детали про Foundation Model

Главная вещь, которую нужно понимать про локальную LLM, встроенную в iOS – она достаточно маленькая и слабая по современным меркам, особенно в плане размера окна контекста, всего 4096 токенов. Это значит, что относиться к ней стоит не как к карманному ChatGPT, а скорее как к умному форматтеру свободного текста в структурные данные.
18👍2
Как Claude помог переписать на Swift легаси приложение

Claude Code – очень популярный сейчас агент от Anthropic. Автор статьи рассказывает, как всего за 20$ он переписал Objective-C приложение, написанное 12 лет назад с таргетом под iOS 6, на Swift и SwiftUI.

Читается как дневник, очень много полезных выводов – рекомендую всем, кто подумывает вкатиться в агентов.
👎37👍16🔥2
Учим Claude писать на Swift 6

Одна из проблем, о которой рассказывал автор вчерашней статьи – достаточно плохое знание агентом особенностей Swift. Эта проблема частично решается добавлением нужной информации в контекст модели. Если все-таки решите попробовать, то по ссылке – детальные правила работы с Swift 6 и Swift Concurrency.
👍23👎142
Как в Airbnb улучшают перфоманс SwiftUI

Пока самые слабые отказываются от SwiftUI из-за проблем с перфомансом, Airbnb пытается решать проблемы с ним. В сегодняшней статье они рассказывают про то, как работает diffing алгоритм и как его контролировать.
👍44👎14🔥3
FaultOrdering – ускоряем запуск приложения

Как вы помните, Sentry недавно купили Emerge Tools. Неожиданно, после этого они решили выложить свой ранее платный инструмент в опенсорс. FaultOrdering – пакет, автоматически генерирующий Order-файлы во время прогона UI-тестов. А использование этих файлов позволяет ускорить запуск приложения где-то на 20%.
👍344
Опыт со Swift Package Registry

Swift Package Registry – фича SwiftPM, позволяющая вам поднять собственный сервер для раздачи пакетов. Это важно в следующих случаях:

👉Вы хотите ускорить пайплайны за счет того, чтобы не клонировать каждый раз Git репозитории
👉Вы боитесь supply chain атак
👉Вы боитесь, что репозитории с пакетами, на которые вы полагаетесь, в какой-то прекрасный день удалят

В статье подробно разбирается опыт развертки своего Swift Package Registry поверх Artifactory.
👍30
Reaper – SDK для поиска мертвого кода

Sentry продолжают выкладывать в опенсорс инструменты, полученные в наследство после покупки EmergeTools. В этот раз очередь Reaper – инструмента, который помогает отслеживать код, который никогда не используется в проде.
👍386
Вкатываемся в 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