💡Огляд змін у concurrency в Swift 6.2
Багато нових підходів до паралелізму в Swift 6.2 суттєво відрізняються від того, до чого розробники звикли під час роботи з GCD.
Донні Волш спробував розібратися в цих змінах і у своєму матеріалі фокусується на двох важливих моментах:
1️⃣ Новий флаг
2️⃣ Запуск коду в MainActor за замовчуванням за допомогою параметра
Додатково він посилається на офіційний документ від Apple:
📄 Swift Evolution — Approachable Concurrency
Матеріал буде корисний тим, хто вже працює з async/await і хоче залишатися на гребені хвилі останніх оновлень у Swift.
🇺🇦 iOSDevUA
Багато нових підходів до паралелізму в Swift 6.2 суттєво відрізняються від того, до чого розробники звикли під час роботи з GCD.
Донні Волш спробував розібратися в цих змінах і у своєму матеріалі фокусується на двох важливих моментах:
1️⃣ Новий флаг
nonisolated(nonsending) — для більш точного контролю над ізоляцією в акторах.2️⃣ Запуск коду в MainActor за замовчуванням за допомогою параметра
defaultIsolation.Додатково він посилається на офіційний документ від Apple:
📄 Swift Evolution — Approachable Concurrency
Матеріал буде корисний тим, хто вже працює з async/await і хоче залишатися на гребені хвилі останніх оновлень у Swift.
🇺🇦 iOSDevUA
❗️Xcode 26 — інтеграція з ChatGPT: тепер «вайб-кодинг» уже не жарт
У Xcode 26 зʼявилась вбудована підтримка ChatGPT — розробники можуть використовувати як локальні моделі, так і API‑ключі сторонніх провайдерів.
І найцікавіше:
🔹 Доступ до AI‑асистента прямо в Xcode — без обов’язкової реєстрації
🔹 Користувачі з підпискою можуть підключити свій акаунт і отримати більше запитів
🔹 Інструменти інтегровані безпосередньо в редактор і доступні в будь-якому місці коду
😎 Нарешті справжнє amazing!
Нові можливості дають змогу:
— автоматично створювати Preview
— налаштовувати Playground
— виправляти баги через дії, запропоновані AI
— і навіть обробляти довільні промпти прямо в IDE
Майбутнє розробки — вже в редакторі.
🇺🇦 iOSDevUA
У Xcode 26 зʼявилась вбудована підтримка ChatGPT — розробники можуть використовувати як локальні моделі, так і API‑ключі сторонніх провайдерів.
І найцікавіше:
🔹 Доступ до AI‑асистента прямо в Xcode — без обов’язкової реєстрації
🔹 Користувачі з підпискою можуть підключити свій акаунт і отримати більше запитів
🔹 Інструменти інтегровані безпосередньо в редактор і доступні в будь-якому місці коду
😎 Нарешті справжнє amazing!
Нові можливості дають змогу:
— автоматично створювати Preview
— налаштовувати Playground
— виправляти баги через дії, запропоновані AI
— і навіть обробляти довільні промпти прямо в IDE
Майбутнє розробки — вже в редакторі.
🇺🇦 iOSDevUA
👍2❤1
⚡️ Усі нові фреймворки в iOS 26 — короткий огляд
Зібрав в одному пості всі нові фреймворки, анонсовані Apple разом з iOS 26 — коротко про кожен із них:
🛠 AlarmKit — створення кастомних будильників і таймерів у застосунках.
🛠 AVRouting — підтримка зовнішніх пристроїв і протоколів у
🛠 DeclaredAgeRange — запит вікового діапазону в застосунках.
🛠 EnergyKit — моніторинг і оптимізація споживання електроенергії (поки що лише для США).
🛠 FinanceKitUI — готові UI‑компоненти для роботи з FinanceKit та FinanceStore.
🛠 FoundationModels — доступ до великої мовної моделі Apple, яка лежить в основі Apple Intelligence.
🛠 GameSave — зберігання і синхронізація ігрового прогресу через iCloud.
🛠 GeoToolbox — створення геооб’єктів (PlaceDescriptor) і взаємодія з Apple Maps та сторонніми картографічними API.
🛠 IdentityDocumentServices — обмін цифровими документами через API мобільних посвідчень.
🛠 IdentityDocumentServicesUI — інтерфейсні компоненти для роботи з цифровими документами.
🛠 ImmersiveMediaSupport — створення кастомних процесів для обробки Apple Immersive Video (AIV).
🛠 PermissionKit — керування обліковими правилами в iCloud.
🛠 RelevanceKit — контекстна персоналізація вмісту (в т.ч. для покращення видимості на Apple Watch).
🛠 TelephonyMessagingKit — надсилання й отримання повідомлень через стільникову мережу.
🛠 TouchControls — сенсорне керування для ігор на базі Metal.
🛠 VisualIntelligence — підвищення видимості вмісту застосунку в результатах пошуку.
🛠 WiFiAware — безпечне виявлення і взаємодія між пристроями поблизу без потреби в інтернеті або Wi-Fi-точці.
🛠 WirelessInsights — повідомлення застосунку про зміни в мережі, що можуть вплинути на його роботу.
📖 Для зручного перегляду, фільтрації й пошуку фреймворків рекомендую цей ресурс:
👉 marcoeidinger.github.io/appleframeworks
🇺🇦 iOSDevUA
Зібрав в одному пості всі нові фреймворки, анонсовані Apple разом з iOS 26 — коротко про кожен із них:
🛠 AlarmKit — створення кастомних будильників і таймерів у застосунках.
🛠 AVRouting — підтримка зовнішніх пристроїв і протоколів у
AVRoutePickerView.🛠 DeclaredAgeRange — запит вікового діапазону в застосунках.
🛠 EnergyKit — моніторинг і оптимізація споживання електроенергії (поки що лише для США).
🛠 FinanceKitUI — готові UI‑компоненти для роботи з FinanceKit та FinanceStore.
🛠 FoundationModels — доступ до великої мовної моделі Apple, яка лежить в основі Apple Intelligence.
🛠 GameSave — зберігання і синхронізація ігрового прогресу через iCloud.
🛠 GeoToolbox — створення геооб’єктів (PlaceDescriptor) і взаємодія з Apple Maps та сторонніми картографічними API.
🛠 IdentityDocumentServices — обмін цифровими документами через API мобільних посвідчень.
🛠 IdentityDocumentServicesUI — інтерфейсні компоненти для роботи з цифровими документами.
🛠 ImmersiveMediaSupport — створення кастомних процесів для обробки Apple Immersive Video (AIV).
🛠 PermissionKit — керування обліковими правилами в iCloud.
🛠 RelevanceKit — контекстна персоналізація вмісту (в т.ч. для покращення видимості на Apple Watch).
🛠 TelephonyMessagingKit — надсилання й отримання повідомлень через стільникову мережу.
🛠 TouchControls — сенсорне керування для ігор на базі Metal.
🛠 VisualIntelligence — підвищення видимості вмісту застосунку в результатах пошуку.
🛠 WiFiAware — безпечне виявлення і взаємодія між пристроями поблизу без потреби в інтернеті або Wi-Fi-точці.
🛠 WirelessInsights — повідомлення застосунку про зміни в мережі, що можуть вплинути на його роботу.
📖 Для зручного перегляду, фільтрації й пошуку фреймворків рекомендую цей ресурс:
👉 marcoeidinger.github.io/appleframeworks
🇺🇦 iOSDevUA
❤4🔥2
@Observable в UIKit — тепер і без SwiftUI!У новій iOS UIKit навчився автоматично відстежувати зміни в даних і оновлювати інтерфейс за допомогою макроса
@Observable. Це означає, що реактивна логіка тепер доступна навіть без SwiftUI.import Observation
@Observable
class Counter {
var count: Int = 0
}
У самому
UIViewController значення можна зчитувати, наприклад, у viewWillLayoutSubviews, і UIKit самостійно стежитиме за оновленням:class TestViewController: UIViewController {
let counter = Counter()
private let label = UILabel()
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
label.text = "Read example for iOS Dev: \(counter.count)"
}
@objc private func incrementCounter() {
counter.count += 1
}
}🧠 Це працює завдяки тому, що
counter.count прочитується в layout-фазі. UIKit під капотом підключає трекінг автоматично.📺 Тут є ще приклад з використанням у UICollectionViewCell
✅ Підтримка навіть з iOS 18
Хоча фіча вмикається автоматично в iOS 26, її можна активувати і в iOS 18+, додавши до
Info.plist ключ:UIObservationTrackingEnabled = YES
🔗 Докладніше — у відео
Інші новинки:
🛠 З’явився новий метод
updateProperties() — викликається перед layoutSubviews, але дозволяє інвалідовувати властивості окремо від layout’у. Працює і з UIView, і з UIViewController.🔴 Тепер офіційно можна додавати badge на UIBarButtonItem, без сторонніх рішень.
📣 І важливе попередження:
Починаючи з наступного після iOS 26 релізу, усі нові UIKit‑застосунки, зібрані з останнім SDK, повинні використовувати UIScene. Без цього застосунок не запуститься.
📺 Повна сесія доступна тут:
Переглянути на Apple Developer
🇺🇦 iOSDevUA
Apple Developer
What’s new in UIKit - WWDC25 - Videos - Apple Developer
Modernize your app with the latest APIs in UIKit, including enhanced menu bar support, automatic observation tracking, a new UI update...
👍5🔥1
💡Що під капотом у новому дизайні UITabBar?
🤩 Seb Vidal вже встиг заглянути всередину і зʼясував, що для реалізації нового ефекту в
Цей компонент складається з безлічі вкладених
🔸
🔸
🔸
Зокрема, для досягнення ефекту “скляної лінзи” Apple, ймовірно, використовує кілька CAFilter, серед яких —
Новий дизайн — це не просто UI-освіження, а ще й складна система графічних шарів, яка активно задіює потужності Core Animation.
🇺🇦 iOSDevUA
🤩 Seb Vidal вже встиг заглянути всередину і зʼясував, що для реалізації нового ефекту в
UITabBar Apple використовує приватне вью під назвою _UILiquidLensView.Цей компонент складається з безлічі вкладених
subviews, серед яких помітні знайомі елементи, як-от:🔸
_UIPortalView🔸
CABackdropLayer🔸
CAFilterЗокрема, для досягнення ефекту “скляної лінзи” Apple, ймовірно, використовує кілька CAFilter, серед яких —
opacityPair і displacementMap, що відповідають за плавні візуальні викривлення та глибину.Новий дизайн — це не просто UI-освіження, а ще й складна система графічних шарів, яка активно задіює потужності Core Animation.
🇺🇦 iOSDevUA
❤5
This media is not supported in your browser
VIEW IN TELEGRAM
💡Автоматична генерація Playground у Xcode 26
🤩 У Xcode 26 тепер можна автоматично створювати Playground для перегляду й тестування ваших компонентів — причому навіть тестові дані підставляються автоматично.
Щоб спробувати це самостійно, вам знадобиться бета-версія macOS Tahoe.
Чудовий інструмент для швидкої перевірки UI та логіки без зайвого кодування!
🇺🇦 iOSDevUA
🤩 У Xcode 26 тепер можна автоматично створювати Playground для перегляду й тестування ваших компонентів — причому навіть тестові дані підставляються автоматично.
Щоб спробувати це самостійно, вам знадобиться бета-версія macOS Tahoe.
Чудовий інструмент для швидкої перевірки UI та логіки без зайвого кодування!
🇺🇦 iOSDevUA
❤5
⭐️ Apple готує “Обговорення” — новий формат живої комунікації з розробниками
Пол Хадсон поділився скріншотом із закритого демо, де видно нову функцію — “Discussions”, яка дозволить розробникам спілкуватися з командами Apple в реальному часі. І це справжній крок до відкритості.
На тлі останніх змін у спільноті Swift — появи нових робочих груп, як-от Testing Workgroup, та Ecosystem Steering Group, — ця ініціатива виглядає дуже логічно.
Особливо тішить, що ці зміни йдуть поруч з активним розвитком опенсорс‑частини екосистеми (майбутнє Foundation).
Очікуємо більше прозорості, живого зворотного зв’язку та справжнього діалогу між Apple і розробниками.
🇺🇦 iOSDevUA
Пол Хадсон поділився скріншотом із закритого демо, де видно нову функцію — “Discussions”, яка дозволить розробникам спілкуватися з командами Apple в реальному часі. І це справжній крок до відкритості.
На тлі останніх змін у спільноті Swift — появи нових робочих груп, як-от Testing Workgroup, та Ecosystem Steering Group, — ця ініціатива виглядає дуже логічно.
Особливо тішить, що ці зміни йдуть поруч з активним розвитком опенсорс‑частини екосистеми (майбутнє Foundation).
Очікуємо більше прозорості, живого зворотного зв’язку та справжнього діалогу між Apple і розробниками.
🇺🇦 iOSDevUA
❤3
💡Тепер при завантаженні білда в App Store можна повторно використати той самий номер — навіть після помилки!
🚀 Це, без перебільшення, чудова новина для всіх, хто хоч раз стикався з фейлами під час заливки білда. Тепер, якщо перевірка не пройшла — не обов’язково змінювати номер збірки, можна перезалити з тим самим.
Також з’явилася можливість переглядати детальні повідомлення про помилки прямо на сайті App Store Connect.
📺 У тій самій сесії WWDC є ще багато цікавого:
➡️ Фонові ресурси від Apple (до 200 ГБ) — можна використовувати apple-hosted background assets
➡️ Зворотний зв’язок у TestFlight — користувачі можуть надсилати фідбек напряму, сповіщення доступні в App Store Connect на iOS
➡️ Теги в App Store — генеруються автоматично, але можна буде керувати ними вручну, розробник може вмикати/вимикати
➡️ Offer Codes — тепер доступні для всіх типів вбудованих покупок, до 10 активних на тип і до 1 000 000 кодів на застосунок
➡️ Автоматичний Summary за відгуками — буде видно на сторінці застосунку, оновлюється регулярно. Розробник може подати заперечення у разі незгоди.
➡️ Більше 100 нових аналітичних метрик — новий дизайн, розширений функціонал для моніторингу підписок і монетизації.
🔎 Реліз справді насичений — рекомендую подивитись всю сесію!
🎥 Дивитись на developer.apple.com
🇺🇦 iOSDevUA
🚀 Це, без перебільшення, чудова новина для всіх, хто хоч раз стикався з фейлами під час заливки білда. Тепер, якщо перевірка не пройшла — не обов’язково змінювати номер збірки, можна перезалити з тим самим.
Також з’явилася можливість переглядати детальні повідомлення про помилки прямо на сайті App Store Connect.
📺 У тій самій сесії WWDC є ще багато цікавого:
➡️ Фонові ресурси від Apple (до 200 ГБ) — можна використовувати apple-hosted background assets
➡️ Зворотний зв’язок у TestFlight — користувачі можуть надсилати фідбек напряму, сповіщення доступні в App Store Connect на iOS
➡️ Теги в App Store — генеруються автоматично, але можна буде керувати ними вручну, розробник може вмикати/вимикати
➡️ Offer Codes — тепер доступні для всіх типів вбудованих покупок, до 10 активних на тип і до 1 000 000 кодів на застосунок
➡️ Автоматичний Summary за відгуками — буде видно на сторінці застосунку, оновлюється регулярно. Розробник може подати заперечення у разі незгоди.
➡️ Більше 100 нових аналітичних метрик — новий дизайн, розширений функціонал для моніторингу підписок і монетизації.
🔎 Реліз справді насичений — рекомендую подивитись всю сесію!
🎥 Дивитись на developer.apple.com
🇺🇦 iOSDevUA
🔥1
💡Кілька слів про новий фреймворк Containerization від Apple
По-перше, цей реліз — не для iOS-розробників.
Apple представила нову утиліту container, яка дозволяє створювати та запускати Linux-контейнери — по суті, це легкі віртуальні машини.
А сам фреймворк Containerization дає змогу використовувати такі контейнери всередині ізольованих середовищ. Кожен контейнер працює у своїй власній віртуальній машині, подібно до того, як це реалізовано в Docker.
Це справді стане в пригоді тим, хто раніше змушений був розгортати повноцінну Linux‑віртуалку — альтернатив просто не було
🔗 Коментарі спільноти — simonwillison.net
📺 Якщо не працюєте з інфраструктурою або Linux‑оточенням — сесію можна сміливо пропустити
P.S. Хочеться вірити, що наші підписники вже можуть дозволити собі розширену підписку на AI‑асистента, щоб розібратись у подібних речах 😉
(Або як завжди — просто видалять пост 😄)
🇺🇦 iOSDevUA
По-перше, цей реліз — не для iOS-розробників.
Apple представила нову утиліту container, яка дозволяє створювати та запускати Linux-контейнери — по суті, це легкі віртуальні машини.
А сам фреймворк Containerization дає змогу використовувати такі контейнери всередині ізольованих середовищ. Кожен контейнер працює у своїй власній віртуальній машині, подібно до того, як це реалізовано в Docker.
Це справді стане в пригоді тим, хто раніше змушений був розгортати повноцінну Linux‑віртуалку — альтернатив просто не було
🔗 Коментарі спільноти — simonwillison.net
📺 Якщо не працюєте з інфраструктурою або Linux‑оточенням — сесію можна сміливо пропустити
P.S. Хочеться вірити, що наші підписники вже можуть дозволити собі розширену підписку на AI‑асистента, щоб розібратись у подібних речах 😉
(Або як завжди — просто видалять пост 😄)
🇺🇦 iOSDevUA
GitHub
GitHub - apple/container: A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written…
A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon. - apple/container
💡Використання памʼяті у Swift 6.2 та нові можливості для підвищення продуктивності
📺 Одна з найпрактичніших сесій на WWDC25 — переглянути відео. У ній детально розглядаються інструменти, техніки та нові можливості Swift для ефективної роботи з памʼяттю.
Ось ключові моменти:
➡️ QOI-парсер
Приклад створення парсера для формату зображень QOI (Quite OK Image), який запропонував Домінік Шаблевскі — надзвичайно простий і швидкий для обробки.
➡️ Профілювання памʼяті
Робота з Allocations і Time Profiler показує, як аналізувати розподіл памʼяті та знаходити “вузькі місця” у продуктивності.
➡️ Стек проти купи + InlineArray
Огляд тут — новий тип
➡️ Небезпечні вказівники (unsafe pointers)
Детальний розбір — у чому їхня потужність і які ризики вони приховують.
➡️ Новий тип Span у Swift 6.2
Огляд — Span дозволяє працювати з послідовностями в памʼяті більш безпечно, ніж через вказівники. Це суттєво спрощує оптимізовану низькорівневу роботу без втрати безпеки.
⸻
🎉 One more thing:
Apple виклала у відкритий доступ Swift Binary Parsing — бібліотеку для створення швидких і безпечних бінарних парсерів на Swift.
Це великий крок для тих, хто працює з низькорівневою продуктивністю, файловими форматами та обробкою бінарних структур у Swift.
🇺🇦 iOSDevUA
📺 Одна з найпрактичніших сесій на WWDC25 — переглянути відео. У ній детально розглядаються інструменти, техніки та нові можливості Swift для ефективної роботи з памʼяттю.
Ось ключові моменти:
➡️ QOI-парсер
Приклад створення парсера для формату зображень QOI (Quite OK Image), який запропонував Домінік Шаблевскі — надзвичайно простий і швидкий для обробки.
➡️ Профілювання памʼяті
Робота з Allocations і Time Profiler показує, як аналізувати розподіл памʼяті та знаходити “вузькі місця” у продуктивності.
➡️ Стек проти купи + InlineArray
Огляд тут — новий тип
InlineArray дозволяє зберігати масиви без алокації в купі, покращуючи кешування та швидкість.➡️ Небезпечні вказівники (unsafe pointers)
Детальний розбір — у чому їхня потужність і які ризики вони приховують.
➡️ Новий тип Span у Swift 6.2
Огляд — Span дозволяє працювати з послідовностями в памʼяті більш безпечно, ніж через вказівники. Це суттєво спрощує оптимізовану низькорівневу роботу без втрати безпеки.
⸻
🎉 One more thing:
Apple виклала у відкритий доступ Swift Binary Parsing — бібліотеку для створення швидких і безпечних бінарних парсерів на Swift.
Це великий крок для тих, хто працює з низькорівневою продуктивністю, файловими форматами та обробкою бінарних структур у Swift.
🇺🇦 iOSDevUA
🔥2
💡Новий інструмент для оптимізації SwiftUI-застосунків — WWDC25
На WWDC25 Джед з команди Instruments та Стівен з Apple Music представили оновлений підхід до профілювання SwiftUI-проєктів, який дозволяє ефективно знаходити та усувати вузькі місця в продуктивності.
🛠 За допомогою нових інструментів можна легко виявити проблеми на кшталт:
— зайвих або тривалих оновлень в’юшок
— анімацій, які лагують
— затримок при скролінгу
— підвисань або навіть крашів
📺 У цій сесії на прикладі реального застосунку демонструється, як використовувати нові можливості SwiftUI Instrument, а також Time Profiler, Hangs і Hitches, щоб покращити стабільність та швидкодію.
Вміння працювати з Instruments і розуміти, як і для чого використовувати кожен з них — це вже не просто корисна навичка, а ключ до створення плавних, швидких і надійних застосунків.
⸻
📚 Додаткові ресурси:
• Analyze hangs with Instruments (WWDC23)
• Optimize CPU performance (WWDC25)
Цей набір точно варто мати в арсеналі кожного SwiftUI-розробника.
🇺🇦 iOSDevUA
На WWDC25 Джед з команди Instruments та Стівен з Apple Music представили оновлений підхід до профілювання SwiftUI-проєктів, який дозволяє ефективно знаходити та усувати вузькі місця в продуктивності.
🛠 За допомогою нових інструментів можна легко виявити проблеми на кшталт:
— зайвих або тривалих оновлень в’юшок
— анімацій, які лагують
— затримок при скролінгу
— підвисань або навіть крашів
📺 У цій сесії на прикладі реального застосунку демонструється, як використовувати нові можливості SwiftUI Instrument, а також Time Profiler, Hangs і Hitches, щоб покращити стабільність та швидкодію.
Вміння працювати з Instruments і розуміти, як і для чого використовувати кожен з них — це вже не просто корисна навичка, а ключ до створення плавних, швидких і надійних застосунків.
⸻
📚 Додаткові ресурси:
• Analyze hangs with Instruments (WWDC23)
• Optimize CPU performance (WWDC25)
Цей набір точно варто мати в арсеналі кожного SwiftUI-розробника.
🇺🇦 iOSDevUA
💡Міграція з XCTest на Swift Testing за допомогою Claude Code
Claude Code — популярний AI-агент для розробників від Anthropic.
Пітер Штайнберґер, якого багато хто пам’ятає за його глибоку інженерну експертизу в PSPDFKit, поділився досвідом, як перевів понад 700 юніт‑тестів зі старого
Перша спроба «в лоб» була не надто вдалою, але після того, як він підготував чіткі гайдлайни для агента — усе запрацювало чудово.
Реальний приклад того, як AI може допомогти з технічною міграцією навіть у складних кодових базах.
🇺🇦 iOSDevUA
Claude Code — популярний AI-агент для розробників від Anthropic.
Пітер Штайнберґер, якого багато хто пам’ятає за його глибоку інженерну експертизу в PSPDFKit, поділився досвідом, як перевів понад 700 юніт‑тестів зі старого
XCTest на нову систему Swift Testing.Перша спроба «в лоб» була не надто вдалою, але після того, як він підготував чіткі гайдлайни для агента — усе запрацювало чудово.
Реальний приклад того, як AI може допомогти з технічною міграцією навіть у складних кодових базах.
🇺🇦 iOSDevUA
steipete.me
Migrating 700+ Tests to Swift Testing: A Real-World Experience | Peter Steinberger
How I migrated over 700 tests from XCTest to Swift Testing across two projects, with AI assistance and systematic refinement
❤1
💡Новини зі Swift Package Index
По-перше, найбільшому реєстру Swift‑пакетів виповнилося 5 років!
У блозі розповідають, як екосистема виросла з 2 500 до 9 000 бібліотек, і що це лише початок.
По-друге, до переліку платформ, сумісність з якими тестується автоматично, додали Wasm і Android.
Офіційне оголошення
Зі згаданих 9 000 пакетів:
🔹 19% вже підтримують Wasm
🔹 28% сумісні з Android
Swift продовжує активно виходити за межі Apple-платформ — і це чудова новина для розробників, які хочуть писати кросплатформено.
🇺🇦 iOSDevUA
По-перше, найбільшому реєстру Swift‑пакетів виповнилося 5 років!
У блозі розповідають, як екосистема виросла з 2 500 до 9 000 бібліотек, і що це лише початок.
По-друге, до переліку платформ, сумісність з якими тестується автоматично, додали Wasm і Android.
Офіційне оголошення
Зі згаданих 9 000 пакетів:
🔹 19% вже підтримують Wasm
🔹 28% сумісні з Android
Swift продовжує активно виходити за межі Apple-платформ — і це чудова новина для розробників, які хочуть писати кросплатформено.
🇺🇦 iOSDevUA
The Swift Package Index
Five years of the Swift Package Index on the Swift Package Index Blog – Swift Package Index
This week sees a rather significant anniversary for the Swift Package Index. It's been five years since we launched, so it's time to reflect!
💡Прихована перлина в новому API — containerConcentric для адаптивних скруглень
У багатьох випадках хочеться зробити cornerRadius, який адаптується під форму пристрою — наприклад, для модальних вікон, тулбарів або навіть звичайних кнопок (особливо в нижній частині екрана).
І майже кожен UI‑розробник чув від дизайнерів: «а можна скруглення як на системних елементах?».
📺 На цiй сесії WWDC25 розповіли, що з’явився новий спосіб —
🤩 Якщо ви використовуєте
Це означає, що можна нарешті відмовитися від приватних API і хардкодів під конкретні девайси.
🔧 Найкращі сценарії використання:
— панелі інструментів
— пошукові блоки
— плаваючі кнопки та системні контролери
Це маленьке, але потужне оновлення, яке значно полегшує адаптацію UI до різних пристроїв.
🇺🇦 iOSDevUA
У багатьох випадках хочеться зробити cornerRadius, який адаптується під форму пристрою — наприклад, для модальних вікон, тулбарів або навіть звичайних кнопок (особливо в нижній частині екрана).
І майже кожен UI‑розробник чув від дизайнерів: «а можна скруглення як на системних елементах?».
📺 На цiй сесії WWDC25 розповіли, що з’явився новий спосіб —
containerConcentric.🤩 Якщо ви використовуєте
containerConcentric, скруглення автоматично підлаштовується під тип дисплея, форму вікна та середовище (будь то iPhone, iPad або macOS Stage Manager).Це означає, що можна нарешті відмовитися від приватних API і хардкодів під конкретні девайси.
🔧 Найкращі сценарії використання:
— панелі інструментів
— пошукові блоки
— плаваючі кнопки та системні контролери
Це маленьке, але потужне оновлення, яке значно полегшує адаптацію UI до різних пристроїв.
🇺🇦 iOSDevUA
👍3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Елегантне рішення для розтягуваного заголовка в SwiftUI
Один із найбільш візуально привабливих (і при цьому простих у реалізації) UI‑ефектів — це збереження позиції вʼюшки при скролі з одночасним масштабуванням. Особливо круто виглядає у випадку із заголовками.
📖 У цьому прикладі, реалізовано цей ефект за допомогою модифікатора visualEffect — доступного з iOS 17
Це дозволяє створити “розтягуваний” хедер, який адаптивно реагує на скрол — без складних обхідних рішень чи кастомних компонентів.
📌 Ідеально підходить для:
— профілів
— банерів
— секцій із фоновим зображенням або великим заголовком
Невеликий, але витончений підхід для створення преміального вигляду з мінімумом коду.
Один із найбільш візуально привабливих (і при цьому простих у реалізації) UI‑ефектів — це збереження позиції вʼюшки при скролі з одночасним масштабуванням. Особливо круто виглядає у випадку із заголовками.
📖 У цьому прикладі, реалізовано цей ефект за допомогою модифікатора visualEffect — доступного з iOS 17
Це дозволяє створити “розтягуваний” хедер, який адаптивно реагує на скрол — без складних обхідних рішень чи кастомних компонентів.
📌 Ідеально підходить для:
— профілів
— банерів
— секцій із фоновим зображенням або великим заголовком
Невеликий, але витончений підхід для створення преміального вигляду з мінімумом коду.
extension View {
func stretchy() -> some View {
visualEffect { effect, geometry in
let currentHeight = geometry.size.height
let scrollOffset = geometry.frame(in: .scrollView).minY
let positiveOffset = max(0, scrollOffset)
let newHeight = currentHeight + positiveOffset
let scaleFactor = newHeight / currentHeight
return effect.scaleEffect(
x: scaleFactor, y: scaleFactor,
anchor: .bottom
)
}
}
}
🇺🇦 iOSDevUA
🥰2
💡Від масивних SwiftUI‑в’юшок до перевикористовуваних компонентів: підхід із root‑view у стилі MVVM для модульного інтерфейсу
📖 У цій статті Маттео Манфердіні ділиться своїм баченням проблеми “масивних вʼюшок” у SwiftUI — і чому саме вони часто стають джерелом архітектурного хаосу.
Ось ключові блоки:
1️⃣ Чому великі вʼюшки викликають архітектурні проблеми
— Вʼю починає містити не лише UI, а й бізнес-логіку, локальний стан, обробку даних, навігацію й навіть логіку доступу до мережі.
2️⃣ Як перейти до модульних і перевикористовуваних вʼюшок
— Розбиття великих екранів на прості компоненти, що не залежать від зовнішніх джерел даних.
3️⃣ Чому контент-вʼю повинні відповідати лише за візуальне представлення
— Вʼю має показувати дані, але не вирішувати, що з ними робити.
Також автор пояснює поширене непорозуміння:
4️⃣ Root‑view як міст між UI і внутрішньою архітектурою застосунку
— Саме в кореневій вʼюшці відбувається підключення до моделі даних, обробників стану, мережевих викликів тощо.
🧩 Це підхід, що дозволяє розділити інтерфейс і логіку, зробити код чистішим і компоненти — легшими у повторному використанні. Ідеально підходить для побудови складних, але підтримуваних SwiftUI-застосунків.
🇺🇦 iOSDevUA
📖 У цій статті Маттео Манфердіні ділиться своїм баченням проблеми “масивних вʼюшок” у SwiftUI — і чому саме вони часто стають джерелом архітектурного хаосу.
Ось ключові блоки:
1️⃣ Чому великі вʼюшки викликають архітектурні проблеми
— Вʼю починає містити не лише UI, а й бізнес-логіку, локальний стан, обробку даних, навігацію й навіть логіку доступу до мережі.
2️⃣ Як перейти до модульних і перевикористовуваних вʼюшок
— Розбиття великих екранів на прості компоненти, що не залежать від зовнішніх джерел даних.
3️⃣ Чому контент-вʼю повинні відповідати лише за візуальне представлення
— Вʼю має показувати дані, але не вирішувати, що з ними робити.
Також автор пояснює поширене непорозуміння:
Багато розробників вважають, що MVVM — це обов’язково по ViewModel на кожну вʼюшку. Але, за словами Маттео, ViewModel потрібна лише на рівні root‑вʼю, а не для кожного підкомпонента.
4️⃣ Root‑view як міст між UI і внутрішньою архітектурою застосунку
— Саме в кореневій вʼюшці відбувається підключення до моделі даних, обробників стану, мережевих викликів тощо.
🧩 Це підхід, що дозволяє розділити інтерфейс і логіку, зробити код чистішим і компоненти — легшими у повторному використанні. Ідеально підходить для побудови складних, але підтримуваних SwiftUI-застосунків.
🇺🇦 iOSDevUA
❤1
💡Універсальний гайд із використання Foundation Models Framework
Фреймворк Foundation Models відкриває можливості генеративного ШІ прямо на пристроях Apple — включно з обробкою природної мови, створенням контенту та іншими задачами — з максимальною продуктивністю та повагою до приватності, адже все виконується локально, без відправки даних у хмару.
📖 У своєму блозі Азам уже почав працювати над глибоким гідом і ділиться першим поглядом на ключові концепції. Стаття оновлюється, але вже зараз доступні базові приклади й структура.
Матеріал поділений на зручні блоки:
🔹 Вимоги до запуску
🔹 Керована генерація
🔹 Інтеграція з SwiftUI‑застосунком
🔹 Інструменти розробника
🔹 Збереження результатів (без повторного запиту)
🔹 Оптимізація продуктивності
🧩 Крім того, вже доступна репозиторія з прикладами:
🛠 Генерація резюме для довгого тексту
🛠 Планувальник подорожей
🛠 Генератор жартів
🛠 Створення рецептів за інгредієнтами
⚠️ Для запуску прикладів вам знадобиться macOS Tahoe, Xcode 26 і Apple Silicon.
Чудовий старт для розробників, які хочуть інтегрувати локальний AI у свої iOS-застосунки.
🇺🇦 iOSDevUA
Фреймворк Foundation Models відкриває можливості генеративного ШІ прямо на пристроях Apple — включно з обробкою природної мови, створенням контенту та іншими задачами — з максимальною продуктивністю та повагою до приватності, адже все виконується локально, без відправки даних у хмару.
📖 У своєму блозі Азам уже почав працювати над глибоким гідом і ділиться першим поглядом на ключові концепції. Стаття оновлюється, але вже зараз доступні базові приклади й структура.
Матеріал поділений на зручні блоки:
🔹 Вимоги до запуску
🔹 Керована генерація
🔹 Інтеграція з SwiftUI‑застосунком
🔹 Інструменти розробника
🔹 Збереження результатів (без повторного запиту)
🔹 Оптимізація продуктивності
🧩 Крім того, вже доступна репозиторія з прикладами:
🛠 Генерація резюме для довгого тексту
🛠 Планувальник подорожей
🛠 Генератор жартів
🛠 Створення рецептів за інгредієнтами
⚠️ Для запуску прикладів вам знадобиться macOS Tahoe, Xcode 26 і Apple Silicon.
Чудовий старт для розробників, які хочуть інтегрувати локальний AI у свої iOS-застосунки.
🇺🇦 iOSDevUA
❤1
💡Огляд новинок у тулингу після WWDC — від команди Tuist
Команда Tuist зібрала все найцікавіше, що з’явилося у світі інструментів для розробки після WWDC 2025. Ось основне:
🔧 Покращення у сфері тестування
— Тепер доступна можливість запису відео під час запуску UI‑тестів. Це суттєво полегшить аналіз багів та поведінки інтерфейсу.
🔧 Новий макрос #playground
— Альтернатива SwiftUI Previews, але для не-UI коду. Дозволяє миттєво переглядати результат виконання фрагментів логіки, утиліт чи модулів, які не мають візуального представлення.
🔧 Проєкт container від Apple
— Опенсорсний інструмент, що дозволяє запускати Linux-контейнери прямо на macOS. Повністю реалізований на Swift — ідеальний варіант для тих, хто хоче легкі, ізольовані середовища без сторонніх рішень типу Docker.
Це оновлення ще раз підкреслює, що Swift — це не лише про UI, а повноцінна екосистема для сучасного девелопменту.
🇺🇦 iOSDevUA
Команда Tuist зібрала все найцікавіше, що з’явилося у світі інструментів для розробки після WWDC 2025. Ось основне:
🔧 Покращення у сфері тестування
— Тепер доступна можливість запису відео під час запуску UI‑тестів. Це суттєво полегшить аналіз багів та поведінки інтерфейсу.
🔧 Новий макрос #playground
— Альтернатива SwiftUI Previews, але для не-UI коду. Дозволяє миттєво переглядати результат виконання фрагментів логіки, утиліт чи модулів, які не мають візуального представлення.
🔧 Проєкт container від Apple
— Опенсорсний інструмент, що дозволяє запускати Linux-контейнери прямо на macOS. Повністю реалізований на Swift — ідеальний варіант для тих, хто хоче легкі, ізольовані середовища без сторонніх рішень типу Docker.
Це оновлення ще раз підкреслює, що Swift — це не лише про UI, а повноцінна екосистема для сучасного девелопменту.
🇺🇦 iOSDevUA
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.
This media is not supported in your browser
VIEW IN TELEGRAM
💡Dragula — drag’n’drop рушій для SwiftUI
Dragula — це нова бібліотека для SwiftUI, яка значно спрощує створення інтерфейсів із перетягуванням (drag & drop).
🧩 Підтримує:
— списки з секціями
— горизонтальний і вертикальний скрол
— просте налаштування без зайвого коду
Чудовий вибір для тих, хто хоче реалізувати зручне перетягування елементів у SwiftUI — як у звичних списках, так і в більш складних layout’ах.
🇺🇦 iOSDevUA
Dragula — це нова бібліотека для SwiftUI, яка значно спрощує створення інтерфейсів із перетягуванням (drag & drop).
🧩 Підтримує:
— списки з секціями
— горизонтальний і вертикальний скрол
— просте налаштування без зайвого коду
Чудовий вибір для тих, хто хоче реалізувати зручне перетягування елементів у SwiftUI — як у звичних списках, так і в більш складних layout’ах.
🇺🇦 iOSDevUA
❤7
💡Mesh‑градієнти в SwiftUI
На відміну від лінійних чи радіальних, mesh‑градієнти дозволяють набагато гнучкіше керувати розподілом кольорів на площині. Це відкриває нові можливості для створення виразних, органічних заливок.
У статті розглядається:
🎨 як створювати такі градієнти в SwiftUI
📐 як керувати геометрією й позиціями кольорів
🌀 як створювати складні форми й анімації на їх основі
Чудовий ресурс для тих, хто хоче вийти за межі стандартних заливок і створити по-справжньому унікальний візуальний стиль у SwiftUI.
🇺🇦 iOSDevUA
На відміну від лінійних чи радіальних, mesh‑градієнти дозволяють набагато гнучкіше керувати розподілом кольорів на площині. Це відкриває нові можливості для створення виразних, органічних заливок.
У статті розглядається:
🎨 як створювати такі градієнти в SwiftUI
📐 як керувати геометрією й позиціями кольорів
🌀 як створювати складні форми й анімації на їх основі
Чудовий ресурс для тих, хто хоче вийти за межі стандартних заливок і створити по-справжньому унікальний візуальний стиль у SwiftUI.
🇺🇦 iOSDevUA
🔥3
💡На Swift тепер офіційно можна буде розробляти Android‑застосунки
На swift.org оголосили про створення нової робочої групи, мета якої — зробити Android офіційно підтримуваною платформою для Swift.
📖 Деталі — на сторінці Swift Android Workgroup
Основні завдання групи:
🔹 Розвивати та вдосконалювати підтримку Android у офіційному дистрибутиві Swift
🔹 Рекомендувати зміни у ключових бібліотеках Swift — таких як Foundation і Dispatch — для кращої сумісності з Android‑підходами
🔹 Визначити підтримувані архітектури та API‑рівні Android
🔹 Створити рекомендації з інтеграції Swift із Java SDK і пакування Swift‑бібліотек в Android‑застосунки
🔹 Працювати над підтримкою дебагу Swift‑коду на Android
🔹 Консультувати спільноту щодо додавання Android‑сумісності в сторонні Swift‑пакети
🚀 Це серйозний крок у бік кросплатформенності Swift і відкриває нові можливості для розробників iOS, які хочуть виходити за межі екосистеми Apple.
🇺🇦 iOSDevUA
На swift.org оголосили про створення нової робочої групи, мета якої — зробити Android офіційно підтримуваною платформою для Swift.
📖 Деталі — на сторінці Swift Android Workgroup
Основні завдання групи:
🔹 Розвивати та вдосконалювати підтримку Android у офіційному дистрибутиві Swift
🔹 Рекомендувати зміни у ключових бібліотеках Swift — таких як Foundation і Dispatch — для кращої сумісності з Android‑підходами
🔹 Визначити підтримувані архітектури та API‑рівні Android
🔹 Створити рекомендації з інтеграції Swift із Java SDK і пакування Swift‑бібліотек в Android‑застосунки
🔹 Працювати над підтримкою дебагу Swift‑коду на Android
🔹 Консультувати спільноту щодо додавання Android‑сумісності в сторонні Swift‑пакети
🚀 Це серйозний крок у бік кросплатформенності Swift і відкриває нові можливості для розробників iOS, які хочуть виходити за межі екосистеми Apple.
🇺🇦 iOSDevUA
Swift.org
Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.
🔥4