Матеріал про Actors у Swift, але не про базову частину (посилання на базову частину також є у статті), а про повторні входження в Actors і трохи про те, до яких проблем можуть призводити async функції всередині Actors.
Загалом матеріал має бути корисним не тільки в теорії, а й на практиці! 👍
👉 https://www.donnywals.com/actor-reentrancy-in-swift-explained/
🇺🇦 iOSDevUA
Загалом матеріал має бути корисним не тільки в теорії, а й на практиці! 👍
👉 https://www.donnywals.com/actor-reentrancy-in-swift-explained/
🇺🇦 iOSDevUA
Donny Wals
Actor reentrancy in Swift explained – Donny Wals
Learn how Swift’s actors can cause issues once you start adding async functions to them. This is called actor reentrancy and this post teaches you everything you need to know.
💡Як зменшити розмір додатка за допомогою dynamic фреймворків
Якщо у вашого додатка є екстеншни, до яких статично лінкуються ті самі бібліотеки, що й до основного таргету, ви без потреби значно збільшуєте розмір бінарника. У статті розглядається, як правильно відстежити проблему та налаштувати динамічні фреймворки, щоб її вирішити.
👉 https://www.emergetools.com/blog/posts/make-your-ios-app-smaller-with-dynamic-frameworks
🇺🇦 iOSDevUA
Якщо у вашого додатка є екстеншни, до яких статично лінкуються ті самі бібліотеки, що й до основного таргету, ви без потреби значно збільшуєте розмір бінарника. У статті розглядається, як правильно відстежити проблему та налаштувати динамічні фреймворки, щоб її вирішити.
👉 https://www.emergetools.com/blog/posts/make-your-ios-app-smaller-with-dynamic-frameworks
🇺🇦 iOSDevUA
💡Як використовувати експериментальні версії (та функції) Swift у Xcode?
Якщо ви любите читати про те, що нового з'явилося в Swift, або дізнаватися про всі майбутні класні новинки, часто хочеться спробувати ці функції самостійно.
Іноді дійсно доведеться почекати, але часто у пропозалах можна зустріти наступне:
Це говорить нам про те, що якщо зайти в Swift безпосередньо з головної гілки, можна протестувати цю функцію, встановивши потрібний прапорець компілятора.
Наприклад, release/5.10 або release/6.0 показує, що функція буде доступна тільки при використанні Swift з цієї гілки.
📖 У цьому матеріалі можна почитати не тільки про встановлення альтернативного тулчейна для Xcode, але й про використання експериментальних функцій.
👉 https://www.donnywals.com/how-to-use-experimental-swift-versions-and-features-in-xcode/
🇺🇦 iOSDevUA
Якщо ви любите читати про те, що нового з'явилося в Swift, або дізнаватися про всі майбутні класні новинки, часто хочеться спробувати ці функції самостійно.
Іноді дійсно доведеться почекати, але часто у пропозалах можна зустріти наступне:
-enable-experimental-feature
Це говорить нам про те, що якщо зайти в Swift безпосередньо з головної гілки, можна протестувати цю функцію, встановивши потрібний прапорець компілятора.
Наприклад, release/5.10 або release/6.0 показує, що функція буде доступна тільки при використанні Swift з цієї гілки.
📖 У цьому матеріалі можна почитати не тільки про встановлення альтернативного тулчейна для Xcode, але й про використання експериментальних функцій.
👉 https://www.donnywals.com/how-to-use-experimental-swift-versions-and-features-in-xcode/
🇺🇦 iOSDevUA
🔥1
🔥 Apple запрошує на спеціальний івент 7 травня о 18:00 за Київським часом.
Переглянути можна буде онлайн на apple.com, на Apple TV або на YouTube Live.
👇 Пишіть в коментарях чого чекати від Apple на івенті
🇺🇦 iOSDevUA
Переглянути можна буде онлайн на apple.com, на Apple TV або на YouTube Live.
👇 Пишіть в коментарях чого чекати від Apple на івенті
🇺🇦 iOSDevUA
👍2
💡Swift on Server 2024
Робоча група, яка займається розвитком серверного Swift, розповіла про поточний стан справ та плани на наступний рік.
👉 Опубліковані результати великого опитування про те, з якими проблемами стикаються розробники.
👉 Екосистема продовжує рости, особливо відзначають процес інкубації нових пакетів та участь у GSoC.
👉 Structured concurrency адаптується новими пакетами, а також фундаментальними існуючими, на кшталт SwiftNIO.
👉 Важливий новий інструментарій: Swiftly, Dependabot, Chiseled Containers, OpenAPI generator.
👉 Фокуси на 2024: посилений маркетинг, підготовка до Swift 6, подальший адапшн Swift Concurrency.
➡️ https://www.swift.org/blog/sswg-update-2024/
🇺🇦 iOSDevUA
Робоча група, яка займається розвитком серверного Swift, розповіла про поточний стан справ та плани на наступний рік.
👉 Опубліковані результати великого опитування про те, з якими проблемами стикаються розробники.
👉 Екосистема продовжує рости, особливо відзначають процес інкубації нових пакетів та участь у GSoC.
👉 Structured concurrency адаптується новими пакетами, а також фундаментальними існуючими, на кшталт SwiftNIO.
👉 Важливий новий інструментарій: Swiftly, Dependabot, Chiseled Containers, OpenAPI generator.
👉 Фокуси на 2024: посилений маркетинг, підготовка до Swift 6, подальший адапшн Swift Concurrency.
➡️ https://www.swift.org/blog/sswg-update-2024/
🇺🇦 iOSDevUA
Swift.org
SSWG 2024 Annual Update
In this annual post, the Swift Server WorkGroup (SSWG) reflects on the community, ecosystem-wide accomplishments and the workgroup’s focus areas for the year ahead.
🔥1
📲 Apple випускає третю бета-версію для iOS 17.5 та інших
Бета-версія iOS 17.5 продовжує свій шлях тестування з третім релізом для розробників. Apple також релізнули macOS Sonoma 14.5, visionOS 1.2, watchOS 10.5, tvOS 17.5 та HomePod 17.5.
Зміни наразі включають нову гру Quartiles та інтеграцію з Game Center Leaderboard для Apple News+, віджет Podcast, що підлаштовується під колір, та багато іншого.
Release Notes:
👉 iOS & iPadOS 17.5 Beta 3 (21F5063f)
👉 macOS Sonoma 14.5 Beta 3 (23F5064f)
👉 tvOS 17.5 Beta 2 (21L5558d)
👉 visionOS 1.2 beta 3 (21O5570d)
👉 watchOS 10.5 beta 3 (21T5560d)
🇺🇦 iOSDevUA
Бета-версія iOS 17.5 продовжує свій шлях тестування з третім релізом для розробників. Apple також релізнули macOS Sonoma 14.5, visionOS 1.2, watchOS 10.5, tvOS 17.5 та HomePod 17.5.
Зміни наразі включають нову гру Quartiles та інтеграцію з Game Center Leaderboard для Apple News+, віджет Podcast, що підлаштовується під колір, та багато іншого.
Release Notes:
👉 iOS & iPadOS 17.5 Beta 3 (21F5063f)
👉 macOS Sonoma 14.5 Beta 3 (23F5064f)
👉 tvOS 17.5 Beta 2 (21L5558d)
👉 visionOS 1.2 beta 3 (21O5570d)
👉 watchOS 10.5 beta 3 (21T5560d)
🇺🇦 iOSDevUA
💡SwiftTUI – SwiftUI для консольних додатків
Будь-який UI фреймворк рано чи пізно використовують для того, щоб писати додатки під термінал. SwiftTUI – бібліотека, яка реалізує аналогічний SwiftUI API для додатків з чисто текстовим інтерфейсом.
Що вже працює:
👉 Property wrappers @State, @Binding, @Environment
👉 VStack, HStack, ForEach, Group та @ViewBuilder
👉 Structural identity як у SwiftUI
👉 Button, TextField та зміна фокусу стрілками
👉 Text, Color, Spacer
👉 .border(), .padding(), .background(), .foregroundColor()
🔗 Приклад зі ToDo списком
🇺🇦 iOSDevUA
Будь-який UI фреймворк рано чи пізно використовують для того, щоб писати додатки під термінал. SwiftTUI – бібліотека, яка реалізує аналогічний SwiftUI API для додатків з чисто текстовим інтерфейсом.
Що вже працює:
👉 Property wrappers @State, @Binding, @Environment
👉 VStack, HStack, ForEach, Group та @ViewBuilder
👉 Structural identity як у SwiftUI
👉 Button, TextField та зміна фокусу стрілками
👉 Text, Color, Spacer
👉 .border(), .padding(), .background(), .foregroundColor()
🔗 Приклад зі ToDo списком
🇺🇦 iOSDevUA
👍1
💡Як покращити неймінг компонентів SwiftUI
Проста ідея щодо того, як зменшити кількість класів на кшталт
👉 https://blog.ptrkstr.com/swiftui-component-naming
🇺🇦 iOSDevUA
Проста ідея щодо того, як зменшити кількість класів на кшталт
BlablablaDescriptionView у вашому коді – замість View використовувати клас обгортаного елемента.👉 https://blog.ptrkstr.com/swiftui-component-naming
🇺🇦 iOSDevUA
💡Черговий хороший навчальний матеріал з прикладами.
Цього разу про
Автор сам каже, що хоч протокол і здається простим та зрозумілим, є кілька випадків, у яких ви можете зіткнутися з багом. Показує та пояснює детально 👍
👉 https://www.avanderlee.com/swiftui/identifiable-protocol-object-identifier/
🇺🇦 iOSDevUA
Цього разу про
Identifiable протокол у SwiftUI!Автор сам каже, що хоч протокол і здається простим та зрозумілим, є кілька випадків, у яких ви можете зіткнутися з багом. Показує та пояснює детально 👍
👉 https://www.avanderlee.com/swiftui/identifiable-protocol-object-identifier/
🇺🇦 iOSDevUA
SwiftLee
Identifiable protocol in SwiftUI explained with code examples
The Identifiable protocol adds identity to your objects and comes with a default implementation using ObjectIdentifier for classes.
💡Benchmark – новий пакет для вимірювань продуктивності
Swift у своєму блозі виклали статтю про Benchmark, пакет для автоматизації тестування продуктивності, який вміє працювати з безліччю різних метрик.
🔗 GitHub
🇺🇦 iOSDevUA
Swift у своєму блозі виклали статтю про Benchmark, пакет для автоматизації тестування продуктивності, який вміє працювати з безліччю різних метрик.
🔗 GitHub
🇺🇦 iOSDevUA
💡Оновлення SwiftUI Field Guide
За місяць, що минув з першого релізу, новий проєкт Кріса Ейдгофа, інтерактивний підручник The SwiftUI Field Guide, продовжує активно оновлюватися. Ось які розділи там з'явились:
👉 Safe Areas
👉 Debugging Techniques
👉 Introduction to SwiftUI
👉 Alignment
👉 Flow Layout
👉 Stack Alignment
🇺🇦 iOSDevUA
За місяць, що минув з першого релізу, новий проєкт Кріса Ейдгофа, інтерактивний підручник The SwiftUI Field Guide, продовжує активно оновлюватися. Ось які розділи там з'явились:
👉 Safe Areas
👉 Debugging Techniques
👉 Introduction to SwiftUI
👉 Alignment
👉 Flow Layout
👉 Stack Alignment
🇺🇦 iOSDevUA
💡DevToys – набір утиліт для розробки
DevToys – опенсорсний додаток, що складається з купи невеликих хелперів, які спрощують щоденну розробницьку рутину. Ось деякі з них:
👉 Конвертер з JSON у Yaml
👉 URL encoder/decoder
👉 JSON форматер
👉 Тестер регулярок
👉 Генератор хешів
🇺🇦 iOSDevUA
DevToys – опенсорсний додаток, що складається з купи невеликих хелперів, які спрощують щоденну розробницьку рутину. Ось деякі з них:
👉 Конвертер з JSON у Yaml
👉 URL encoder/decoder
👉 JSON форматер
👉 Тестер регулярок
👉 Генератор хешів
🇺🇦 iOSDevUA
💡Погруження в макроси Swift
Макроси Swift вперше були представлені на WWDC 23, і хоча це не нова концепція в програмуванні загалом, вона принесла корисні опції для розробників Swift.
Вони дозволяють налаштовувати мову Swift відповідно до наших потреб і поширювати їх серед інших розробників без зміни коду компілятора.
📖 У цьому розборі показані принципи роботи макросів, а також налаштування і використання на простому прикладі.
🇺🇦 iOSDevUA
Макроси Swift вперше були представлені на WWDC 23, і хоча це не нова концепція в програмуванні загалом, вона принесла корисні опції для розробників Swift.
Вони дозволяють налаштовувати мову Swift відповідно до наших потреб і поширювати їх серед інших розробників без зміни коду компілятора.
📖 У цьому розборі показані принципи роботи макросів, а також налаштування і використання на простому прикладі.
🇺🇦 iOSDevUA
🇺🇦 iOS Dev UA - спільнота iOS розробників
💪 Генератор для Privacy Manifest Нещодавно практично кожен додаток повинен включати спеціальний маніфест, у якому вказується, які типи даних він збирає і для чого використовує різні неблагополучні фреймворки та API. Отже, продовжуємо тиждень корисних інструментів…
💡Гайд для Privacy Manifest від інженерів Apple
Продовжуємо актуальну тему Privacy Manifest. Відео гайд від Apple як його створити, а також опис всіх API reasons.
🇺🇦 iOSDevUA
Продовжуємо актуальну тему Privacy Manifest. Відео гайд від Apple як його створити, а також опис всіх API reasons.
🇺🇦 iOSDevUA
Apple Developer
Get started with privacy manifests - WWDC23 - Videos - Apple Developer
Meet privacy manifests: a new tool that helps you accurately identify the privacy practices of your app's dependencies. Find out how...
👍1🔥1
💡Вступ до Swift для розробників C++
Якщо у вас є друзі, які займаються розробкою на C++, і ви хочете познайомити їх зі своєю улюбленою мовою – ось ідеальний гайд, який проводить аналогії між ментальною моделлю плюсів та Swift і пояснює всю неочевидну магію.
👉 https://www.douggregor.net/posts/swift-for-cxx-practitioners-value-types/
🇺🇦 iOSDevUA
Якщо у вас є друзі, які займаються розробкою на C++, і ви хочете познайомити їх зі своєю улюбленою мовою – ось ідеальний гайд, який проводить аналогії між ментальною моделлю плюсів та Swift і пояснює всю неочевидну магію.
👉 https://www.douggregor.net/posts/swift-for-cxx-practitioners-value-types/
🇺🇦 iOSDevUA
👍1
💡Бекенд на Swift навколо ML моделі
Туторіал про те, як на Vapor написати простий бекенд, який дає доступ до Core ML моделі, що класифікує зображення.
🔗Код на GitHub
🇺🇦 iOSDevUA
Туторіал про те, як на Vapor написати простий бекенд, який дає доступ до Core ML моделі, що класифікує зображення.
🔗Код на GitHub
🇺🇦 iOSDevUA
Create with Swift
Using server-side Swift for machine learning processing
In this tutorial learn how to use a machine learning model in a Vapor server using Swift.
👍2
💡Невелика підбірка важливих хоткеїв у Xcode!
Я дуже сподіваюсь, що більшість з вас вже знайомі, якщо не з усіма, то з багатьма хоткеями, бо особисто мені стає погано, коли я бачу, як розробник з купою років досвіду не вміє нормально користуватися Xcode 🤪
Але новачкам точно буде корисно! 👍
👉 https://tanaschita.com/xcode-shortcuts/
🇺🇦 iOSDevUA
Я дуже сподіваюсь, що більшість з вас вже знайомі, якщо не з усіма, то з багатьма хоткеями, бо особисто мені стає погано, коли я бачу, як розробник з купою років досвіду не вміє нормально користуватися Xcode 🤪
Але новачкам точно буде корисно! 👍
👉 https://tanaschita.com/xcode-shortcuts/
🇺🇦 iOSDevUA
Tanaschita
My favorite Xcode keyboard shortcuts to be more productive
Using keyboard shortcuts is key of being productive and efficient when working with with Xcode. In this artice, I will show my favorite Xcode shortcuts.
💡Я кілька разів ділився матеріалом про OSLog. Це дійсно дуже зручний інструмент для логів.
Одне діло писати ці логи, але що, якщо ви хочете ще й читати їх у коді? 🤔
Наприклад, щоб зібрати логи і вивести на окремому екрані у своєму додатку, який буде доступний у дебаг-режимі? Мабуть, може бути корисним для тестувальників, щоб зручніше було знаходити проблеми і вже з деталями віддавати баг у роботу 🔥
В OSLog є така опція, хоч і з деякими обмеженнями 🥲
Детальніше у пості:
👉 https://useyourloaf.com/blog/fetching-oslog-messages-in-swift
🇺🇦 iOSDevUA
Одне діло писати ці логи, але що, якщо ви хочете ще й читати їх у коді? 🤔
Наприклад, щоб зібрати логи і вивести на окремому екрані у своєму додатку, який буде доступний у дебаг-режимі? Мабуть, може бути корисним для тестувальників, щоб зручніше було знаходити проблеми і вже з деталями віддавати баг у роботу 🔥
В OSLog є така опція, хоч і з деякими обмеженнями 🥲
Детальніше у пості:
👉 https://useyourloaf.com/blog/fetching-oslog-messages-in-swift
🇺🇦 iOSDevUA
Use Your Loaf - iOS Development News & Tips
Fetching OSLog Messages in Swift
Using the OSLog framework for logging in your Apps? How do you retrieve those logs at runtime?
👍1