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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
🎉 Swift — 10 років

Минуло рівно 10 років з моменту, коли Swift уперше став опенсорсним! Якщо хочете згадати, як це було, перегляньте той самий історичний пост-оголошення:
📖 https://www.swift.org/blog/welcome/

🇺🇦 iOSDevUA
1
💡Advent of Code у Swift

Стартував щорічний конкурс Advent of Code. Цього разу, щоправда, завдань не 25, а лише 12 — але формат залишився таким же захопливим. AoC традиційно вважається чудовим способом «погратися» з новими мовами програмування, до яких у вас зазвичай не доходять руки.

Але якщо ви віддаєте перевагу Swift, то за посиланням знайдете коротку інструкцію, як приєднатися до офіційного лідерборду від Apple та розв’язувати задачі разом зі Swift-спільнотою.

🇺🇦 iOSDevUA
💡Промахи в параметризованих тестах

Під час переходу з XCTest на параметризовані тести у Swift Testing легко припуститися кількох типових помилок. Через них покриття може погіршитися, а самі тести — стати менш зручними у підтримці.

У статті детально розглядаються всі ці потенційні проблеми, а разом із ними — найкращі практики написання параметризованих тестів, щоб уникнути «пасток» і зберегти тестову базу чистою та зрозумілою.

🇺🇦 iOSDevUA
💡Як дебажити застосунки, що використовують кілька процесів

З такою задачею можна зіткнутися, наприклад, коли ви розробляєте розширення для iOS, або працюєте над macOS-застосунком, який складається з кількох XPC-сервісів.

Стандартна поведінка Xcode у цих сценаріях неочевидна: наприклад, дебагер автоматично не під’єднується до допоміжних сервісів, навіть якщо вони запускаються разом з вашим застосунком — особливо якщо ці процеси написані не вами.

У статті пояснюється, як упоратися з цією та іншими проблемами:
• як коректно під’єднувати LLDB до кількох процесів;
• як налаштувати Xcode, щоб він автоматично стежив за потрібними сервісами;
• які інструменти варто використовувати для аналізу поведінки багатопроцесних застосунків.

Корисний матеріал для всіх, хто працює з XPC, app extensions або складними macOS-архітектурами.

🇺🇦 iOSDevUA
1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Створення таббару з анімацією в стилі Telegram в iOS 26

Анімації, схожі на ті, що реалізовані в Telegram, можна відтворити різними способами — і за складністю, і за витраченим часом вони сильно відрізняються.

📺 У цьому відео автор показує підхід, який дозволяє вбудувати анімовані ефекти SF Symbols прямо в стандартний таббар, використовуючи SwiftUI поверх UIKit.

У результаті ви отримуєте знайомий системний Tab Bar, але з плавними реактивними анімаціями, подібними до тих, що стали «фірмовою фішкою» Telegram.

🇺🇦 iOSDevUA
4
📺 Доповіді про серверний Swift

Вийшла добірка виступів з щорічної конференції, присвяченої Swift на сервері. Серед найцікавіших доповідей:

👉 Про Approachable Concurrency
👉 Як обрати між Vapor і Hummingbird
👉 Про Swift/Java інтероп

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

🇺🇦 iOSDevUA
💡Вийшов Swift Configuration 1.0

Офіційний інструмент від Apple для зручної роботи з конфігураціями у Swift-проєктах 🔧. Бібліотека дає єдиний API для читання налаштувань із різних джерел (environment variables, аргументи CLI, JSON/YAML, in-memory), підтримує пріоритети джерел і дозволяє підключати власні провайдери через протокол ConfigProvider. Орієнтована насамперед на серверний Swift і CLI, але підійде й для бібліотек. Приклад: можна описати конфіг як типобезпечну структуру й автоматично зчитати значення з ENV або файлу без бойлерплейту.

📦 GitHub - https://github.com/apple/swift-configuration

🇺🇦 iOSDevUA
💡Які налаштування компілятора важливі для Swift Concurrency?

📖 У своїй статті Метт Массікотт — розбирає наявні опції компілятора та рекомендує оптимальні налаштування для проєктів, що використовують Swift 6.

Також він відповідає на практичні питання: які режими варто просто ввімкнути, а про які можна не перейматися, щоб не ускладнювати конфігурацію без реальної користі.

🇺🇦 iOSDevUA
👍2
💡Tuist Registry тепер не прив’язаний до акаунту Tuist

На початку року команда Tuist представила Tuist Registry — реєстр Swift-пакетів, що відповідає офіційному стандарту та який можна розгорнути для будь-якого свого проєкту. Головна перевага підходу — завантажуються лише ті версії пакетів, які справді використовуються, що економить час збірки та місце на диску.

Однак одним із головних бар’єрів у впровадженні було те, що реєстр вимагав наявності акаунта в Tuist.

Тепер цю залежність повністю прибрали — і ви можете інтегрувати Tuist Registry у свої пайплайни абсолютно безшовно, без будь-якої прив’язки до Tuist-акаунтів.

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

🇺🇦 iOSDevUA
1
💡Як влаштовано застосунок Vercel для iOS

Чудова історія про те, з яким рівнем уваги до деталей команда Vercel підійшла до створення першої версії свого iOS-застосунку. Їхня мета була амбітною — створити UI/UX, який міг би претендувати на Apple Design Award, і у статті вони детально пояснюють, як реалізували ключові дизайнерські рішення.

Одразу варто зазначити, що технічний стек — не нативний Swift, а React Native з Expo, але це не зменшує цінності розбору. Автори показують, як використали анімації, переходи, світлотінь, структурування екранів і мікровзаємодії, щоб досягти максимально плавного, акуратного і «преміального» досвіду.

