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

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

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡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
💡SQLiteData — огляд бібліотеки

Команда Point-Free випустила безкоштовний урок, присвячений основам роботи з їхньою бібліотекою SQLiteData — це API-сумісна альтернатива SwiftData, під капотом якої, як неважко здогадатися з назви, використовується наш улюблений SQLite.

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

🇺🇦 iOSDevUA
1
💡Чому сповіщення на macOS відображаються догори дриґом

Чудове технічне розслідування рідкісного бага, який випадково відтворювався в macOS-застосунку ChatGPT — сповіщення з’являлися перевернутими. У процесі дебагу автор занурюється в нетривіальні нюанси Core Animation, розбирає поведінку CALayer і показує, як подібні візуальні аномалії взагалі можуть виникати.

🇺🇦 iOSDevUA
1
💡Observable-класи в ієрархії SwiftUI

У матеріалі розглядаються практичні приклади роботи з @Observable-класами в SwiftUI: як правильно їх ініціалізувати, де й як зберігати у стейті, а також які типові помилки можуть виникати. Корисний розбір для тих, хто будує складніші ієрархії в’юшок і хоче уникнути неочевидних багів у керуванні станом.

🇺🇦 iOSDevUA
1
💡Non-exhaustive enums у Swift 6.2.3

У Swift 6.2.3 з’явиться важливе покращення для enum, особливо корисне авторам бібліотек: тепер можна додавати нові кейси, не ламаючи зворотну сумісність. Це спрощує еволюцію API та зменшує ризик брейкінг-змін для користувачів бібліотек.

🇺🇦 iOSDevUA
4
💡FAQ про Swift на Android

Розбір найпоширеніших запитань, що з’явилися після анонсу Swift для Android:

👉 Swift компілюється у машинний код, постачається з нативним рантаймом і стандартною бібліотекою, а для доступу до платформених можливостей Android використовує Java interop через Android Runtime.
👉 Продакшн-кейси вже існують: поштовий клієнт Spark, тренер гри на піаніно Flowkey та маркетплейс продуктів Naturitas.
👉 Дорожня карта розвитку зібрана на публічній борді — серед пріоритетів нормальна робота у VS Code та Android Studio.
👉 UI — не в фокусі робочої групи: мета — шаринг бізнес-логіки. Проєкти UI від спільноти можна подивитися тут: https://forums.swift.org/t/swift-gui-toolkits-for-android/83337.

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
💡Як ваш застосунок впливає на батарею

Якщо раптом пропустили: в останній версії iOS у Control Center з’явилася можливість запускати профілювання застосунку прямо на пристрої. Тепер можна безпосередньо на телефоні подивитися, як саме ваш app споживає енергію і який вплив має на заряд батареї — без підключення до Mac чи Instruments.

🇺🇦 iOSDevUA
2
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Cause & Effect Graph для SwiftUI

У Xcode 26 з’явився новий профайлер для SwiftUI — Cause & Effect Graph. Він дозволяє для будь-якої в’юшки побачити, які саме зміни стану спричинили кожен перерендер. Дуже наочний інструмент для дебагу зайвих оновлень і оптимізації продуктивності інтерфейсу.

🇺🇦 iOSDevUA
3
💡Як влаштований NSVisualEffectView

Автор статті хотів відтворити вигляд панелей у macOS Control Center у власному застосунку. Для цього йому довелося зайнятися реверс-інжинірингом нативного NSVisualEffectView та створити повністю кастомізовану реалізацію, яку можна детально вивчити на GitHub.

🇺🇦 iOSDevUA
😁1