ch
Feedback
🇺🇦 iOS Dev UA - спільнота iOS розробників

🇺🇦 iOS Dev UA - спільнота iOS розробників

前往频道在 Telegram

Перша україномовна спільнота iOS розробників 🇺🇦 👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple. Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple. чат: @iOSDevsUAChat Ідеї та пропозиції: @SergeyZhuravel

显示更多
384
订阅者
无数据24 小时
+37
+1130
帖子存档
💡Архітектура SwiftData: шаблони та практики SwiftData стала помітним кроком уперед у сфері зберігання даних, маючи на меті замінити Core Data більш інтуїтивним рішенням, яке простіше інтегрувати зі SwiftUI. Однак залишається кілька важливих питань: • Як правильно проєктувати застосунок на базі SwiftData? • Чи можна повністю покладатися на @Model та @Query, чи все ж варто абстрагувати їх за протоколами для більшої гнучкості? • Як бути з бізнес-логікою? • Як побудувати структуру коду, щоб забезпечити надійність та простоту тестування? У великій статті за посиланням ви знайдете відповіді на ці та інші запитання: • Як структурувати моделі даних • Де розміщувати бізнес-логіку • Як писати модульні тести • Як налаштувати роботу з Preview у Xcode • Як інтегрувати CloudKit • Як підготуватися до майбутніх змін на рівні шарів застосунку 🇺🇦 iOSDevUA

💡Ефект сяяння тексту в поєднанні з numericText Демонструється приклад доволі простої анімації з приємним візуальним враженням. Для її реалізації потрібен масив із кількома кольорами, декілька тіней, а також contentTransition із numericText. 🇺🇦 iOSDevUA

💡Bindings у SwiftUI Chris Eidhof пояснює, чому в продакшн-коді варто уникати використання Binding(get:set:). Такий підхід може спричинити проблеми з продуктивністю, ускладнює підтримку та тестування коду. У статті детально розглядаються альтернативи та способи зробити роботу з Binding більш надійною. 🇺🇦 iOSDevUA

💡Мутаційне тестування у великому проєкті Мутаційне тестування — це підхід, за якого у код навмисно вносяться дрібні зміни (так звані “мутації”), щоб перевірити, чи зможуть існуючі тести їх виявити. У світі Swift для цього є open source інструмент — Muter, який підтримує велику кількість різних типів мутацій. У статті описується досвід застосування Muter у масштабному проєкті, де було понад 1000 тестів та згенеровано 1657 “мутантів”. Розглядаються труднощі, результати та як масштабувати підхід для великих кодових баз. 🇺🇦 iOSDevUA

💡Чому краще уникати Group у SwiftUI На відміну від VStack або HStack, елемент Group у SwiftUI може поводитися непередбачувано. Наприклад, у симуляторі та в Canvas-перегляді його рендеринг може відрізнятися. Також модифікатори застосовуються по-різному: деякі — лише один раз, інші — окремо для кожного дочірнього елемента. Тому для більш передбачуваної поведінки краще обирати інші контейнерні компоненти. 🇺🇦 iOSDevUA

💡Вийшов перший стабільний реліз Swiftly – офіційного менеджера версій Swift Хоча актуальна версія Swift за замовчуванням входить до складу Xcode, іноді може знадобитися інша версія, наприклад, для створення серверних сервісів або CLI-інструментів. Раніше встановлення потрібної версії Swift разом із залежностями вимагало ручних дій, що часто призводило до помилок. 🛠 У цьому релізі Swiftly став частиною Swift toolchain. Крім того, додано підтримку macOS, що дозволяє встановлювати Swift окремо від Xcode. Серед основних можливостей: ➡️ Встановлення кількох тулчейнів (як стабільних релізів, так і сніпшотів). ➡️ Оновлення встановлених тулчейнів до актуальної версії. ➡️ Перегляд доступних версій для встановлення через list-available. ➡️ Використання конкретного тулчейна в рамках проєкту через файл .swift-version. ➡️ Запуск команд із вибраним тулчейном за допомогою підкоманди run. 📖 Офіційна новина на сайті Swift: Introducing Swiftly. 🇺🇦 iOSDevUA

💡Використовуємо Swift у Zed Zed — відносно новий редактор коду, головною перевагою якого є надзвичайна швидкість роботи. Якщ
💡Використовуємо Swift у Zed Zed — відносно новий редактор коду, головною перевагою якого є надзвичайна швидкість роботи. Якщо ви шукаєте альтернативу Xcode, варто звернути увагу саме на нього. У статті показано, як легко налаштувати Zed для розробки на Swift за кілька простих кроків. 🇺🇦 iOSDevUA

