bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Как в 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
👍44👎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%
Ни на какие не подписан
💅7❤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
👍34❤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.
👍30
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...
👍38❤6
Вкатываемся в Container
Один из самых важных анонсов WWDC – Container, инструмент, позволяющий собирать Linux контейнеры на macOS. В статье разбираемся, как собрать контейнер с Vapor приложением, запушить его в удаленный реестр и задеплоить.
Один из самых важных анонсов WWDC – Container, инструмент, позволяющий собирать Linux контейнеры на macOS. В статье разбираемся, как собрать контейнер с Vapor приложением, запушить его в удаленный реестр и задеплоить.
www.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 .
🔥14👍4👎3
Почему Gmail весит 700мб
За последний год приложение Gmail прибавило в весе 100мб, и теперь весит все 700. EmergeTools разбирают, откуда берется это астрономическое число в приложении, в котором, казалось бы, всего пара экранов.
За последний год приложение Gmail прибавило в весе 100мб, и теперь весит все 700. EmergeTools разбирают, откуда берется это астрономическое число в приложении, в котором, казалось бы, всего пара экранов.
X (formerly Twitter)
Emerge Tools (@emergetools) on X
Exactly 1 year ago today, we had our biggest tweet ever about @gmail's iOS app size
And funny enough, Gmail's size is making the rounds again
🧵 Looking at why Gmail is ~700 MB (+ why it's increased by 100 MB in the last year)
And funny enough, Gmail's size is making the rounds again
🧵 Looking at why Gmail is ~700 MB (+ why it's increased by 100 MB in the last year)
💅27❤5🔥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
Update 2025-09-16: This morning, I received an email from Dave M. @ Google: […] you should be able to get to our models without Proxyman now. Use …
👍23❤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
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…
👍25❤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.
🔥24❤4👎2💅1
Даем 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
❤6👍6👎5
Новый API для подписок – Retention Messaging
Apple анонсировали новый API для приложений с подписками. В чем суть – теперь когда пользователь хочет отменить подписку, вы можете показать ему кастомизируемое сообщение. В него можно включать свой текст, изображение, предложение альтернативной подписки, или даже скидку. Короче говоря, попробовать убедить его не уходить с концами.
API пока доступен только по приглашениям, оставить запрос можно тут.
Apple анонсировали новый API для приложений с подписками. В чем суть – теперь когда пользователь хочет отменить подписку, вы можете показать ему кастомизируемое сообщение. В него можно включать свой текст, изображение, предложение альтернативной подписки, или даже скидку. Короче говоря, попробовать убедить его не уходить с концами.
API пока доступен только по приглашениям, оставить запрос можно тут.
❤15👍4🔥2
Swift-Erlang Actor System
Так, про Java и Haskell поговорили на прошлой неделе, теперь настала очередь Erlang. Новая библиотека позволяет Swift программам подключаться к распределенному Erlang кластеру. Что это значит – акторы на Swift и на Erlang могут работать и общаться друг с другом, как будто они работают в одной распределенной системе – отправлять друг другу сообщения и вызывать функции.
Так, про Java и Haskell поговорили на прошлой неделе, теперь настала очередь Erlang. Новая библиотека позволяет Swift программам подключаться к распределенному Erlang кластеру. Что это значит – акторы на Swift и на Erlang могут работать и общаться друг с другом, как будто они работают в одной распределенной системе – отправлять друг другу сообщения и вызывать функции.
Swift Forums
Introducing swift-erlang-actor-system
I'm excited to share a new actor system we've been building for Swift's distributed actors: swift-erlang-actor-system. This actor system enables Swift programs to join a distributed Erlang cluster. Here's an example of a simple chat program using the actor…
👍12
Ужасы вайбкодинга
Вайб-кодинг, кажется, ускоренным темпом преодолел пик хайпа, и все больше людей начинает понимать, что на одних промптах к модели далеко не уедешь. Держите подборку примеров ярких инцидентов, связанных с бездумным использованием AI:
👉Replit удалил всю базу знаний с прода без возможности восстановления
👉Хранение вейтлиста на фронтенде
👉Уже ставший классическим пример того, сколько уязвимостей могут найти в сгенерированном проекте
Вайб-кодинг, кажется, ускоренным темпом преодолел пик хайпа, и все больше людей начинает понимать, что на одних промптах к модели далеко не уедешь. Держите подборку примеров ярких инцидентов, связанных с бездумным использованием AI:
👉Replit удалил всю базу знаний с прода без возможности восстановления
👉Хранение вейтлиста на фронтенде
👉Уже ставший классическим пример того, сколько уязвимостей могут найти в сгенерированном проекте
AICodingHorrors
AICodingHorrors | The price of AI-assisted coding, literally!
AI Coding Horrors is a growing collection of real-world disasters caused by AI-assisted coding tools like sky-high bills, leaked secrets, broken apps,..
👍22💅4❤1👎1🔥1
