🇺🇦 iOS Dev UA - спільнота iOS розробників
384 subscribers
400 photos
42 videos
9 files
963 links
Перша україномовна спільнота iOS розробників 🇺🇦

👨‍💻Цікаві матеріали зі світу розробки для продуктів Apple.
Статті по розробці на Swift та SwiftUI. Огляд нових технологій в розробці від Apple.

чат: @iOSDevsUAChat
Ідеї та пропозиції: @SergeyZhuravel
Download Telegram
💡Невеликий матеріал для загального розвитку. Про те, що відбувається зі SwiftUI прев'ю та прев'ю контентом під час білда для стора, потрапляють вони туди чи ні, і ще трохи деталей.
Можливо, до речі, хтось захоче трохи оптимізувати свій код і додати перевірок після прочитання цього матеріалу 🤔

👉 https://jaredsinclair.com/2024/05/20/preview-content.html

🇺🇦 iOSDevUA
1
💡Про iOS розробку в Revolut

Оглядова стаття про те, як у Revolut організована iOS розробка у всіх їх додатках. Цікаві факти:

👉 Використовується Clean Architecture, змішана з MVVM-C.
👉 Додатки розбиті на модулі, 160 поширені між усіма проектами, ще 170 в основному додатку.
👉 Щодо технічного стека: Swift, Bazel, мінімум залежностей від сторонніх фреймворків.
👉 Всього над їх проектами працює 120 iOS-розробників.
👉 Регулярно виконується 150.000 юніт тестів і 3.000 UI тестів.

🇺🇦 iOSDevUA
👍1
Hello iOS developers! New digest is here!

Hello everyone! New iOS weekly digest is here!
🚀🚀🚀 Last Week at Apple 🚀 🚀 🚀

The fundamentals of iOS at Revolut
Let’s take a look behind the scenes of the iOS development at Revolut, where we strive to provide exceptional financial services and seamless customer experiences for the customers who rely on our iOS apps to manage their financial lives:
https://medium.com/revolut/the-fundamentals-of-ios-at-revolut-f75acb765ac8

Previews
How to get the most out of Xcode Previews
https://www.manu.show/2024-05-30-previews

Bad practice: not using a ButtonStyle
Very interesting article about issues that you can face with buttons:
https://www.swiftwithvincent.com/blog/bad-practice-not-using-a-buttonstyle

Scenes types in a SwiftUI Mac app
Creating versatile and efficient macOS applications with SwiftUI involves understanding how to use various scene types. Scenes in SwiftUI manage and display their contents through windows, with different scene types offering distinct behaviors and capabilities. In this post, we'll explore the different scene types available in SwiftUI for macOS, including WindowGroup, DocumentGroup, Settings, Window, and MenuBarExtra:
https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp

Nice thread discussion about requesting application review from the user:
https://iosdev.space/@matt1corey/112474715937446698

Do NOT init State externally in SwiftUI
https://samwize.com/2024/05/08/do-not-init-state-externally-in-swiftui-view

#tools
A new Postman alternative:
https://getapi.io/
1
💡Якщо ви любите використовувати ChatGPT і просити його написати за вас код, то ось вам стаття з 5 підказками, як покращити цей процес і як краще просити ChatGPT виконати необхідну вам задачу! 🤖

👉 https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/

🇺🇦 iOSDevUA
💡Get API – новий аналог Postman

Якщо ви втомилися від перенасиченості Postman функціями, а Insomnia з якихось причин теж не підходить, зверніть увагу на Get API. Основні переваги:

👉 Нативний додаток для macOS, не перенасичений функціями та складним інтерфейсом
👉 Підтримує роботу як з REST, так і з вебсокетами
👉 Не вимагає створення облікових записів, використовує GitHub як джерело правди

🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
📲 Як зробити іконку застосунку анімованою?

Напевно, багато хто міг задуматися раніше, як уникнути алерта при виборі альтернативної іконки.

Bryce Bostwick, розробник, відомий своїми чудовими постами про реверс-інжиніринг, спробував заглибитися в це питання і написав велике дослідження про те, як створити ілюзію анімації (насправді для цього потрібно досить часто змінювати ці іконки).

📖 Прочитати захоплюючу статтю можна тут (і рекомендую подивитися інші статті блогу).

📺 У форматі відео ось тут.

🛠 Демо-проєкт (подивитися і спробувати повторити) доступний на github.

