🇺🇦 iOS Dev UA - спільнота iOS розробників
384 subscribers
399 photos
42 videos
9 files
959 links
Перша україномовна спільнота iOS розробників 🇺🇦

👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple.
Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple.

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Як бекенд Things переїхав на Swift

Things — один із найпопулярніших застосунків для управління задачами. Водночас це один із найвідоміших прикладів використання Swift на сервері.

У статті команда ділиться досвідом переходу свого бекенду на Swift:
🔧 який стек вони використали
⚙️ як перебудували архітектуру
🚀 і як завдяки цьому отримали в 4 рази швидші відповіді та втричі зменшили вартість обчислень

Класний приклад того, як Swift може працювати не лише на iOS, а й на сервері — ефективно й масштабовано.

🇺🇦 iOSDevUA
3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Вивчення креативного програмування зі Swift і SwiftUI

Натрапив на чудову статтю, у якій за допомогою математики (і не тільки) пояснюються різні підходи до створення нестандартних анімацій у SwiftUI.

Автор розповідає, як шум, рух та випадковість допомагають створювати захопливі візуальні експерименти — як у коді, так і в фізичному мистецтві.

🎆 Креативне програмування — це не просто володіння інструментами, а поєднання ідей, логіки та гри уяви.
Завдяки Swift і SwiftUI ми отримали цілу екосистему для експериментів у творчому просторі: від геометрії — до фізики та інтерактивної взаємодії.

📖 Ознайомитися з матеріалом можна тут — хто знає, можливо, це стане для вас натхненням для власного проєкту.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Оновили офіційний сайт Swift

Напередодні WWDC починають з’являтися перші оновлення в екосистемі — отримав редизайн головний сайт swift.org. Додали анімації, освіжили вигляд і структуру.

Поділіться, чи є у вас очікування від цьогорічної конференції? Чекаєте на якісь вау-фічі? 🤩

🇺🇦 iOSDevUA
💡Notepad.exe — редактор коду для Swift

Notepad.exe — це мінімалістичний нативний редактор, спеціально створений для роботи зі Swift. Він орієнтований на зручну роботу з невеликими фрагментами коду, а також підтримує кілька корисних фіч.

🔹 Платна ліцензія, але є безкоштовна версія з обмеженим функціоналом
🔹 Зберігання кодових сніпетів у власній бібліотеці
🔹 Вбудований блокнот для заміток
🔹 Інтеграція зі Swift Package Manager
🔹 Підтримка AI на локальних моделях — без хмар і зовнішніх сервісів

Ідеальне рішення для тих, хто хоче швидко тестувати ідеї або зберігати невеликі Swift-компоненти в зручному форматі.

🇺🇦 iOSDevUA
🔥1
💡Феромагнетизм за допомогою SwiftUI + Metal

📖 Ділюсь справді захопливим матеріалом — посилання тут. Ідеально підійде всім, хто захоплюється складними графічними ефектами та експериментами з рендерингом.

У статті розглядаються техніки SDF (Signed Distance Functions), або простіше — самоподібні геометрії, які дозволяють створювати візуальну рекурсію з «нескінченним масштабом» у реальному часі.

На базі цих принципів автор реалізував анімацію, натхненну явищем феромагнетизму — фізичного ефекту, при якому матеріали утримують намагніченість навіть без зовнішнього поля.
🔗 Про феромагнетизм у Wikipedia

Складно, красиво, технічно — і надихає на власні експерименти з Metal + SwiftUI.

🇺🇦 iOSDevUA
🔥Усі головні анонси з WWDC

Apple зібрала зручну сторінку з усіма ключовими новинами WWDC — розділено за темами з посиланнями на відповідні сесії.

Ось кілька особливо цікавих хайлайтів:

👉 Огляд нової дизайн-системи Liquid Glass — глибока інтеграція прозорості, світла й анімацій
👉 Усі оновлення SwiftUI — нові компоненти, покращена продуктивність та розширена підтримка адаптивного інтерфейсу
👉 Icon Composer — інструмент для створення іконок згідно з новими гайдлайнами
👉 Що нового в Xcode — нові можливості редактора, AI-асистенти та інструменти для роботи в команді
👉 Новий фреймворк для інтеграції локальних LLM — можливість запуску моделей прямо на пристрої

Сторінка постійно оновлюється — зручно зберегти в закладки для подальшого вивчення.

🇺🇦 iOSDevUA
🔥1
💡Річний звіт від Swift Server Workgroup

Swift Server Workgroup — команда, яка просуває Swift у серверній розробці — поділилася результатами за рік:

