Ask WWDC
А вот и полезный AI продукт подвезли – каталог транскриптов всех сессий WWDC с возможностью задать вопрос к нему. Например, спрашиваете, что нового в UIKit, получаете полный обзор и ссылки на все релевантные сессии.
А вот и полезный AI продукт подвезли – каталог транскриптов всех сессий WWDC с возможностью задать вопрос к нему. Например, спрашиваете, что нового в UIKit, получаете полный обзор и ссылки на все релевантные сессии.
🔥81👍15❤10
  Что нового в UIKit
👉Поддержка Observable классов, причем сразу же вплоть до iOS 18
👉Новый метод жизненного цикла
👉Возможность обновить вьюшку сразу же в
👉Поддержка Observable классов, причем сразу же вплоть до iOS 18
👉Новый метод жизненного цикла
updateProperties(), который обновляет свойства вьюшки, не перерисовывая ее целиком👉Возможность обновить вьюшку сразу же в
UIView.animate блоке, без необходимости вручную инвалидировать лэйаут3🔥53💅9❤3👍2
  Что нового в тулинге
Большой обзор всех главных улучшений разработческого тулинга от ребят из Tuist:
👉Много улучшений вокруг тестирования, в том числе запись видео прогона UI тестов.
👉Новый макрос #playground – аналог previews, но для не-UI кода.
👉Проект, позволяющий запускать Linux контейнеры на маке – container. Опенсорсный, полностью на Swift.
  
  Большой обзор всех главных улучшений разработческого тулинга от ребят из Tuist:
👉Много улучшений вокруг тестирования, в том числе запись видео прогона UI тестов.
👉Новый макрос #playground – аналог previews, но для не-UI кода.
👉Проект, позволяющий запускать Linux контейнеры на маке – container. Опенсорсный, полностью на Swift.
tuist.dev
  
  Developer experience wins from WWDC25
  Apple's WWDC25 brought exciting developer tooling updates: new UI testing capabilities, in-code playgrounds, explicit modules by default, and their own container CLI. Here's how we think about them at Tuist.
👍12👎3❤1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Dragula – drag'n'drop движок для SwiftUI
Dragula – новая библиотека для SwiftUI, которая упрощает создание drag-n-drop интерфейсов. Работает и в списках с секциями, поддерживает горизонтальный и вертикальный скролл.
Dragula – новая библиотека для SwiftUI, которая упрощает создание drag-n-drop интерфейсов. Работает и в списках с секциями, поддерживает горизонтальный и вертикальный скролл.
🔥48💅10❤1
  Mesh градиенты в SwiftUI
В отличие от радиальных и линейных, mesh градиенты дают получить более свободное распределение цветов по плоскости. В статье разбирается, как такие градиенты создавать, управлять их геометрией, тем самым распределением цветов, создавать сложные фигуры и анимации.
В отличие от радиальных и линейных, mesh градиенты дают получить более свободное распределение цветов по плоскости. В статье разбирается, как такие градиенты создавать, управлять их геометрией, тем самым распределением цветов, создавать сложные фигуры и анимации.
💅36👍2❤1
  Примеры использования Foundation Model Framework
Держите постепенно пополняемую коллекцию проектов с использованием локальной LLM от Apple:
👉Суммаризатор расшифровок встреч
👉Планировщик поездок
👉Генератор батиных шуток
👉Генератор рецептов на основе списка продуктов
Держите постепенно пополняемую коллекцию проектов с использованием локальной LLM от Apple:
👉Суммаризатор расшифровок встреч
👉Планировщик поездок
👉Генератор батиных шуток
👉Генератор рецептов на основе списка продуктов
👍14❤1
  Android на пути к официальной поддержке в Swift
В Swift появилась новая рабочая группа, задача которой – сделать Android официально поддерживаемой платформой. Задачи перед собой поставили стандартные для кроссплатформенного фреймворка, обсуждение открытое, так что можете поучаствовать. Группу драйвят ребята из Skip Tools, про которых я уже рассказывал раньше.
Что же, тепло привествуем наших коллег из Android Good Reads (@droidgr)!
  
  В Swift появилась новая рабочая группа, задача которой – сделать Android официально поддерживаемой платформой. Задачи перед собой поставили стандартные для кроссплатформенного фреймворка, обсуждение открытое, так что можете поучаствовать. Группу драйвят ребята из Skip Tools, про которых я уже рассказывал раньше.