🇺🇦 iOSDevUA
2
💡Останнім часом (вже досить довго) SPM набирає популярність і, чесно кажучи, він досить непоганий, хоча деякі питання до нього все ж є.
Отже, якщо раптом хочете додати в свій SDK підтримку SPM або все-таки вирішили розбити проєкт на модулі за допомогою все того ж SPM, то ловіть хорошу покрокову інструкцію, як створити такий package! 👍

👉 https://www.avanderlee.com/swift/creating-swift-package-manager-framework/

🇺🇦 iOSDevUA
💡Пояснення використання @preconcurrency в Swift

Якщо включити -strict-concurrency для своїх існуючих проєктів, то, ймовірніше за все, при першій компіляції проєкту Xcode видасть безліч попереджень і/або помилок.

Цього можна уникнути з використанням @preconcurrency, який можна використовувати для:

👉 functions
👉 types
👉 protocols
👉 imports

За допомогою @preconcurrency з'являється можливість імпортувати старі модулі в новий код.

Це чудовий спосіб поступово впроваджувати строгий паралелізм у міру наближення випуску Swift 6.

📖 У цьому пості розглянуті приклади використання і помилки, які можуть зустрітися.

🇺🇦 iOSDevUA
💡Якщо ви займаєтесь розробкою під macOS і вирішили спробувати SwiftUI, то з чогось починати все-таки потрібно. Ось невеликий матеріал про різні типи Scenes у SwiftUI. Це не найповніший і найдетальніший матеріал, але ті пункти, які він охоплює, описані досить детально та зрозуміло!

👉 https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/

🇺🇦 iOSDevUA
2
💡Налаштовувана кнопка з різними станами у SwiftUI

Звісно, завдання мобільних розробників далеко не тільки в зміні кольорів кнопок, але знати кілька підходів і володіти арсеналом таких навичок необхідно.

SwiftUI значно спрощує створення багаторазової кнопки (і додавання конфігурацій).

📖 Ось тут можна побачити підходи до створення такого елемента на реальних прикладах.

🇺🇦 iOSDevUA
2
📲Фіналісти Apple Design Awards 2024

Оголосили фіналістів щорічної премії Apple Design Awards. Із найцікавішого:

👉 Arc Search отримує премію в категорії Interaction за переосмислення мобільного браузера.
👉 Crouton інді-додаток для менеджменту рецептів, також нагороджується за Interaction.
👉 Meditate додаток для медитацій, нагороджується в категорії Visuals за круті анімації мандали на SwiftUI.
👉 Copilot Money отримує премію за інновації, за застосування ML для управління особистими фінансами.

🇺🇦 iOSDevUA
💡Сучасний UIKit

PointFree розпочали серію випусків, у яких показують, як може виглядати сучасна розробка на чистому UIKit, без будь-яких домішок SwiftUI. Як приклад, реалізується екран вибору та налаштувань Wi-Fi мережі.

🇺🇦 iOSDevUA
Hello iOS developers! New digest is here!

Hello everyone! New iOS weekly digest is here!
🚀🚀🚀 Last Week at Apple 🚀 🚀 🚀

Apple Design Awards
Introducing the 2024
Apple Design Award winners
https://developer.apple.com/design/awards

What's new in Swift 6.0?
When fully enabled, Swift 6 is likely to require changes in pretty much every project.
https://www.hackingwithswift.com/articles/269/whats-new-in-swift-6

Why Ollie is moving away from SwiftUI to UIKit
You could miss that very unusual article, yes, someone wants to return back to UIKit from SwiftUI
https://medium.com/goodones/why-ollie-is-moving-away-from-swiftui-to-uikit-cfdefe918d1c

Designing a Declarative API
Declarative programming is an interesting approach. You basically define “This is what I want” and then let some other type figure out how it should work.
Specifically, with declarative programming, we focus more on expressing logic and structure. We then worry less about control flow, such as figuring out the order of method calls, and keeping track of local state. More:
https://www.mobilesystemdesign.com/blog/declarative-api-design

Composable Architecture Frequently Asked Questions
If you ever wondered about architecture of the project, and I think you did, you must have heard about TCA - The Composable Architecture, a way to solve architecture problems. The developers of this library created a list of FAQ about it:
https://www.pointfree.co/blog/posts/141-composable-architecture-frequently-asked-questions

ChatGPT for Swift: Top 5 code generation prompts
Today, we will look at a few of my favorite ways of using ChatGPT to speed up my development process. By asking the right questions, you’ll be able to get code output close to what you’re likely looking for. Even though the output isn’t always perfect, it’s certainly a step in the right direction. Let’s dive in:
https://www.avanderlee.com/swift/chatgpt-code-generation-prompts
🔥2👍1👏1