🔹 Сприяли ширшому впровадженню structured concurrency, опублікувавши гайдлайни з найкращими практиками та порадами з міграції
🔹 Значно розширилась екосистема пакетів — зокрема, відзначили Swift Memcache client, над яким працює комʼюніті
🔹 Провели кілька мітапів з прикладами успішного використання Swift у продакшн-серверних проєктах

🔮 Плани на наступний рік:

▪️ Продовжити розробку спільного HTTP-сервера
▪️ Сфокусуватися на observability — підготувати гіди з логування та моніторингу
▪️ Розвивати ініціативу Swift на Windows, щоб серверні застосунки працювали і на Windows-серверах
▪️ Покращити онбординг для новачків
▪️ Підтримати спільноту в розвитку клієнтів для Memcache та Redis

Swift дедалі впевненіше почувається в серверному середовищі — і це тільки початок.

🇺🇦 iOSDevUA
🔥1
💡Swift в Apple: як переписали службу моніторингу паролів із Java

Ні для кого не секрет, що Swift в Apple активно використовується не лише на клієнтських пристроях, а й для створення хмарних сервісів. Один із таких прикладів — служба Password Monitoring, яка щодня обробляє мільярди запитів з усього світу.

Нещодавно цю систему повністю переписали зі старого Java-коду на Swift, і результати вражають:
🚀 помітне зростання продуктивності
📉 зменшення обсягу кодової бази на 85%

📖 У цій статті детально розповідається, як саме відбувався перехід, які оптимізації вдалося реалізувати та що це означає для майбутнього Swift на бекенді.

🇺🇦 iOSDevUA
👍1
💡Якщо у вашому застосунку є підписки, то ви, сподіваюся, вже знайомі з поняттям billing grace period — періоду, протягом якого користувач може продовжити користування сервісом навіть після проблем з оплатою.

Проте ось детальний матеріал, який пояснює, як саме працює цей механізм, що враховує Apple, як це впливає на доступ до контенту та які є нюанси при реалізації.

Можливо, ви дізнаєтесь щось нове — навіть якщо вже стикалися з цією функціональністю.

👉 https://www.avanderlee.com/optimization/billing-grace-period-explained/

🇺🇦 iOSDevUA
3
💡The Browser Company: новий етап замість Arc і плани на майбутнє

Пам’ятаєте The Browser Company — ту саму команду, яка створювала кросплатформенний браузер Arc на Swift і була одним з найбільших адептів TCA (The Composable Architecture)?

Так от, вже певний час розробка Arc поставлена на паузу, а команда переключилася на новий браузерний продукт.

Сьогодні CEO компанії опублікував офіційне звернення з поясненням, як надалі розвиватиметься компанія. Найцікавішу для нас цитату — про технічні плани і фокус — винесли окремо у скріншот.

Очевидно, нас чекає новий виток розвитку кросплатформенних рішень на Swift.

🇺🇦 iOSDevUA
💡Огляд змін у concurrency в Swift 6.2

Багато нових підходів до паралелізму в 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
👍21
⚡️ Усі нові фреймворки в iOS 26 — короткий огляд

Зібрав в одному пості всі нові фреймворки, анонсовані 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
👍5🔥1
💡Що під капотом у новому дизайні UITabBar?

🤩 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
5
⭐️ Apple готує “Обговорення” — новий формат живої комунікації з розробниками

Пол Хадсон поділився скріншотом із закритого демо, де видно нову функцію — “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
🔥1
💡Кілька слів про новий фреймворк Containerization від Apple

По-перше, цей реліз — не для iOS-розробників.

Apple представила нову утиліту container, яка дозволяє створювати та запускати Linux-контейнери — по суті, це легкі віртуальні машини.

А сам фреймворк Containerization дає змогу використовувати такі контейнери всередині ізольованих середовищ. Кожен контейнер працює у своїй власній віртуальній машині, подібно до того, як це реалізовано в Docker.

Це справді стане в пригоді тим, хто раніше змушений був розгортати повноцінну Linux‑віртуалку — альтернатив просто не було
🔗 Коментарі спільноти — simonwillison.net

📺 Якщо не працюєте з інфраструктурою або Linux‑оточенням — сесію можна сміливо пропустити

P.S. Хочеться вірити, що наші підписники вже можуть дозволити собі розширену підписку на AI‑асистента, щоб розібратись у подібних речах 😉
(Або як завжди — просто видалять пост 😄)

🇺🇦 iOSDevUA
💡Використання памʼяті у Swift 6.2 та нові можливості для підвищення продуктивності

📺 Одна з найпрактичніших сесій на 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