Це корисне чтиво для всіх, хто хоче зрозуміти, як будувати дійсно якісний мобільний інтерфейс — незалежно від того, на якому фреймворку він створений.

🇺🇦 iOSDevUA
💡Покращення валідації форм у SwiftUI за допомогою Key Path

📖 У цій статті показано, як використання key path дозволяє суттєво зменшити кількість коду для перевірки форм у SwiftUI й зробити його значно чистішим та читабельнішим.

🇺🇦 iOSDevUA
💡Один SwiftUI-застосунок — шість архітектур

Пітер Якуб переписав таск-менеджер шість разів, щоб спробувати визначити, яка архітектура працює найкраще. Цікаво, що він також зачіпає різницю між архітектурою та патернами проєктування — темою, в якій багато хто й досі плутається. У прикладах можна побачити підходи MVC, MVVM, VIPER, TCA, а також несподіваний висновок: Clean Architecture — це радше філософія, ніж конкретний набір правил (без згадок Роберта Мартина не обійшлося).

📖 Яких висновків він дійшов — читайте в оригіналі.

P.S. Автор не приховує, що використовував AI як допоміжний інструмент, але ще один погляд на вічну архітектурну дискусію точно не завадить.

🇺🇦 iOSDevUA
👍1
💡Які налаштування компілятора справді важливі для Swift Concurrency?

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

Окремо він розбирає практичне питання: які режими можна сміливо вмикати за замовчуванням, а які не мають сенсу чіпати, щоб не перевантажувати конфігурацію без реальної користі.

🇺🇦 iOSDevUA
💡Що питають на співбесідах у команди, що працюють зі Swift

Інді-розробника запросили на технічну співбесіду в команду, яка займається SwiftUI для macOS. Хоча офер він у підсумку не отримав, зате поділився реальними завданнями та питаннями, які йому ставили під час технічного інтерв’ю. Корисний матеріал, щоб зрозуміти рівень очікувань і теми, на які звертають увагу в командах, що працюють безпосередньо з екосистемою Swift.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡SwiftUI Animation Playground — інтерактивний застосунок для вивчення анімацій

Знайшов ще один цікавий open-source проєкт, який допомагає зменшити плутанину під час роботи з різними типами анімацій у SwiftUI.

У застосунку можна одразу порівняти 9 типів анімацій:
.spring, .smooth, .snappy, .bouncy, .easeIn, .easeOut, .easeInOut, .linear та .interpolatingSpring.


Також доступні налаштування параметрів — duration, bounce, stiffness, damping та інші, що дозволяє краще відчути різницю між підходами.

Анімації можна тестувати на різних фігурах або додати власні — усе ж таки це open-source.

🛠 GitHub-репозиторій: https://github.com/josejacas/SwiftAnimPlayground

🇺🇦 iOSDevUA
4
This media is not supported in your browser
VIEW IN TELEGRAM
💡Парадоксальний спосіб пришвидшити SwiftUI Preview

Звичайні збережені властивості — не найкращий варіант для прев’ю, адже Xcode перекомпілює файл щоразу, коли змінюється їхнє значення.

Натомість, якщо керувати параметрами через обчислювані властивості, оновлення прев’ю відбувається миттєво, без повної перекомпіляції.

Аксель Ле Пеннек навіть надіслав відповідний запит у Radar і отримав офіційне підтвердження від Apple, що це очікувана поведінка:
https://x.com/alpennec/status/2001578754032972116/photo/1

🇺🇦 iOSDevUA
👍3
💡Огляд AnyLanguageModel

Я вже згадував нову бібліотеку AnyLanguageModel від Hugging Face, яка дозволяє замінити локальні моделі Apple на будь-які інші open-source LLM без зміни прикладного коду.

За посиланням — докладніший розбір того, як усе працює, які сценарії вже підтримуються та які плани розвитку бібліотеки заплановані на майбутнє.

🇺🇦 iOSDevUA
💡Типові проблеми AI-згенерованого Swift-коду

Вже не секрет, що більшість LLM поки що генерують Swift гірше, ніж Python, Java чи інші популярні мови. За посиланням — зручна добірка найпоширеніших помилок, які трапляються в AI-коді: від застарілих API та некоректної роботи з опціоналами до проблем із Concurrency й SwiftUI. Корисно перечитати й навіть додати в гайдлайни для вашого AI-агента, щоб одразу фільтрувати типові огріхи.

🇺🇦 iOSDevUA
👍3
💡Як підготувати білд-систему Xcode для роботи з AI-агентами

Команда Tuist випустила чудовий дослідницький матеріал про те, як саме працює білд-система Xcode і які артефакти її роботи дійсно корисні для AI-агентів. У статті розбирають, які дані варто «віддавати» агентам для аналізу, а які, навпаки, створюють шум і лише заважають робити коректні висновки. Дуже корисне чтиво для всіх, хто хоче ефективно інтегрувати AI у пайплайни збірки та діагностики проєктів.

🇺🇦 iOSDevUA
📦 Penpot — open-source альтернатива Figma

Penpot значно простіший за Figma, але для більшості базових задач можливостей цілком вистачає. Серед ключових фіч:

👉 спільна робота в реальному часі
👉 підтримка дизайн-систем
👉 плагіни та розширення
👉 Inspect-режим, який помітно полегшує життя розробникам

Хороший варіант для команд, які шукають відкриту альтернативу без прив’язки до закритих сервісів.

🇺🇦 iOSDevUA