💡Просте налаштування модуляризації для iOS-додатків
Модульний підхід у розробці iOS-додатків має багато переваг:
🔹 Краща тестованість – кожен модуль можна перевіряти окремо.
🔹 Прискорення збірки – правильне розподілення покращує швидкість компіляції.
🔹 Легша командна робота – різні частини додатка можна розробляти незалежно.
📖 У статті детально розглянуто підхід до модульної архітектури через Core/Domain/Presentation шари. Також показано, як масштабувати цей метод для великих проектів.
🛠 Код доступний на GitHub: ModularTemplate.
🇺🇦 iOSDevUA
Модульний підхід у розробці iOS-додатків має багато переваг:
🔹 Краща тестованість – кожен модуль можна перевіряти окремо.
🔹 Прискорення збірки – правильне розподілення покращує швидкість компіляції.
🔹 Легша командна робота – різні частини додатка можна розробляти незалежно.
📖 У статті детально розглянуто підхід до модульної архітектури через Core/Domain/Presentation шари. Також показано, як масштабувати цей метод для великих проектів.
🛠 Код доступний на GitHub: ModularTemplate.
🇺🇦 iOSDevUA
💡Що нового у Swift Concurrency 6.1
Swift Concurrency поступово стає зручнішим для розробників, як і було обіцяно в пропозалі Approachable Concurrency.
Нещодавно вийшла бета Swift 6.1, яка додала нові функції, що спрощують роботу з асинхронними задачами.
📖 Детальний розбір оновлень – у цій статті.
🇺🇦 iOSDevUA
Swift Concurrency поступово стає зручнішим для розробників, як і було обіцяно в пропозалі Approachable Concurrency.
Нещодавно вийшла бета Swift 6.1, яка додала нові функції, що спрощують роботу з асинхронними задачами.
📖 Детальний розбір оновлень – у цій статті.
🇺🇦 iOSDevUA
💡Синхронне виконання задач в iOS-додатках
Більшість iOS-розробників уникають блокування основного потоку, переносячи тривалі завдання на фонові черги. Це допомагає зберегти плавність роботи інтерфейсу.
Однак, як зазначає Мэтт у своїй статті, короткотривалі процеси можуть працювати швидше саме на основному потоці. Причина в тому, що перемикання між потоками хоч і здається незначним, але все ж має певні витрати ресурсів.
Крім того, додавання паралелізму може значно ускладнити код і його підтримку.
📖 Більше деталей та практичних прикладів – у статті автора.
🇺🇦 iOSDevUA
Більшість iOS-розробників уникають блокування основного потоку, переносячи тривалі завдання на фонові черги. Це допомагає зберегти плавність роботи інтерфейсу.
Однак, як зазначає Мэтт у своїй статті, короткотривалі процеси можуть працювати швидше саме на основному потоці. Причина в тому, що перемикання між потоками хоч і здається незначним, але все ж має певні витрати ресурсів.
Крім того, додавання паралелізму може значно ускладнити код і його підтримку.
📖 Більше деталей та практичних прикладів – у статті автора.
🇺🇦 iOSDevUA
👍2❤1
💡Обхід захисту від дебагу та джейлбрейка
Деякі додатки, особливо банківські, мають вбудовані механізми безпеки, що блокують підключення дебагера або повністю відключають роботу на джейлбрейкнутому пристрої.
📖 У цій статті розглядається, як обійти такі обмеження, підключити дебагер і виконати довільний код у рантаймі.
Матеріал буде корисним для розробників, які хочуть перевірити стійкість своїх додатків до таких атак.
🇺🇦 iOSDevUA
Деякі додатки, особливо банківські, мають вбудовані механізми безпеки, що блокують підключення дебагера або повністю відключають роботу на джейлбрейкнутому пристрої.
📖 У цій статті розглядається, як обійти такі обмеження, підключити дебагер і виконати довільний код у рантаймі.
Матеріал буде корисним для розробників, які хочуть перевірити стійкість своїх додатків до таких атак.
🇺🇦 iOSDevUA
bryce.co
Debugging An Undebuggable App
This app has a surprising number of anti-debugging protections. Let's figure out how to bypass them.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Симетричні та асиметричні ефекти в SwiftUI з використанням Scroll Transition
📖 Корисний гайд про створення ефектів анімації під час скролу з Scroll Transition Modifier.
У матеріалі наведені приклади коду, що допоможуть легко впровадити такі переходи у ваш додаток.
Важливо: цей модифікатор працює лише на iOS 17 і новіших версіях.
🇺🇦 iOSDevUA
📖 Корисний гайд про створення ефектів анімації під час скролу з Scroll Transition Modifier.
У матеріалі наведені приклади коду, що допоможуть легко впровадити такі переходи у ваш додаток.
Важливо: цей модифікатор працює лише на iOS 17 і новіших версіях.
🇺🇦 iOSDevUA
👍1
💡Воркфлоу роботи з LLM у розробці
AI поступово змінює підхід до розробки, як для нових проектів, так і при роботі з існуючим кодом. У статті описано структурований підхід, який допомагає ефективно використовувати LLM у робочому процесі.
Основні етапи:
👉 Спільний брейншторм із AI у чаті – на виході отримуємо чітку специфікацію задачі.
👉 На основі спеки AI формує план атомарних завдань.
👉 Завдання передаються LLM або агенту для поетапної реалізації.
📖 Детальний опис процесу – за посиланням.
🇺🇦 iOSDevUA
AI поступово змінює підхід до розробки, як для нових проектів, так і при роботі з існуючим кодом. У статті описано структурований підхід, який допомагає ефективно використовувати LLM у робочому процесі.
Основні етапи:
👉 Спільний брейншторм із AI у чаті – на виході отримуємо чітку специфікацію задачі.
👉 На основі спеки AI формує план атомарних завдань.
👉 Завдання передаються LLM або агенту для поетапної реалізації.
📖 Детальний опис процесу – за посиланням.
🇺🇦 iOSDevUA
harper.blog
My LLM codegen workflow atm
A detailed walkthrough of my current workflow for using LLms to build software, from brainstorming through planning and execution.
💡Новий інструмент аналізу продуктивності: Processor Trace
Тривале виконання операцій у головному потоці може викликати фризи, проблеми з відображенням або навіть повну некерованість додатка.
🛠 У Xcode 16.3 Beta 2 з’явився новий інструмент Processor Trace, який дозволяє аналізувати навантаження на процесор.
З його допомогою можна отримати детальну інформацію про виконуваний код, включно з гілками виконання та інструкціями.
❗️ Обмеження:
🔹 Працює тільки на M4 та iPhone 16 і вище.
🔹 Використання трасування сповільнює пристрій приблизно на 1 %.
Цей інструмент допомагає перевірити активність CPU і вирішити, які завдання перенести у фоновий режим за допомогою Swift Concurrency або dispatch queue.
🇺🇦 iOSDevUA
Тривале виконання операцій у головному потоці може викликати фризи, проблеми з відображенням або навіть повну некерованість додатка.
🛠 У Xcode 16.3 Beta 2 з’явився новий інструмент Processor Trace, який дозволяє аналізувати навантаження на процесор.
З його допомогою можна отримати детальну інформацію про виконуваний код, включно з гілками виконання та інструкціями.
❗️ Обмеження:
🔹 Працює тільки на M4 та iPhone 16 і вище.
🔹 Використання трасування сповільнює пристрій приблизно на 1 %.
Цей інструмент допомагає перевірити активність CPU і вирішити, які завдання перенести у фоновий режим за допомогою Swift Concurrency або dispatch queue.
🇺🇦 iOSDevUA
❤1
💡Serverless Swift: створення AWS Lambda на Swift
📡 У цьому матеріалі показано, як реалізувати AWS Lambda на Swift для керування розумними лампочками.
Автор розбирає:
🔹 Технічні особливості реалізації
🔹 Продуктивність такого рішення
🔹 Орієнтовну вартість серверлесс-бекенду
Цікавий кейс для тих, хто хоче спробувати Swift у хмарних технологіях. 🚀
🇺🇦 iOSDevUA
📡 У цьому матеріалі показано, як реалізувати AWS Lambda на Swift для керування розумними лампочками.
Автор розбирає:
🔹 Технічні особливості реалізації
🔹 Продуктивність такого рішення
🔹 Орієнтовну вартість серверлесс-бекенду
Цікавий кейс для тих, хто хоче спробувати Swift у хмарних технологіях. 🚀
🇺🇦 iOSDevUA
Ryan Token
Serverless Swift
It’s Swift on Server, minus the server. Deployed on AWS via Swift Cloud.
💡Зміни в пошуку App Store: додадуть теги та пошук за змістом
🔍 Apple оновлює алгоритм пошуку в App Store – тепер додадуть теги, а сам пошук більше не базуватиметься лише на збігу букв, а враховуватиме сенс запитів.
🛠 Поки що оновлення доступне лише для частини додатків у США, але протягом року його планують розгорнути для всіх.
🇺🇦 iOSDevUA
🔍 Apple оновлює алгоритм пошуку в App Store – тепер додадуть теги, а сам пошук більше не базуватиметься лише на збігу букв, а враховуватиме сенс запитів.
🛠 Поки що оновлення доступне лише для частини додатків у США, але протягом року його планують розгорнути для всіх.
📊 Як це вплине на пошукові позиції додатків – дізнаємось згодом.
🇺🇦 iOSDevUA
👍1
💡Доповіді про Swift з FOSDEM 2025
Якщо вам цікаво почути нетипові доповіді про Swift, то FOSDEM – саме те, що потрібно! Тут не буде стандартних тем про iOS-розробку, зате багато про серверний Swift, embedded та технічні аспекти мови.
Ось кілька цікавих виступів, які вже доступні до перегляду:
🔗 Swift та Java: взаємодія між мовами
🔗 Ферофлюїдний музичний візуалізатор на Embedded Swift
🔗 Дистрибутивний трейсинг у серверному Swift
🇺🇦 iOSDevUA
Якщо вам цікаво почути нетипові доповіді про Swift, то FOSDEM – саме те, що потрібно! Тут не буде стандартних тем про iOS-розробку, зате багато про серверний Swift, embedded та технічні аспекти мови.
Ось кілька цікавих виступів, які вже доступні до перегляду:
🔗 Swift та Java: взаємодія між мовами
🔗 Ферофлюїдний музичний візуалізатор на Embedded Swift
🔗 Дистрибутивний трейсинг у серверному Swift
🇺🇦 iOSDevUA
archive.fosdem.org
FOSDEM 2025 - Foreign Function and Memory APIs and Swift/Java interoperability
🚀 SecurityKit легка та проста у використанні бібліотеки Swift, яка допомагає захистити iOS додатки відповідно до стандарту OWASP MASVS, розділ v8, забезпечуючи вдосконалений рівень безпеки та захисту від несанкціонованого доступу.
● Jailbreak detection
● Static integrity checks
● Debugger detection
● Reverse engineering tools detection
● Network settings detection
Захистіть свої додатки без зусиль за допомогою SecurityKit!
🔗GitHub: https://github.com/FuturraGroup/SecurityKit
🇺🇦 iOSDevUA
● Jailbreak detection
● Static integrity checks
● Debugger detection
● Reverse engineering tools detection
● Network settings detection
Захистіть свої додатки без зусиль за допомогою SecurityKit!
🔗GitHub: https://github.com/FuturraGroup/SecurityKit
🇺🇦 iOSDevUA
GitHub
GitHub - FuturraGroup/SecurityKit: SecurityKit is a lightweight, easy-to-use Swift library that helps protect iOS apps according…
SecurityKit is a lightweight, easy-to-use Swift library that helps protect iOS apps according to the OWASP MASVS standard, chapter v8, providing an advanced security and anti-tampering layer. - Fut...
👍3
💡Покрокова анімація в SwiftUI
На talk.objc.io вийшов безкоштовний випуск, у якому детально розглядається створення анімації для заголовка та кількох комірок, що з’являються у шаховому порядку з плавною зміною прозорості та градієнта.
📖 Переглянути відео та ознайомитися з прикладами коду можна тут: talk.objc.io.
🇺🇦 iOSDevUA
На talk.objc.io вийшов безкоштовний випуск, у якому детально розглядається створення анімації для заголовка та кількох комірок, що з’являються у шаховому порядку з плавною зміною прозорості та градієнта.
📖 Переглянути відео та ознайомитися з прикладами коду можна тут: talk.objc.io.
🇺🇦 iOSDevUA
💡Створення UDP-сервера та клієнта в Swift за допомогою Network Framework
Модель OSI описує, як пристрої у локальних і глобальних мережах передають дані. Вона складається з 7 рівнів, і хоча для більшості завдань достатньо URLSession, для роботи з TCP та UDP потрібен Network Framework, який забезпечує більший контроль на транспортному рівні.
📖 У цьому матеріалі розглядається створення UDP-сервера та клієнта на практичному прикладі.
🛠 Повний код доступний на GitHub.
🇺🇦 iOSDevUA
Модель OSI описує, як пристрої у локальних і глобальних мережах передають дані. Вона складається з 7 рівнів, і хоча для більшості завдань достатньо URLSession, для роботи з TCP та UDP потрібен Network Framework, який забезпечує більший контроль на транспортному рівні.
📖 У цьому матеріалі розглядається створення UDP-сервера та клієнта на практичному прикладі.
🛠 Повний код доступний на GitHub.
🇺🇦 iOSDevUA
👍1
💡Проблеми продуктивності List у SwiftUI на macOS
Автор стверджує, що стандартний List у SwiftUI може мати проблеми з продуктивністю на macOS при роботі з великим обсягом даних (10 000+ елементів).
💡 Рішення – власна кастомна реалізація, яка позбавлена цих недоліків.
Сам не тестував, але матеріал виглядає цікавим.
📖 Ознайомитися можна тут: Custom Lazy List у SwiftUI.
🇺🇦 iOSDevUA
Автор стверджує, що стандартний List у SwiftUI може мати проблеми з продуктивністю на macOS при роботі з великим обсягом даних (10 000+ елементів).
💡 Рішення – власна кастомна реалізація, яка позбавлена цих недоліків.
Сам не тестував, але матеріал виглядає цікавим.
📖 Ознайомитися можна тут: Custom Lazy List у SwiftUI.
🇺🇦 iOSDevUA
Nil Coalescing
Designing a custom lazy list in SwiftUI with better performance
Implement a high-performance lazy scrolling list in SwiftUI by efficiently reusing views for smooth scrolling with large datasets.
💡Які версії iOS зараз використовуються?
Якщо ви обираєте мінімальну підтримувану версію iOS для свого застосунку, ось актуальна статистика використання різних версій iOS:
📊 Розподіл основних версій:
1️⃣ iOS 18 – 79,5%
2️⃣ iOS 17 – 13,7%
3️⃣ iOS 16 – 5%
📌 Детальне розбиття за мінорними версіями доступне тут.
🇺🇦 iOSDevUA
Якщо ви обираєте мінімальну підтримувану версію iOS для свого застосунку, ось актуальна статистика використання різних версій iOS:
📊 Розподіл основних версій:
1️⃣ iOS 18 – 79,5%
2️⃣ iOS 17 – 13,7%
3️⃣ iOS 16 – 5%
📌 Детальне розбиття за мінорними версіями доступне тут.
🇺🇦 iOSDevUA
👍1😁1
Picker у SwiftUI: приклади та пояснення 🎨
Корисний матеріал про Picker у SwiftUI – як його налаштовувати, стилізувати та використовувати у додатках.
📖 Розбір з прикладами коду та поясненнями, щоб краще зрозуміти його можливості.
🇺🇦 iOSDevUA
Корисний матеріал про Picker у SwiftUI – як його налаштовувати, стилізувати та використовувати у додатках.
📖 Розбір з прикладами коду та поясненнями, щоб краще зрозуміти його можливості.
🇺🇦 iOSDevUA
💡Lynx – новий кросплатформенний фреймворк від TikTok
TikTok презентували Lynx – новий UI-фреймворк для кросплатформеної розробки.
🔹 Чим він відрізняється?
Концептуально він нагадує React Native: використовує веб-технології, але рендерить інтерфейс у нативні компоненти кожної платформи.
⚡️ Головна фішка – продуктивність
Lynx працює на двох окремих рантаймах:
1️⃣ Один відповідає за високопріоритетні UI-операції
2️⃣ Другий – за основний користувацький код
🛠 Детальніше про проєкт – у блозі розробників.
🇺🇦 iOSDevUA
TikTok презентували Lynx – новий UI-фреймворк для кросплатформеної розробки.
🔹 Чим він відрізняється?
Концептуально він нагадує React Native: використовує веб-технології, але рендерить інтерфейс у нативні компоненти кожної платформи.
⚡️ Головна фішка – продуктивність
Lynx працює на двох окремих рантаймах:
1️⃣ Один відповідає за високопріоритетні UI-операції
2️⃣ Другий – за основний користувацький код
🛠 Детальніше про проєкт – у блозі розробників.
🇺🇦 iOSDevUA
💡Model Context Protocol (MCP) у Swift
У блозі NSHipster вийшла нова стаття, де детально розбирають MCP (Model Context Protocol) – протокол для взаємодії LLM із зовнішніми інструментами.
🔍 Що цікавого?
📖 У статті пояснюється, як працює протокол та для чого він може знадобитися.
🛠 Крім того, автори відкрили Swift SDK для MCP у відкритий доступ.
🇺🇦 iOSDevUA
У блозі NSHipster вийшла нова стаття, де детально розбирають MCP (Model Context Protocol) – протокол для взаємодії LLM із зовнішніми інструментами.
🔍 Що цікавого?
📖 У статті пояснюється, як працює протокол та для чого він може знадобитися.
🛠 Крім того, автори відкрили Swift SDK для MCP у відкритий доступ.
🇺🇦 iOSDevUA
NSHipster
Model Context Protocol (MCP)
Language Server Protocol (LSP) revolutionized how programming languages integrate with developer tools. Model Context Protocol (MCP) aims to do the same for a new generation of AI tools.
❤1
💡Оптимізація таблиць у SwiftUI через UIKit
Якщо продуктивність списків у SwiftUI в певних кейсах недостатня, є ефективний підхід:
🔹 Використовувати SwiftUI тільки для розмітки ячейок
🔹 А для управління таблицею переключитися на UICollectionView
Це стало можливим завдяки новому механізму конфігурації UIKit, який дозволяє інтегрувати SwiftUI в комірки.
📖 Детальніше про методику – в оригінальній статті.
🇺🇦 iOSDevUA
Якщо продуктивність списків у SwiftUI в певних кейсах недостатня, є ефективний підхід:
🔹 Використовувати SwiftUI тільки для розмітки ячейок
🔹 А для управління таблицею переключитися на UICollectionView
Це стало можливим завдяки новому механізму конфігурації UIKit, який дозволяє інтегрувати SwiftUI в комірки.
📖 Детальніше про методику – в оригінальній статті.
🇺🇦 iOSDevUA
Swift with Majid
SwiftUI Performance - How to use UIKit
Nowadays, Apple platform development has undergone significant changes. Previously, we believed that building the core of an app around UIKit and using SwiftUI for certain screens was a good idea. This week, we’ll delve into the foundation of app development…
💡Виявлення та усунення зависань в iOS-додатках
📖 У цій статті розглядається одна з найпоширеніших причин погіршення продуктивності iOS-додатків.
Спойлер: у всьому винні важкі обчислення в головному потоці.
Описано, як виявляти зависання за допомогою App Hangs Detection та Instruments, змодельовано сценарій зависання інтерфейсу у SwiftUI-проєкті, а також показано кроки для виправлення цієї проблеми.
🇺🇦 iOSDevUA
📖 У цій статті розглядається одна з найпоширеніших причин погіршення продуктивності iOS-додатків.
Спойлер: у всьому винні важкі обчислення в головному потоці.
Описано, як виявляти зависання за допомогою App Hangs Detection та Instruments, змодельовано сценарій зависання інтерфейсу у SwiftUI-проєкті, а також показано кроки для виправлення цієї проблеми.
🇺🇦 iOSDevUA
❤2
💡Новий реліз Copilot for Xcode
Вийшла оновлена версія плагіна Copilot, яка офіційно вийшла з бети та стала загальнодоступною. Головна новація – можливість вибору моделі LLM для чату: Claude Sonnet, o1 або o3-mini.
🇺🇦 iOSDevUA
Вийшла оновлена версія плагіна Copilot, яка офіційно вийшла з бети та стала загальнодоступною. Головна новація – можливість вибору моделі LLM для чату: Claude Sonnet, o1 або o3-mini.
🇺🇦 iOSDevUA