💡Цієї ночі вийшов Xcode 16.3 та Swift 6.1, а разом із ними – новий режим програмування з нативною інтеграцією вайб-кодингу! На цьому тижні Європа офіційно дала “зелене світло” Apple Intelligence, і Тім Кук шокував спільноту, написавши в X:
«Нам довелося ухвалити складне рішення. Все більше розробників довіряють AI, усе більше процесів інтегрується, і ми змушені не тільки тримати темп із Google та OpenAI, але й змагатися із самим часом. Тому ми вирішили вивести режим вайб-кодингу в Xcode із бети. Ніякого Leetcode, ніяких роздумів – тільки х-к, х-к і в продакшн (деякі літери, на жаль, загубилися)».
Ще місяць тому Сергій Брін закликав колег працювати по 60 годин на тиждень в офісі, але Apple, як завжди, випередили всіх. У Купертіно розробники сиділи по 120 годин із понеділка по суботу, приходячи о 4 ранку. Ця “інновація” вже викликала хвилю скорочень у Кремнієвій долині та навіть зачепила великі технологічні компанії в РФ. Спільноти з десятками тисяч підписників уже запустили курси, як обійти нові процеси співбесід. Тепер вони радять не накопичувати досвід, а “скручувати” його, адже для роботи з новим AI потрібно якнайменше навичок. Чистий, не замутнений алгоритмами розум тепер має перевагу перед розробниками з 10+ роками досвіду. 🇺🇦 iOSDevUA

💡Нова робоча група Swift, яка відповідатиме за тестування Як ви, мабуть, знаєте, розвиток Swift наразі є доволі децентралізованим: за різні його напрямки відповідають окремі робочі групи, що складаються як із працівників Apple, так і з представників спільноти. І от сформували нову групу, яка зосередиться на всьому, що пов’язано з тестуванням — від тулінгу до бібліотек. Основний фокус — реалізація бачення Swift Testing Vision 🔗 Детальніше про склад групи та їхні цілі — на офіційному сайті: https://www.swift.org/testing-workgroup/ 🇺🇦 iOSDevUA

💡Чудовий пост про вбудовані проблеми дизайну Codable, які обмежують його продуктивність. Наприклад, ми навіть розглядали заміну JSONDecoder на швидшу опенсорсну альтернативу, яка не створює проміжного словника при розборі даних. Codable також часто змушує розробників стикатися з різкими складнощами при реалізації кастомного декодування: або все працює «з коробки», або доводиться витрачати купу зусиль — і майже немає проміжних варіантів. Особисто я не фанат макросів, але саме в цьому випадку вони справді можуть бути доречними. Дуже рекомендую ознайомитися з матеріалом. 👉 https://forums.swift.org/t/the-future-of-serialization-deserialization-apis/78585 🇺🇦 iOSDevUA

