Учим Claude писать на Swift 6
Одна из проблем, о которой рассказывал автор вчерашней статьи – достаточно плохое знание агентом особенностей Swift. Эта проблема частично решается добавлением нужной информации в контекст модели. Если все-таки решите попробовать, то по ссылке – детальные правила работы с Swift 6 и Swift Concurrency.
Одна из проблем, о которой рассказывал автор вчерашней статьи – достаточно плохое знание агентом особенностей Swift. Эта проблема частично решается добавлением нужной информации в контекст модели. Если все-таки решите попробовать, то по ссылке – детальные правила работы с Swift 6 и Swift Concurrency.
GitHub
agent-rules/docs/swift-concurrency.md at main · steipete/agent-rules
Rules and Knowledge to work better with agents such as Claude Code or Cursor - steipete/agent-rules
👍22👎14
Как в Airbnb улучшают перфоманс SwiftUI
Пока самые слабые отказываются от SwiftUI из-за проблем с перфомансом, Airbnb пытается решать проблемы с ним. В сегодняшней статье они рассказывают про то, как работает diffing алгоритм и как его контролировать.
Пока самые слабые отказываются от SwiftUI из-за проблем с перфомансом, Airbnb пытается решать проблемы с ним. В сегодняшней статье они рассказывают про то, как работает diffing алгоритм и как его контролировать.
Medium
Understanding and Improving SwiftUI Performance
New techniques we’re using at Airbnb to improve and maintain performance of SwiftUI features at scale
👍42👎14🔥3
На какие англоязычные рассылки про iOS вы подписаны?
Anonymous Poll
18%
iOS Dev Weekly
14%
SwiftLee Weekly
5%
SwiftUI Weekly
2%
iOS Code Review
1%
Indie iOS Focus Weekly
5%
iOS Dev Tools
1%
iOS CI Newsletter
2%
Swift Evolution Monthly
3%
Какие-то другие (расскажу в комментариях)
70%
Ни на какие не подписан
💅6❤4
FaultOrdering – ускоряем запуск приложения
Как вы помните, Sentry недавно купили Emerge Tools. Неожиданно, после этого они решили выложить свой ранее платный инструмент в опенсорс. FaultOrdering – пакет, автоматически генерирующий Order-файлы во время прогона UI-тестов. А использование этих файлов позволяет ускорить запуск приложения где-то на 20%.
Как вы помните, Sentry недавно купили Emerge Tools. Неожиданно, после этого они решили выложить свой ранее платный инструмент в опенсорс. FaultOrdering – пакет, автоматически генерирующий Order-файлы во время прогона UI-тестов. А использование этих файлов позволяет ускорить запуск приложения где-то на 20%.
GitHub
GitHub - getsentry/FaultOrdering: 📱Generate optimized order files directly from an Xcode UI test. Order files optimize app launch…
📱Generate optimized order files directly from an Xcode UI test. Order files optimize app launch times, with improvements in production measured to be over 20% - getsentry/FaultOrdering
👍33❤4
Опыт со Swift Package Registry
Swift Package Registry – фича SwiftPM, позволяющая вам поднять собственный сервер для раздачи пакетов. Это важно в следующих случаях:
👉Вы хотите ускорить пайплайны за счет того, чтобы не клонировать каждый раз Git репозитории
👉Вы боитесь supply chain атак
👉Вы боитесь, что репозитории с пакетами, на которые вы полагаетесь, в какой-то прекрасный день удалят
В статье подробно разбирается опыт развертки своего Swift Package Registry поверх Artifactory.
Swift Package Registry – фича SwiftPM, позволяющая вам поднять собственный сервер для раздачи пакетов. Это важно в следующих случаях:
👉Вы хотите ускорить пайплайны за счет того, чтобы не клонировать каждый раз Git репозитории
👉Вы боитесь supply chain атак
👉Вы боитесь, что репозитории с пакетами, на которые вы полагаетесь, в какой-то прекрасный день удалят
В статье подробно разбирается опыт развертки своего Swift Package Registry поверх Artifactory.
Alberto De Bortoli
How to setup a Swift Package Registry in Artifactory
A quick guide to setting up a Swift Package Registry with Artifactory to speed up builds and streamline dependency management.
👍29
Reaper – SDK для поиска мертвого кода
Sentry продолжают выкладывать в опенсорс инструменты, полученные в наследство после покупки EmergeTools. В этот раз очередь Reaper – инструмента, который помогает отслеживать код, который никогда не используется в проде.
Sentry продолжают выкладывать в опенсорс инструменты, полученные в наследство после покупки EmergeTools. В этот раз очередь Reaper – инструмента, который помогает отслеживать код, который никогда не используется в проде.
Product Blog • Sentry
Reaper - An open-source SDK for finding dead code
Writing code is easier than ever. We want to make deleting code just as easy – introducing Reaper for iOS and Android. Reaper was an Emerge Tools product that h...
👍34❤5
Вкатываемся в Container
Один из самых важных анонсов WWDC – Container, инструмент, позволяющий собирать Linux контейнеры на macOS. В статье разбираемся, как собрать контейнер с Vapor приложением, запушить его в удаленный реестр и задеплоить.
Один из самых важных анонсов WWDC – Container, инструмент, позволяющий собирать Linux контейнеры на macOS. В статье разбираемся, как собрать контейнер с Vapor приложением, запушить его в удаленный реестр и задеплоить.
swifttoolkit.dev
The New Container Tool: Docker-free Swift on Linux?
WWDC 2025 brings news also outside Apple platforms
👍17❤2🔥2👎1💅1
Approachable Concurrency
В Xcode 26 появилась возможность активировать несколько фичей Swift 6.2 под общим зонтиком approachable concurrency. В статье разбирается, в чем суть каждой из них.
В Xcode 26 появилась возможность активировать несколько фичей Swift 6.2 под общим зонтиком approachable concurrency. В статье разбирается, в чем суть каждой из них.
Donny Wals
What is Approachable Concurrency in Xcode 26? – Donny Wals
Xcode 26 allows developers to opt-in to several of Swift 6.2’s features that will make concurrency more approachable to developers through a compiler setting called “Approachable Concurrency” or .
🔥13👍4👎3
Почему Gmail весит 700мб
За последний год приложение Gmail прибавило в весе 100мб, и теперь весит все 700. EmergeTools разбирают, откуда берется это астрономическое число в приложении, в котором, казалось бы, всего пара экранов.
За последний год приложение Gmail прибавило в весе 100мб, и теперь весит все 700. EmergeTools разбирают, откуда берется это астрономическое число в приложении, в котором, казалось бы, всего пара экранов.
💅24❤4🔥4
Как использовать Gemini в Xcode
В Xcode 26 можно подключать любые LLM, если у вас есть их API ключ. Но с Gemini есть нюанс – их URL схема не соответствует тому, чего ожидает Xcode. При этом у Gemini довольно интересные модели: огромное окно контекста, низкие цены, хорошие рейтинги в бенчмарках по разработке. В статье разбирается, как с помощью нескольких хитрых костылей все-таки подключить модели Google к Xcode.
В Xcode 26 можно подключать любые LLM, если у вас есть их API ключ. Но с Gemini есть нюанс – их URL схема не соответствует тому, чего ожидает Xcode. При этом у Gemini довольно интересные модели: огромное окно контекста, низкие цены, хорошие рейтинги в бенчмарках по разработке. В статье разбирается, как с помощью нескольких хитрых костылей все-таки подключить модели Google к Xcode.
Carlo Zottmann
How to use Google Gemini in Xcode 26 beta
Over on Mastodon, someone1 asked whether it’s possible to use Google’s Gemini in the new Xcode 26β on macOS 26 beta. It is!
Well, with some creative proxy scripting, that is.
Google offers an …
Well, with some creative proxy scripting, that is.
Google offers an …
👍21❤1👎1
Хотите научиться создавать приложения для iOS с картами, используя Swift и MapKit?
На открытом вебинаре 21 июля в 20:00 МСК мы разберем, как создать простое приложение на SwiftUI, познакомимся с основами работы с картой MapKit и узнаем, как использовать UIViewRepresentable для интеграции карт в ваше приложение.
Этот урок идеально подходит для начинающих iOS-разработчиков, а также для тех, кто хочет добавлять карты в свои проекты. Вы получите практические навыки для создания собственного приложения с картами, которые легко применить в реальных проектах.
Регистрируйтесь на вебинар и получите скидку на курс «iOS Developer»: https://otus.pw/ANhv/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом вебинаре 21 июля в 20:00 МСК мы разберем, как создать простое приложение на SwiftUI, познакомимся с основами работы с картой MapKit и узнаем, как использовать UIViewRepresentable для интеграции карт в ваше приложение.
Этот урок идеально подходит для начинающих iOS-разработчиков, а также для тех, кто хочет добавлять карты в свои проекты. Вы получите практические навыки для создания собственного приложения с картами, которые легко применить в реальных проектах.
Регистрируйтесь на вебинар и получите скидку на курс «iOS Developer»: https://otus.pw/ANhv/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎45❤2👍1
Август без феста — лето на ветер. В музее-заповеднике «Коломенское» пройдет ИТ-пикник для опытных специалистов.
В программе:
— Лекции топов индустрии. Обсудим разные темы: от R&D и аналитики до продуктового менеджмента и научпопа.
— Интерактивы, квесты, мастер-классы, робототехника и VR, карьерная и ИТ‑лаборатории.
— Общение, знакомства и выступления известных артистов.
Захватите друзей, семью и коллег — развлечения найдутся для каждого.
Подробности и билеты — на сайте ИТ-пикника
В программе:
— Лекции топов индустрии. Обсудим разные темы: от R&D и аналитики до продуктового менеджмента и научпопа.
— Интерактивы, квесты, мастер-классы, робототехника и VR, карьерная и ИТ‑лаборатории.
— Общение, знакомства и выступления известных артистов.
Захватите друзей, семью и коллег — развлечения найдутся для каждого.
Подробности и билеты — на сайте ИТ-пикника
👎22❤2🔥1💅1
Что нового в тестировании
Продолжаем серию глубоких разборов того, что нового появилось в бета-версиях Xcode, iOS и Swift. В этот раз – про Swift Testing, XCTest и автотесты.
Продолжаем серию глубоких разборов того, что нового появилось в бета-версиях 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
Rachelbrindle
What's new in Testing, 2025 Edition
Software Engineer. Maker. Pilot.
👍15
Хотите научиться создавать приложения для iOS с картами, используя Swift и MapKit?
На открытом вебинаре 21 июля в 20:00 МСК мы разберем, как создать простое приложение на SwiftUI, познакомимся с основами работы с картой MapKit и узнаем, как использовать UIViewRepresentable для интеграции карт в ваше приложение.
Этот урок идеально подходит для начинающих iOS-разработчиков, а также для тех, кто хочет добавлять карты в свои проекты. Вы получите практические навыки для создания собственного приложения с картами, которые легко применить в реальных проектах.
Регистрируйтесь на вебинар и получите скидку на курс «iOS Developer»: https://otus.pw/VPRq/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом вебинаре 21 июля в 20:00 МСК мы разберем, как создать простое приложение на SwiftUI, познакомимся с основами работы с картой MapKit и узнаем, как использовать UIViewRepresentable для интеграции карт в ваше приложение.
Этот урок идеально подходит для начинающих iOS-разработчиков, а также для тех, кто хочет добавлять карты в свои проекты. Вы получите практические навыки для создания собственного приложения с картами, которые легко применить в реальных проектах.
Регистрируйтесь на вебинар и получите скидку на курс «iOS Developer»: https://otus.pw/VPRq/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎46👍3❤1💅1
Java интероп в Swift 6.2
Как вы помните, в конце прошлого года Apple анонсировали нативный интероп с Java. Он помогает и самим Apple, которые постепенно начинают писать на Swift новые высоконагруженные сервисы, и сообществу, которое посматривает на Server-side Swift.
Так вот, держите хороший обзор того, как этот интероп работает в последней версии Swift, и как настраивать окружение, чтобы все работало.
Как вы помните, в конце прошлого года Apple анонсировали нативный интероп с Java. Он помогает и самим Apple, которые постепенно начинают писать на Swift новые высоконагруженные сервисы, и сообществу, которое посматривает на Server-side Swift.
Так вот, держите хороший обзор того, как этот интероп работает в последней версии Swift, и как настраивать окружение, чтобы все работало.
Artur Gruchała
Swift 6.2 Java interoperability in practice
If you’ve ever tried straddling two worlds—one foot in the elegant, type-safe realm of Swift and the other in the sprawling ecosystem of Java—you know the pain of keeping them in sync. Swift 6.2 introduces a first-class Swift–Java interoperability layer via…
👍23❤2
Как упаковать Haskell в Swift Framework
Продолжая тему интеропов, зайдем в гораздо более странную сторону – Haskell. В статье разбирается, как обернуть библиотеку на этом языке в Swift фреймворк – на удивление все работает довольно просто.
Продолжая тему интеропов, зайдем в гораздо более странную сторону – Haskell. В статье разбирается, как обернуть библиотеку на этом языке в Swift фреймворк – на удивление все работает довольно просто.
alt-romes.github.io
Automatically Packaging a Haskell Library as a Swift Binary XCFramework
Announcing <code>xcframework</code> or: the happy path for wiring a Haskell dependency to your Swift app
🔥11👎2
Как в Swift работает мьютекс
Начиная с iOS 18, у нас появился Synchronisation framework. Помимо прочего, он дает поддержку мьютексов, которые хорошо заточены на работу со Swift Concurrency. В статье разбирается, как с ними работать, в чем отличие от других типов локов и акторов.
Начиная с iOS 18, у нас появился Synchronisation framework. Помимо прочего, он дает поддержку мьютексов, которые хорошо заточены на работу со Swift Concurrency. В статье разбирается, как с ними работать, в чем отличие от других типов локов и акторов.
SwiftLee
Modern Swift Lock: Mutex & the Synchronization Framework
Learn how a Swift lock can help you create thread-safe access to data as an alternative to actors in Swift Concurrency.
🔥22❤4👎2💅1
This media is not supported in your browser
VIEW IN TELEGRAM
23 августа Яндекс проведет Mobile Runtime — фестиваль для мобильных разработчиков с фокусом на практику
В программе будут воркшопы по ускорению приложений и MCP, кодинг на скорость в тренажере CodeRun, консультации по карьере от лидов Яндекса, а также командный квиз про мобильную разработку с мемами, отсылками и музыкальными паузами.
Главная активность — AI-хакатон! За 5 часов команды, используя ИИ-ассистентов, должны создать работающее приложение. В составе жюри: Артур Василов, руководитель мобильной разработки Яндекс Браузера, Анна Жаркова, руководитель практики по мобильной разработке Usetech и другие эксперты. Для участия в хакатоне нужно зарегистрироваться на сайте ивента.
Если хочется выдохнуть — на фесте будут работать тематические зоны от сервисов Яндекса: обсуждайте метрики и BDUI с экспертами Городских сервисов, играйте в настолки с командами Поиска и рекламных технологий, пробуйте коктейли в баре от 360 и общайтесь с ребятами, работающими над Яндекс Почтой, Диском и Календарем.
Регистрируйтесь на сайте фестиваля.
В программе будут воркшопы по ускорению приложений и MCP, кодинг на скорость в тренажере CodeRun, консультации по карьере от лидов Яндекса, а также командный квиз про мобильную разработку с мемами, отсылками и музыкальными паузами.
Главная активность — AI-хакатон! За 5 часов команды, используя ИИ-ассистентов, должны создать работающее приложение. В составе жюри: Артур Василов, руководитель мобильной разработки Яндекс Браузера, Анна Жаркова, руководитель практики по мобильной разработке Usetech и другие эксперты. Для участия в хакатоне нужно зарегистрироваться на сайте ивента.
Если хочется выдохнуть — на фесте будут работать тематические зоны от сервисов Яндекса: обсуждайте метрики и BDUI с экспертами Городских сервисов, играйте в настолки с командами Поиска и рекламных технологий, пробуйте коктейли в баре от 360 и общайтесь с ребятами, работающими над Яндекс Почтой, Диском и Календарем.
Регистрируйтесь на сайте фестиваля.
👎42❤23🔥21👍18
Даем Claude Code доступ к SwiftUI
Claude Code – самый хайповый сегодня инструмент для AI-assisted разработки. Реализация максимально простая – консольный интерфейс, максимально тонкая прослойка между вами и моделями от Anthropic, и доступ к MCP и другим консольным тулам.
Полезнее всего агентв становятся, когда у них есть доступ к результатам выполнения написанного кода. В статье разбирается, как снепшотные тесты могут помочь агенту итерироваться по тому, какой интерфейс получается, и докручивать его до идеала.
Claude Code – самый хайповый сегодня инструмент для AI-assisted разработки. Реализация максимально простая – консольный интерфейс, максимально тонкая прослойка между вами и моделями от Anthropic, и доступ к MCP и другим консольным тулам.
Полезнее всего агентв становятся, когда у них есть доступ к результатам выполнения написанного кода. В статье разбирается, как снепшотные тесты могут помочь агенту итерироваться по тому, какой интерфейс получается, и докручивать его до идеала.
Twocentstudios
Giving Claude Code Eyes to See Your SwiftUI Views
👎5👍4❤3