Что же, тепло привествуем наших коллег из Android Good Reads (@droidgr)!
Swift.org
  
  
  Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
🔥87💅4
  Что нового в SwiftUI
С обновлениями UIKit разобрались, давайте посмотрим на SwiftUI:
👉Нативный WebView
👉Поддержка rich text editing в TextView
👉Возможность задать свои собственные лейблы для секций таблицы (вот те самые буквы, которые сбоку отображаются)
👉Макрос Animatable
👉Поддержка openURL в in-app браузере
  
  С обновлениями UIKit разобрались, давайте посмотрим на SwiftUI:
👉Нативный WebView
👉Поддержка rich text editing в TextView
👉Возможность задать свои собственные лейблы для секций таблицы (вот те самые буквы, которые сбоку отображаются)
👉Макрос Animatable
👉Поддержка openURL в in-app браузере
Hacking with Swift
  
  What's new in SwiftUI for iOS 26
  WebView, rich text editing for TextEditor, section index list titles, and more
❤14🔥3👍2
  Про observation в UIKit
Я уже рассказывал, что Apple внезапно завезли Observable в UIKit, причем сразу же до iOS 18. Так вот, держите более подробную статью с разбором того, как он работает, какие ограничения есть, и как избежать просадок перфоманса.
  
  Я уже рассказывал, что Apple внезапно завезли Observable в UIKit, причем сразу же до iOS 18. Так вот, держите более подробную статью с разбором того, как он работает, какие ограничения есть, и как избежать просадок перфоманса.
steipete.me
  
  Automatic Observation Tracking in UIKit and AppKit: The Feature Apple Forgot to Mention | Peter Steinberger
  Discover how iOS 18's hidden automatic observation tracking brings SwiftUI-like reactive programming to UIKit and AppKit, making your UI code cleaner and more maintainable.
❤21👍3
  Детали про Foundation Model
Главная вещь, которую нужно понимать про локальную LLM, встроенную в iOS – она достаточно маленькая и слабая по современным меркам, особенно в плане размера окна контекста, всего 4096 токенов. Это значит, что относиться к ней стоит не как к карманному ChatGPT, а скорее как к умному форматтеру свободного текста в структурные данные.
  
  Главная вещь, которую нужно понимать про локальную LLM, встроенную в iOS – она достаточно маленькая и слабая по современным меркам, особенно в плане размера окна контекста, всего 4096 токенов. Это значит, что относиться к ней стоит не как к карманному ChatGPT, а скорее как к умному форматтеру свободного текста в структурные данные.
Ronnie Rocha - iOS Developer & AI Engineer
  
  WWDC 2025: Apple’s On-Device Foundation Model Is Here.. But Is It Any Good? - Ronnie Rocha - iOS Developer & AI Engineer
  I’ve been an Apple “fanboy” for almost 20 years now. Ever since I got my first MacBook Pro back in 2005. I’ve been developing for iOS for the past 15 of those years, and every June, I get excited for WWDC like it’s Christmas morning. 🤓 This year? Honestly…
❤19👍2
  Как Claude помог переписать на Swift легаси приложение
Claude Code – очень популярный сейчас агент от Anthropic. Автор статьи рассказывает, как всего за 20$ он переписал Objective-C приложение, написанное 12 лет назад с таргетом под iOS 6, на Swift и SwiftUI.
Читается как дневник, очень много полезных выводов – рекомендую всем, кто подумывает вкатиться в агентов.
  
  Claude Code – очень популярный сейчас агент от Anthropic. Автор статьи рассказывает, как всего за 20$ он переписал Objective-C приложение, написанное 12 лет назад с таргетом под iOS 6, на Swift и SwiftUI.
Читается как дневник, очень много полезных выводов – рекомендую всем, кто подумывает вкатиться в агентов.
Twocentstudios
  
  Rewriting a 12 Year Old Objective-C iOS App with Claude Code
  
👎37👍16🔥2
  Учим 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
👍23👎14❤2
  Как в 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
  