💡Стратегії уникнення merge-конфліктів у проєктах Xcode Кожен, хто працював хоча б у невеликій команді розробників (а іноді й
💡Стратегії уникнення merge-конфліктів у проєктах Xcode Кожен, хто працював хоча б у невеликій команді розробників (а іноді й удвох), точно стикався з конфліктами при об’єднанні змін. 📖 Команда Tuist підготувала корисний матеріал, у якому пояснюється, чому виникають такі проблеми, зокрема через файл project.pbxproj, який генерується Xcode. Також вони поділилися кількома підходами до вирішення: використання workspace, перехід на SwiftPM або ж застосування buildable folders — нової можливості в Xcode 16. 🇺🇦 iOSDevUA

🎬iOS Conf SG 2025: добірка виступів У січні відбулася одна з найбільших конференцій з iOS-розробки, і найцікавіші презентаці
🎬iOS Conf SG 2025: добірка виступів У січні відбулася одна з найбільших конференцій з iOS-розробки, і найцікавіші презентації вже доступні онлайн. Рекомендую звернути увагу на ці виступи: 📺 Ізоляція, актори, sendable… Глибоке занурення в паралелізм Donny Wals розбирає концепції ізоляції, акторів та багатопотоковості, пояснюючи, що насправді означають помилки компілятора, які часто викликають плутанину. 📺 Міфи про тестування та як зробити його прискорювачем розробки Krzysztof Zablocki ділиться підходами до тестування, які він використовував у роботі над Sourcery, The New York Times та Arc Browser. 📺 Як створювати додатки, що виділяються Klemens Strasser, лауреат Apple Design Award, розповідає, як створювати додатки, які запам’ятовуються та отримують визнання. 📺 10 років Swift: що змінилося за цей час Swift, який ми використовуємо сьогодні, суттєво відрізняється від того, з чого все починалося 10 років тому. Пол Хадсон розглядає еволюцію мови та майбутні зміни. 📺 За межами програмування: важливі софт-скіли для кар’єрного зростання в iOS Як будувати професійні відносини, долати труднощі в роботі та чому софт-скіли важливі для успішної кар’єри – про це розповідає спікер. 🔗 Усі виступи доступні за посиланням 🇺🇦 iOSDevUA

💡Коректний пошук входження рядка ❌ name.lowercased().contains(searchText.lowercased()) ✅ name.localizedStandardContains(searchText) Чому другий варіант кращий: 👉 Автоматично враховує регістр (case insensitive). 👉 Ігнорує діакритичні знаки (наприклад, cafe vs café). 👉 Коректно працює з локально-специфічними символами (наприклад, ẞ → ss). 👉 Підтримується в SwiftData. 🇺🇦 iOSDevUA

💡Що відбувається з Apple Intelligence Минулого тижня Apple знову відклали реліз нових AI-фіч, які ще на WWDC обіцяли показати користувачам. Одночасно з цим відбувся витік інформації з внутрішнього обговорення команди Siri: 👉 AI стабільно працює лише у 66-80% випадків, що поки що надто мало для продакшну. 👉 Менеджер команди Siri звинувачує маркетинг у тому, що ті занадто рано показали ще недопрацьовані фічі, створивши завищені очікування. 👉 Звільняти топ-менеджерів через ці проблеми поки що не планують, але повністю таку можливість не виключають. 👉 Apple Intelligence випустять лише тоді, коли будуть впевнені у якості. 🇺🇦 iOSDevUA

💡Невеликий навчальний матеріал (для зовсім новачків) про одну з головних проблем верстки – роботу з Safe Area та Insets. 👉
💡Невеликий навчальний матеріал (для зовсім новачків) про одну з головних проблем верстки – роботу з Safe Area та Insets. 👉 https://www.createwithswift.com/placing-ui-components-within-the-safe-area-inset/ 🇺🇦 iOSDevUA

💡Динамічна адаптація до доступного простору за допомогою ViewThatFits ViewThatFits — це компонент SwiftUI, доступний із iOS 16. Його принцип роботи простий: ViewThatFits вибирає перший дочірній елемент, розмір якого найбільш підходить до запропонованого простору. Зазвичай вибір йде від найбільшого до найменшого, проте, якщо вью може поміститися лише вздовж однієї осі, порядок може змінюватися. За замовчуванням ViewThatFits працює з обмеженнями по горизонтальній та вертикальній осях. 📖 Гарний приклад використання ViewThatFits можна знайти тут та в офіційній документації. 🇺🇦 iOSDevUA

🔥Чекаємо на WWDC 2025 девʼятого червня! 🇺🇦 iOSDevUA
🔥Чекаємо на WWDC 2025 девʼятого червня! 🇺🇦 iOSDevUA

Дуже детальний та корисний матеріал про рендеринг у SwiftUI 🔥 👉 https://twocentstudios.com/2025/03/10/pixel-art-swift-ui/ �
Дуже детальний та корисний матеріал про рендеринг у SwiftUI 🔥 👉 https://twocentstudios.com/2025/03/10/pixel-art-swift-ui/ 🇺🇦 iOSDevUA

💡У Південній Кореї запровадили систему підтвердження для підписок • Користувач оформлює триал • Триал завершується 🆕 Apple надсилає запит на додаткове підтвердження (через email і push-сповіщення) • Після цього відбувається списання або скасування підписки Підтвердження потрібне лише при переході з триалу або промо-офера, коли змінюється ціна. Якщо користувач одразу оформлює підписку за стандартною вартістю — додаткових дій не потрібно. Нововведення запроваджене через місцеве законодавство та поки що діє лише в Південній Кореї. В інших країнах усе залишається без змін. 👉 https://developer.apple.com/news/?id=bo1b122z 🇺🇦 iOSDevUA

💡Новий реліз Copilot for Xcode Вийшла оновлена версія плагіна Copilot, яка офіційно вийшла з бети та стала загальнодоступною
💡Новий реліз Copilot for Xcode Вийшла оновлена версія плагіна Copilot, яка офіційно вийшла з бети та стала загальнодоступною. Головна новація – можливість вибору моделі LLM для чату: Claude Sonnet, o1 або o3-mini. 🇺🇦 iOSDevUA