💡Великий посібник по перевірці користувацьких даних у SwiftUI
Валідація не повинна бути занадто складною, адже її основна мета — сигналізувати користувачу про неправильність введених даних. Це можна досягти, показуючи повідомлення про помилки, підсвічуючи поля або вмикаючи/вимикаючи певні дії.
ℹ️ Один з поширених підходів — створення кастомних компонентів, але навіть у цього варіанту є свої недоліки.
📖 У цій статті розглядаються різні способи перевірки валідності даних і показано, як це можна покрити тестами.
🇺🇦 iOSDevUA
Валідація не повинна бути занадто складною, адже її основна мета — сигналізувати користувачу про неправильність введених даних. Це можна досягти, показуючи повідомлення про помилки, підсвічуючи поля або вмикаючи/вимикаючи певні дії.
ℹ️ Один з поширених підходів — створення кастомних компонентів, але навіть у цього варіанту є свої недоліки.
📖 У цій статті розглядаються різні способи перевірки валідності даних і показано, як це можна покрити тестами.
🇺🇦 iOSDevUA
🔥 Детальний огляд SF Symbol для Swift та SwiftUI
У цій статті ви знайдете велику кількість інформації про використання SF Symbols у Swift та SwiftUI, з усіма нюансами та корисними порадами.
👉 https://www.avanderlee.com/swift/sf-symbol-guide/
🇺🇦 iOSDevUA
У цій статті ви знайдете велику кількість інформації про використання SF Symbols у Swift та SwiftUI, з усіма нюансами та корисними порадами.
👉 https://www.avanderlee.com/swift/sf-symbol-guide/
🇺🇦 iOSDevUA
SwiftLee
SF Symbol: How to for Swift & SwiftUI
Use an SF Symbol in Swift & SwiftUI and explore over 6,000 free-to-use icons provided by Apple for app developers.
❤1👍1
⏰ Про TimelineView у SwiftUI
Це вьюшка, яка оновлюється за заданим часом або розкладом. Ви вказуєте, коли і як її потрібно “перерисувати”. Наприклад, якщо ви хочете створити анімацію годин або щось подібне.
Більше деталей можна дізнатися в самій статті! 👍
👉 https://digitalbunker.dev/time-based-view-updates-in-swiftui/
🇺🇦 iOSDevUA
Це вьюшка, яка оновлюється за заданим часом або розкладом. Ви вказуєте, коли і як її потрібно “перерисувати”. Наприклад, якщо ви хочете створити анімацію годин або щось подібне.
Більше деталей можна дізнатися в самій статті! 👍
👉 https://digitalbunker.dev/time-based-view-updates-in-swiftui/
🇺🇦 iOSDevUA
Digital Bunker
Time-Based View Updates in SwiftUI
In this article, we'll explore how to use SwiftUI's TimelineView to create views that update according to whatever schedule you provide.
💡Реалізація клікабельних посилань у SwiftUI
Завдяки підтримці Markdown у SwiftUI можна легко реалізувати функцію клікабельних посилань.
Окрім того, можна використовувати не лише глобальний стиль, а й задавати індивідуальний для кожного посилання.
📖 У цій статті описано необхідні кроки, а також доступне опенсорсне рішення.
🇺🇦 iOSDevUA
Завдяки підтримці Markdown у SwiftUI можна легко реалізувати функцію клікабельних посилань.
Окрім того, можна використовувати не лише глобальний стиль, а й задавати індивідуальний для кожного посилання.
📖 У цій статті описано необхідні кроки, а також доступне опенсорсне рішення.
🇺🇦 iOSDevUA
👍6❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Колекція анімацій для iOS-додатків
Ділюсь ще однією цікавою знахідкою — сайтом, на якому зібрані найкращі анімації для додатків Apple та не тільки.
Анімації розподілені за темами — наприклад, можна знайти використання гіроскопа, або ж подивитись варіанти застосування морфінгу, свайпів чи незвичного використання слайдерів.
🔗 На сайті вже зібрано близько 1000 анімацій, які можуть надихнути вас на створення власних.
🇺🇦 iOSDevUA
Ділюсь ще однією цікавою знахідкою — сайтом, на якому зібрані найкращі анімації для додатків Apple та не тільки.
Анімації розподілені за темами — наприклад, можна знайти використання гіроскопа, або ж подивитись варіанти застосування морфінгу, свайпів чи незвичного використання слайдерів.
🔗 На сайті вже зібрано близько 1000 анімацій, які можуть надихнути вас на створення власних.
🇺🇦 iOSDevUA
❤5
💡Noncopyable Types
З початку Swift 5.9 з’явилася можливість позначати типи як Noncopyable за допомогою анотації
У статті детально розглядаються всі особливості поведінки Noncopyable типів.
🇺🇦 iOSDevUA
З початку Swift 5.9 з’явилася можливість позначати типи як Noncopyable за допомогою анотації
~Copyable. При присвоєнні значення такого типу з однієї змінної в іншу відбувається не копіювання, а переміщення значення. Важливо, що класи не можуть бути Noncopyable типами.У статті детально розглядаються всі особливості поведінки Noncopyable типів.
🇺🇦 iOSDevUA
Nil Coalescing
Noncopyable types in Swift
Explore noncopyable types in Swift and learn how they enforce stricter ownership rules to avoid unintended errors and resource conflicts.
🎬Підбірка топових доповідей з NSSpain 2024
Одна з найвідоміших конференцій нарешті опублікувала список доповідей для загального доступу (а не тільки по запрошеннях).
📺 Реалізація плавної прокрутки в Threads
Незважаючи на те, що iPhone та iPad стають все потужнішими, підтримка плавності прокрутки додатків залишається важливою як ніколи. До речі, ось перша версія доповіді.
📺 Як створити найкращий Pull Request
Написати хороший код — це лише половина справи.
📺 Ви дійсно знаєте Swift?
У цій доповіді автор розповідає про деякі API, які ми використовуємо щодня, щоб зрозуміти, що насправді відбувається, і обіцяє показати кілька трюків, яких ви раніше не бачили.
📺 Тестуйте свої додатки!
Krzysztof Zablocki ділиться інформацією про те, як тестування може підвищити вашу ефективність і які є найкращі практики для підтримки тестів!
🔗 Весь плейлист конференції доступний за цим посиланням.
🇺🇦 iOSDevUA
Одна з найвідоміших конференцій нарешті опублікувала список доповідей для загального доступу (а не тільки по запрошеннях).
📺 Реалізація плавної прокрутки в Threads
Незважаючи на те, що iPhone та iPad стають все потужнішими, підтримка плавності прокрутки додатків залишається важливою як ніколи. До речі, ось перша версія доповіді.
📺 Як створити найкращий Pull Request
Написати хороший код — це лише половина справи.
📺 Ви дійсно знаєте Swift?
У цій доповіді автор розповідає про деякі API, які ми використовуємо щодня, щоб зрозуміти, що насправді відбувається, і обіцяє показати кілька трюків, яких ви раніше не бачили.
📺 Тестуйте свої додатки!
Krzysztof Zablocki ділиться інформацією про те, як тестування може підвищити вашу ефективність і які є найкращі практики для підтримки тестів!
🔗 Весь плейлист конференції доступний за цим посиланням.
🇺🇦 iOSDevUA
🎬 WebAssembly та Swift
Чудовим кандидатом для компіляції Swift є WebAssembly. Ось доповідь від розробника з основної команди Swift, у якій розповідається, як WebAssembly працює «під капотом», як підтримка Wasm реалізована в Swift і як розробляти власні плагіни для цієї технології.
🇺🇦 iOSDevUA
Чудовим кандидатом для компіляції Swift є WebAssembly. Ось доповідь від розробника з основної команди Swift, у якій розповідається, як WebAssembly працює «під капотом», як підтримка Wasm реалізована в Swift і як розробляти власні плагіни для цієї технології.
🇺🇦 iOSDevUA
YouTube
Introduction to WebAssembly for Swift Developers - Max Desiatov | SwiftLeeds 2024
WebAssembly support in Swift started as a community project and over the years evolved into an ecosystem of libraries and developer tools. The talk provides an introduction to Wasm, showing how it works under the hood. It answers frequently asked questions…
💡Підбірка найкращих інструментів для розробників
Цією підбіркою я ділюсь тому, що тут немає того, що ви могли б очікувати, наприклад, як Cursor. Натомість зібрано класичні інструменти, які покращують вашу роботу з базами даних, Git та документацією. Ось деякі з них:
👉 Bruno – open source аналог Postman
👉 GitButler – Git-клієнт, який вводить нову концепцію віртуальних гілок
👉 Heynote – поєднання буфера обміну, текстового редактора та калькулятора
🇺🇦 iOSDevUA
Цією підбіркою я ділюсь тому, що тут немає того, що ви могли б очікувати, наприклад, як Cursor. Натомість зібрано класичні інструменти, які покращують вашу роботу з базами даних, Git та документацією. Ось деякі з них:
👉 Bruno – open source аналог Postman
👉 GitButler – Git-клієнт, який вводить нову концепцію віртуальних гілок
👉 Heynote – поєднання буфера обміну, текстового редактора та калькулятора
🇺🇦 iOSDevUA
Mailbrew
Create beautiful, automated newsletters with content from the sites and apps you love.
❤3
💡Як OpenAI тестує свої додатки
Загалом, використовується стандартний набір тестів – юніт, інтеграційні та ручні тести. Однак цікавою особливістю є використання снепшот-тестів, які автоматично генеруються з попередніх переглядів Xcode. Саме ці тести розглядаються в основному в статті.
🇺🇦 iOSDevUA
Загалом, використовується стандартний набір тестів – юніт, інтеграційні та ручні тести. Однак цікавою особливістю є використання снепшот-тестів, які автоматично генеруються з попередніх переглядів Xcode. Саме ці тести розглядаються в основному в статті.
🇺🇦 iOSDevUA
Emergetools
Emerge Tools Blog | OpenAI on Mobile Development, Previews, & Snapshot Testing
A deep dive into how OpenAI approaches snapshot testing in their ChatGPT mobile apps
💡Продуктивність в додатку Threads
Цікава стаття, яка детально описує, як Meta працює над продуктивністю додатку Threads – від використаних метрик до конкретних практик оптимізації.
🇺🇦 iOSDevUA
Цікава стаття, яка детально описує, як Meta працює над продуктивністю додатку Threads – від використаних метрик до конкретних практик оптимізації.
🇺🇦 iOSDevUA
💡Збірник статей для вивчення Swift!
Це збірка корисних статей, розподілених за розділами, з іншими матеріалами на тому ж ресурсі. Хоча автор стверджує, що після вивчення цих статей ви зможете створити власний додаток, я вважаю, що для цього потрібно більше практики. Проте тут є багато корисних посилань, і для новачків це точно буде корисно! 👍
👉 https://www.avanderlee.com/swift/swift-tutorials-learn-swift-code-examples/
🇺🇦 iOSDevUA
Це збірка корисних статей, розподілених за розділами, з іншими матеріалами на тому ж ресурсі. Хоча автор стверджує, що після вивчення цих статей ви зможете створити власний додаток, я вважаю, що для цього потрібно більше практики. Проте тут є багато корисних посилань, і для новачків це точно буде корисно! 👍
👉 https://www.avanderlee.com/swift/swift-tutorials-learn-swift-code-examples/
🇺🇦 iOSDevUA
SwiftLee
Swift Tutorials: Learn Swift with Easy-to-Follow Code Examples
Discover Swift tutorials to learn Swift with code examples and in-depth articles. Go from writing, to testing, to building a User Interface.
💡Typed Throws у Swift 6
У Swift 6 ви тепер можете не тільки позначити за допомогою
🇺🇦 iOSDevUA
У Swift 6 ви тепер можете не тільки позначити за допомогою
throws, що функція може повернути помилку, але й вказати конкретний тип цієї помилки:func readFileContent(at path: String) throws(FileNotFoundError) -> String {
...
}
🇺🇦 iOSDevUA
🔥2
💡YUI — галерея плавних інтерактивних переходів на UIKit
Хоча SwiftUI чудово підходить для швидкого створення інтерфейсів і додатків, однакові контролери часто повторюються, що може погіршити враження від використання (особливо коли враховувати чутливість інтерфейсу).
Розробник поділився репозиторієм, де він спробував відтворити кілька класичних ефектів, які ми часто бачимо в популярних додатках.
Це буде корисно для вивчення використання
🛠 Посилання на репозиторій з ефектами і описом підходу доступне ось тут.
🇺🇦 iOSDevUA
Хоча SwiftUI чудово підходить для швидкого створення інтерфейсів і додатків, однакові контролери часто повторюються, що може погіршити враження від використання (особливо коли враховувати чутливість інтерфейсу).
Розробник поділився репозиторієм, де він спробував відтворити кілька класичних ефектів, які ми часто бачимо в популярних додатках.
Це буде корисно для вивчення використання
UIViewControllerTransitioningDelegate/UIViewControllerInteractiveTransitioning та UIPercentDrivenInteractiveTransition.🛠 Посилання на репозиторій з ефектами і описом підходу доступне ось тут.
🇺🇦 iOSDevUA
👍1
💡Forked – бібліотека для роботи з даними в колаборативних застосунках
Forked – нова бібліотека, орієнтована на читання та модифікацію даних одночасно в кількох потоках. Що цікаво, вона значною мірою натхнена принципами роботи з Git-ветками та їх злиттям, і була розроблена спеціально для випадків з локально першими застосунками.
🇺🇦 iOSDevUA
Forked – нова бібліотека, орієнтована на читання та модифікацію даних одночасно в кількох потоках. Що цікаво, вона значною мірою натхнена принципами роботи з Git-ветками та їх злиттям, і була розроблена спеціально для випадків з локально першими застосунками.
🇺🇦 iOSDevUA
The Mental Faculty
Blog — The Mental Faculty
Notes on software, sync, and shipping by Drew McCormack.
💡Чи варто переходити на Swift 6 у 2025 році?
Донні Уолс ставить це питання і наводить кілька важливих моментів, на які слід звернути увагу.
Хоча відповідь залежить від багатьох факторів: проєкт, над яким ви працюєте, команда, з якою співпрацюєте, і рівень знань Swift Concurrency, Донні зосередився на розборі існуючих проблем і викликів.
📖 Повний текст статті можна прочитати тут.
🇺🇦 iOSDevUA
Донні Уолс ставить це питання і наводить кілька важливих моментів, на які слід звернути увагу.
Хоча відповідь залежить від багатьох факторів: проєкт, над яким ви працюєте, команда, з якою співпрацюєте, і рівень знань Swift Concurrency, Донні зосередився на розборі існуючих проблем і викликів.
📖 Повний текст статті можна прочитати тут.
🇺🇦 iOSDevUA
Donny Wals
Is 2025 the year to fully adopt Swift 6? – Donny Wals
When Apple released Xcode 16 last year, they made the Swift 6 compiler available along with it. This means that we can create new projects using Swift 6 and its compile-time data race protections.
💡Реалізація підтримки JWT на Swift сервері
Мені дуже подобається блог SwiftOnServer. Хлопці публікують корисні туторіали, що показують, як вирішувати найпоширеніші задачі серверної розробки за допомогою актуальної екосистеми Swift. Цього разу вони розглядають, як за допомогою JWTKit реалізувати авторизацію на основі JWT.
🇺🇦 iOSDevUA
Мені дуже подобається блог SwiftOnServer. Хлопці публікують корисні туторіали, що показують, як вирішувати найпоширеніші задачі серверної розробки за допомогою актуальної екосистеми Swift. Цього разу вони розглядають, як за допомогою JWTKit реалізувати авторизацію на основі JWT.
🇺🇦 iOSDevUA
Swiftonserver
Introduction to JWTs in Swift - Swift on server
Learn how to use JWTs in Swift to secure your API
💡1Password CLI для роботи з секретами
У цій статті розглядається чудовий підхід до роботи з секретами, який є надійнішим і зручнішим, ніж зберігання їх у .env файлах. Крім того, це перша стаття за довгий час на легендарному блозі NSHipster!
🇺🇦 iOSDevUA
У цій статті розглядається чудовий підхід до роботи з секретами, який є надійнішим і зручнішим, ніж зберігання їх у .env файлах. Крім того, це перша стаття за довгий час на легендарному блозі NSHipster!
🇺🇦 iOSDevUA
NSHipster
op run
.env files can create friction in development workflows — especially as teams and projects grow over time. If you’re feeling this pain, the 1Password CLI (op) might be just what you need.
❤1
💡Відстежуємо стабільність API бібліотек
Одна з найскладніших задач у розвитку бібліотеки — це підтримка зворотної сумісності.
Як Swift-розробник, у вас є кілька інструментів для відстеження змін, що ламають сумісність. У статті детально порівнюються всі ці інструменти:
👉Інструменти, доступні в SPM з коробки
👉xcodebuild та swift-api-digester
👉Swift Public API diff
🇺🇦 iOSDevUA
Одна з найскладніших задач у розвитку бібліотеки — це підтримка зворотної сумісності.
Як Swift-розробник, у вас є кілька інструментів для відстеження змін, що ламають сумісність. У статті детально порівнюються всі ці інструменти:
👉Інструменти, доступні в SPM з коробки
👉xcodebuild та swift-api-digester
👉Swift Public API diff
🇺🇦 iOSDevUA
💡Як швидко локалізувати додаток за допомогою AI
Локалізація додатку на потрібні мови тепер стала значно простішою. У статті розглядається один з варіантів робочого процесу, де для отримання початкового перекладу використовується AI, а для перевірки — сервіс POEditor, з залученням волонтерів.
🇺🇦 iOSDevUA
Локалізація додатку на потрібні мови тепер стала значно простішою. У статті розглядається один з варіантів робочого процесу, де для отримання початкового перекладу використовується AI, а для перевірки — сервіс POEditor, з залученням волонтерів.
🇺🇦 iOSDevUA
POEditor
Software Translation Management System
POEditor is a translation management system where human expertise meets AI localization. Simple to start, scalable as you grow. Trusted by teams worldwide.
Apple нагадали, що з 17 лютого 2025 року додатки без статусу трейдера будуть видалятися з App Store в країнах Європейського Союзу, поки цей статус не буде наданий та, за потреби, підтверджений.
🔗 Детальніше про новину можна дізнатися тут.
🇺🇦 iOSDevUA
Please open Telegram to view this post
VIEW IN TELEGRAM