💡Запускаємо Swift на Android
Skip Tools, раніше транспілюючи Swift у Kotlin, пішли ще далі і тепер навчилися компілювати Swift таким чином, щоб бінарний файл можна було запускати на Android. Це дозволяє інтегруватися з Kotlin та взаємодіяти з Xcode.
🇺🇦 iOSDevUA
Skip Tools, раніше транспілюючи Swift у Kotlin, пішли ще далі і тепер навчилися компілювати Swift таким чином, щоб бінарний файл можна було запускати на Android. Це дозволяє інтегруватися з Kotlin та взаємодіяти з Xcode.
🇺🇦 iOSDevUA
👍4❤2🤯1
💡Покращуємо використання ScrollView: створення колекцій з вертикальним та горизонтальним скролом
📖 У цьому матеріалі розглядаються особливості використання ScrollView при впровадженні пагінації, властивості containerRelativeFrame, робота з позицією прокрутки та анімаціями.
🇺🇦 iOSDevUA
📖 У цьому матеріалі розглядаються особливості використання ScrollView при впровадженні пагінації, властивості containerRelativeFrame, робота з позицією прокрутки та анімаціями.
🇺🇦 iOSDevUA
❤2👍2
💡Через два роки неможливо буде випускати нові версії подів
Кілька місяців тому я ділився новиною про те, що CocoaPods завершив активну розробку і планує перейти в режим підтримки. Тепер з’явилися подробиці щодо цього: через два роки CocoaPods trunk перейде в режим тільки для читання, що означає, що публікація нових версій подів стане неможливою.
🇺🇦 iOSDevUA
Кілька місяців тому я ділився новиною про те, що CocoaPods завершив активну розробку і планує перейти в режим підтримки. Тепер з’явилися подробиці щодо цього: через два роки CocoaPods trunk перейде в режим тільки для читання, що означає, що публікація нових версій подів стане неможливою.
🇺🇦 iOSDevUA
blog.cocoapods.org
The Dependency Manager for iOS & Mac projects.
❤1💔1
This media is not supported in your browser
VIEW IN TELEGRAM
💡Розбір Apple Intelligence: генерація зображень
🔗 Image Playground, працюючий на базі Apple Intelligence, — це новий інструмент, який дозволяє легко перетворювати текстові та візуальні запити на зображення.
Він доступний у macOS 15.2 beta, iOS 18.2 beta та iPadOS 18.2 beta і відкриває нові можливості для творчості не лише для користувачів, але й для нас, розробників.
📖 Ознайомитися з можливостями роботи з Image Playground можна тут.
🇺🇦 iOSDevUA
🔗 Image Playground, працюючий на базі Apple Intelligence, — це новий інструмент, який дозволяє легко перетворювати текстові та візуальні запити на зображення.
Він доступний у macOS 15.2 beta, iOS 18.2 beta та iPadOS 18.2 beta і відкриває нові можливості для творчості не лише для користувачів, але й для нас, розробників.
📖 Ознайомитися з можливостями роботи з Image Playground можна тут.
🇺🇦 iOSDevUA
👍2
💡Sharing – нова бібліотека від Pointfree
Pointfree випустили бібліотеку Sharing, яка спрощує обмін станом як між модулями додатка, так і з зовнішнім середовищем, таким як файлові системи чи UserDefaults.
🔗 Посилання на GitHub
🇺🇦 iOSDevUA
Pointfree випустили бібліотеку Sharing, яка спрощує обмін станом як між модулями додатка, так і з зовнішнім середовищем, таким як файлові системи чи UserDefaults.
🔗 Посилання на GitHub
🇺🇦 iOSDevUA
www.pointfree.co
Simple state sharing and persistence in Swift
We are excited to announce a brand new open-source library: Sharing. Instantly share state among your app’s features and external persistence layers, including user defaults, the file system, and more.
❤1👍1
💡Створення екрану налаштувань у SwiftUI за допомогою AppStorage
Простий екран з опціональними функціями необхідний практично в кожному пет-проєкті або тестовому завданні.
📖 У цій статті, яка особливо корисна для новачків, розглядається створення такого екрану. Автор також нагадує, для чого слід використовувати suiteName.
🇺🇦 iOSDevUA
Простий екран з опціональними функціями необхідний практично в кожному пет-проєкті або тестовому завданні.
📖 У цій статті, яка особливо корисна для новачків, розглядається створення такого екрану. Автор також нагадує, для чого слід використовувати suiteName.
🇺🇦 iOSDevUA
👍2❤1
💡Як покращилися Text Fields у SwiftUI
Якщо ви не дуже уважно стежили за розвитком текстових полів у SwiftUI останніми роками, у статті розглядаються основні покращення:
👉 Автоматичний ресайзинг вздовж вибраної осі
👉 Доступ до вмісту виділеного тексту
👉 Suggestions API
🇺🇦 iOSDevUA
Якщо ви не дуже уважно стежили за розвитком текстових полів у SwiftUI останніми роками, у статті розглядаються основні покращення:
👉 Автоматичний ресайзинг вздовж вибраної осі
👉 Доступ до вмісту виділеного тексту
👉 Suggestions API
🇺🇦 iOSDevUA
Swift with Majid
Text field enhancements in SwiftUI
From the very first release of the SwiftUI framework, text fields were a weak point of the framework. Over the years, Apple introduced a few enhancements to text fields to improve the developer experience. This week, we will talk about the improvements that…
❤1
🎬Добірка доповідей з конференції Swift Connection 2024
Нещодавно відбулося чергове подія для iOS-розробників, і я хочу поділитися плейлистом та ключовими доповідями, які, на мою думку, варто послухати.
📺 Практичне керівництво з продуктивності Swift
У цьому доповіді розглядається, як правильно фокусуватися на найбільш важливих аспектах для написання швидкого коду Swift, з практичними порадами та прикладами.
📺 Дані? Дані! Вони всюди!
Доповідь охоплює різні варіанти зберігання даних (Plist/SQLite/CoreData/Swift Data) і їх продуктивність при роботі з 1 ГБ даних.
📺 Дзен і мистецтво відлагодження
Доповідач закликає відмовитись від використання пошукових систем для вирішення проблем і зосередитися на справжньому розумінні джерела проблем.
📺 Swift 6 + Concurrency
Автор ділиться порадами для ефективного та елегантного вирішення асинхронних задач у Swift 6.
📺 SwiftUI-анімації
Це відео розглядає різні способи створення анімацій у SwiftUI.
📺 Повний плейлист конференції доступний тут.
🇺🇦 iOSDevUA
Нещодавно відбулося чергове подія для iOS-розробників, і я хочу поділитися плейлистом та ключовими доповідями, які, на мою думку, варто послухати.
📺 Практичне керівництво з продуктивності Swift
У цьому доповіді розглядається, як правильно фокусуватися на найбільш важливих аспектах для написання швидкого коду Swift, з практичними порадами та прикладами.
📺 Дані? Дані! Вони всюди!
Доповідь охоплює різні варіанти зберігання даних (Plist/SQLite/CoreData/Swift Data) і їх продуктивність при роботі з 1 ГБ даних.
📺 Дзен і мистецтво відлагодження
Доповідач закликає відмовитись від використання пошукових систем для вирішення проблем і зосередитися на справжньому розумінні джерела проблем.
📺 Swift 6 + Concurrency
Автор ділиться порадами для ефективного та елегантного вирішення асинхронних задач у Swift 6.
📺 SwiftUI-анімації
Це відео розглядає різні способи створення анімацій у SwiftUI.
📺 Повний плейлист конференції доступний тут.
🇺🇦 iOSDevUA
❤5
💡Дослідження розробки для macOS
👉 Лише 20% розробників поширюють свої додатки виключно через App Store.
👉 Найпопулярніший фреймворк — AppKit, який використовується у 45% всіх додатків. Кросплатформених додатків на React Native та Flutter також досить багато.
👉 visionOS не здобув великої популярності — лише 3% респондентів створюють абсолютно нові додатки для цієї платформи, 17% адаптують існуючі додатки або планують це зробити, а 35% взагалі не планують працювати з visionOS.
🇺🇦 iOSDevUA
👉 Лише 20% розробників поширюють свої додатки виключно через App Store.
👉 Найпопулярніший фреймворк — AppKit, який використовується у 45% всіх додатків. Кросплатформених додатків на React Native та Flutter також досить багато.
👉 visionOS не здобув великої популярності — лише 3% респондентів створюють абсолютно нові додатки для цієї платформи, 17% адаптують існуючі додатки або планують це зробити, а 35% взагалі не планують працювати з visionOS.
🇺🇦 iOSDevUA
❤4
💡Метью Массікотт про строгий паралелізм у Swift 6
Впровадження Swift 6 може бути складним і спричиняти чимало проблем. Не полегшує ситуацію і велика кількість ключових слів: tasks, sendability, isolation domains та boundaries, actors, preconcurrency (і багато іншого).
📺 У цьому випуску Dev Conversations Метью розповідає не тільки про це, але й про свій досвід роботи з платформами Apple ще до появи OS X, а також про роботу з батареєю iPhone в кінці 2000-х і перші дні роботи в Crashlytics.
📖 Текстовий варіант бесіди доступний тут.
Метью також відомий завдяки своєму блогу, де можна знайти практичні рішення та поради, що іноді з’являються й у нашому каналі. Його репозиторій містить:
🔗 Практичні рішення проблем з використанням Swift Concurrency на GitHub.
🇺🇦 iOSDevUA
Впровадження Swift 6 може бути складним і спричиняти чимало проблем. Не полегшує ситуацію і велика кількість ключових слів: tasks, sendability, isolation domains та boundaries, actors, preconcurrency (і багато іншого).
📺 У цьому випуску Dev Conversations Метью розповідає не тільки про це, але й про свій досвід роботи з платформами Apple ще до появи OS X, а також про роботу з батареєю iPhone в кінці 2000-х і перші дні роботи в Crashlytics.
📖 Текстовий варіант бесіди доступний тут.
Метью також відомий завдяки своєму блогу, де можна знайти практичні рішення та поради, що іноді з’являються й у нашому каналі. Його репозиторій містить:
🔗 Практичні рішення проблем з використанням Swift Concurrency на GitHub.
🇺🇦 iOSDevUA
YouTube
Dev Conversations #4: Matt Massicotte - Swift 6 strict concurrency
The adoption of strict concurrency in Swift is not an easy process in some projects. Implicit assumptions we usually make are often challenged by the compiler, and we don't know how to solve them in many cases - leading to frustration among us, developers.…
📲 Apps of the Year 2024
Apple підвели підсумки щорічної премії для найкращих додатків.
👉 Додаток року для iOS – Kino
👉 Додаток року для iPad – Moises
👉 Додаток року для годинників – Lumy
🇺🇦 iOSDevUA
Apple підвели підсумки щорічної премії для найкращих додатків.
👉 Додаток року для iOS – Kino
👉 Додаток року для iPad – Moises
👉 Додаток року для годинників – Lumy
🇺🇦 iOSDevUA
Apple
App Store Awards 2025 - Apple Developer
For over a decade, we’ve taken a moment at the end of the year to celebrate the very best and most impactful apps and games on the App Store — and the developers behind them.
💡SwiftUI Button: кастомні стилі та найкращі практики
Для багатьох додатків необхідно створювати кастомні компоненти. Це може бути викликано потребою в єдиному дизайні, і саме кастомні стилі є чудовим способом досягти бажаного вигляду.
Наприклад, можна додати анімацію масштабування, щоб покращити індикацію натискання кнопки.
📖 У цій статті розглядаються різні підходи до створення таких елементів для подальшого повторного використання.
🇺🇦 iOSDevUA
Для багатьох додатків необхідно створювати кастомні компоненти. Це може бути викликано потребою в єдиному дизайні, і саме кастомні стилі є чудовим способом досягти бажаного вигляду.
Наприклад, можна додати анімацію масштабування, щоб покращити індикацію натискання кнопки.
📖 У цій статті розглядаються різні підходи до створення таких елементів для подальшого повторного використання.
🇺🇦 iOSDevUA
SwiftLee
SwiftUI Button: Custom Styles, Variants, and Best Practices
Add interaction to your app with a SwiftUI Button, custom styles, and interactions. Learn how you can define reusable components.
👍1
💡Великий репозиторій з різноманітними компонентами на SwiftUI
Тут можна знайти різні контролери, безліч анімацій і багато нестандартних рішень. Це не готові до виробництва рішення, а скоріше прототипи, до яких можна заглянути та, при бажанні, доопрацювати! 👍
👉https://github.com/mikelikesdesign/SwiftUI-experiments
Тут можна знайти різні контролери, безліч анімацій і багато нестандартних рішень. Це не готові до виробництва рішення, а скоріше прототипи, до яких можна заглянути та, при бажанні, доопрацювати! 👍
👉https://github.com/mikelikesdesign/SwiftUI-experiments
GitHub
GitHub - mikelikesdesign/SwiftUI-experiments: Examples with SwiftUI and other Apple frameworks that showcase various interactions…
Examples with SwiftUI and other Apple frameworks that showcase various interactions, animations and more - mikelikesdesign/SwiftUI-experiments
👍2
💡Великий посібник по перевірці користувацьких даних у 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…