💡Про iOS розробку в Revolut
Оглядова стаття про те, як у Revolut організована iOS розробка у всіх їх додатках. Цікаві факти:
👉 Використовується Clean Architecture, змішана з MVVM-C.
👉 Додатки розбиті на модулі, 160 поширені між усіма проектами, ще 170 в основному додатку.
👉 Щодо технічного стека: Swift, Bazel, мінімум залежностей від сторонніх фреймворків.
👉 Всього над їх проектами працює 120 iOS-розробників.
👉 Регулярно виконується 150.000 юніт тестів і 3.000 UI тестів.
🇺🇦 iOSDevUA
Оглядова стаття про те, як у Revolut організована iOS розробка у всіх їх додатках. Цікаві факти:
👉 Використовується Clean Architecture, змішана з MVVM-C.
👉 Додатки розбиті на модулі, 160 поширені між усіма проектами, ще 170 в основному додатку.
👉 Щодо технічного стека: Swift, Bazel, мінімум залежностей від сторонніх фреймворків.
👉 Всього над їх проектами працює 120 iOS-розробників.
👉 Регулярно виконується 150.000 юніт тестів і 3.000 UI тестів.
🇺🇦 iOSDevUA
Medium
The fundamentals of iOS at Revolut
We believe that it’s possible to deliver high-quality software, fast. To achieve this we follow a set of important principles and apply a…
👍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/
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/
Medium
The fundamentals of iOS at Revolut
We believe that it’s possible to deliver high-quality software, fast. To achieve this we follow a set of important principles and apply a…
❤1
💡Якщо ви любите використовувати ChatGPT і просити його написати за вас код, то ось вам стаття з 5 підказками, як покращити цей процес і як краще просити ChatGPT виконати необхідну вам задачу! 🤖
👉 https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/
🇺🇦 iOSDevUA
👉 https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/
🇺🇦 iOSDevUA
SwiftLee
ChatGPT for Swift: Top 5 code generation prompts
Boost your productivity with ChatGPT for Swift code generation. Learn how to harness the power of AI to speed up your development process.
💡Get API – новий аналог Postman
Якщо ви втомилися від перенасиченості Postman функціями, а Insomnia з якихось причин теж не підходить, зверніть увагу на Get API. Основні переваги:
👉 Нативний додаток для macOS, не перенасичений функціями та складним інтерфейсом
👉 Підтримує роботу як з REST, так і з вебсокетами
👉 Не вимагає створення облікових записів, використовує GitHub як джерело правди
🇺🇦 iOSDevUA
Якщо ви втомилися від перенасиченості Postman функціями, а Insomnia з якихось причин теж не підходить, зверніть увагу на Get API. Основні переваги:
👉 Нативний додаток для macOS, не перенасичений функціями та складним інтерфейсом
👉 Підтримує роботу як з REST, так і з вебсокетами
👉 Не вимагає створення облікових записів, використовує GitHub як джерело правди
🇺🇦 iOSDevUA
This media is not supported in your browser
VIEW IN TELEGRAM
📲 Як зробити іконку застосунку анімованою?
Напевно, багато хто міг задуматися раніше, як уникнути алерта при виборі альтернативної іконки.
Bryce Bostwick, розробник, відомий своїми чудовими постами про реверс-інжиніринг, спробував заглибитися в це питання і написав велике дослідження про те, як створити ілюзію анімації (насправді для цього потрібно досить часто змінювати ці іконки).
📖 Прочитати захоплюючу статтю можна тут (і рекомендую подивитися інші статті блогу).
📺 У форматі відео ось тут.
🛠 Демо-проєкт (подивитися і спробувати повторити) доступний на github.
🇺🇦 iOSDevUA
Напевно, багато хто міг задуматися раніше, як уникнути алерта при виборі альтернативної іконки.
Bryce Bostwick, розробник, відомий своїми чудовими постами про реверс-інжиніринг, спробував заглибитися в це питання і написав велике дослідження про те, як створити ілюзію анімації (насправді для цього потрібно досить часто змінювати ці іконки).
📖 Прочитати захоплюючу статтю можна тут (і рекомендую подивитися інші статті блогу).
📺 У форматі відео ось тут.
🛠 Демо-проєкт (подивитися і спробувати повторити) доступний на github.
🇺🇦 iOSDevUA
❤2
💡Останнім часом (вже досить довго) SPM набирає популярність і, чесно кажучи, він досить непоганий, хоча деякі питання до нього все ж є.
Отже, якщо раптом хочете додати в свій SDK підтримку SPM або все-таки вирішили розбити проєкт на модулі за допомогою все того ж SPM, то ловіть хорошу покрокову інструкцію, як створити такий package! 👍
👉 https://www.avanderlee.com/swift/creating-swift-package-manager-framework/
🇺🇦 iOSDevUA
Отже, якщо раптом хочете додати в свій SDK підтримку SPM або все-таки вирішили розбити проєкт на модулі за допомогою все того ж SPM, то ловіть хорошу покрокову інструкцію, як створити такий package! 👍
👉 https://www.avanderlee.com/swift/creating-swift-package-manager-framework/
🇺🇦 iOSDevUA
SwiftLee
Swift Package Manager framework creation in Xcode
Create a Swift Package that works with the Swift Package manager. Add dependencies, platform requirements and work with development packages.
💡Пояснення використання @preconcurrency в Swift
Якщо включити -strict-concurrency для своїх існуючих проєктів, то, ймовірніше за все, при першій компіляції проєкту Xcode видасть безліч попереджень і/або помилок.
Цього можна уникнути з використанням @preconcurrency, який можна використовувати для:
👉 functions
👉 types
👉 protocols
👉 imports
За допомогою @preconcurrency з'являється можливість імпортувати старі модулі в новий код.
Це чудовий спосіб поступово впроваджувати строгий паралелізм у міру наближення випуску Swift 6.
📖 У цьому пості розглянуті приклади використання і помилки, які можуть зустрітися.
🇺🇦 iOSDevUA
Якщо включити -strict-concurrency для своїх існуючих проєктів, то, ймовірніше за все, при першій компіляції проєкту Xcode видасть безліч попереджень і/або помилок.
Цього можна уникнути з використанням @preconcurrency, який можна використовувати для:
👉 functions
👉 types
👉 protocols
👉 imports
За допомогою @preconcurrency з'являється можливість імпортувати старі модулі в новий код.
Це чудовий спосіб поступово впроваджувати строгий паралелізм у міру наближення випуску Swift 6.
📖 У цьому пості розглянуті приклади використання і помилки, які можуть зустрітися.
🇺🇦 iOSDevUA
💡Якщо ви займаєтесь розробкою під macOS і вирішили спробувати
👉 https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/
🇺🇦 iOSDevUA
SwiftUI, то з чогось починати все-таки потрібно. Ось невеликий матеріал про різні типи Scenes у SwiftUI. Це не найповніший і найдетальніший матеріал, але ті пункти, які він охоплює, описані досить детально та зрозуміло!👉 https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/
🇺🇦 iOSDevUA
Nil Coalescing
Scenes types in a SwiftUI Mac app
Discover how to leverage SwiftUI's versatile scene types, like WindowGroup, DocumentGroup, Settings, Window, and MenuBarExtra, to create efficient and dynamic macOS applications.
❤2
💡Налаштовувана кнопка з різними станами у SwiftUI
Звісно, завдання мобільних розробників далеко не тільки в зміні кольорів кнопок, але знати кілька підходів і володіти арсеналом таких навичок необхідно.
SwiftUI значно спрощує створення багаторазової кнопки (і додавання конфігурацій).
📖 Ось тут можна побачити підходи до створення такого елемента на реальних прикладах.
🇺🇦 iOSDevUA
Звісно, завдання мобільних розробників далеко не тільки в зміні кольорів кнопок, але знати кілька підходів і володіти арсеналом таких навичок необхідно.
SwiftUI значно спрощує створення багаторазової кнопки (і додавання конфігурацій).
📖 Ось тут можна побачити підходи до створення такого елемента на реальних прикладах.
🇺🇦 iOSDevUA
❤2
📲Фіналісти Apple Design Awards 2024
Оголосили фіналістів щорічної премії Apple Design Awards. Із найцікавішого:
👉 Arc Search отримує премію в категорії Interaction за переосмислення мобільного браузера.
👉 Crouton інді-додаток для менеджменту рецептів, також нагороджується за Interaction.
👉 Meditate додаток для медитацій, нагороджується в категорії Visuals за круті анімації мандали на SwiftUI.
👉 Copilot Money отримує премію за інновації, за застосування ML для управління особистими фінансами.
🇺🇦 iOSDevUA
Оголосили фіналістів щорічної премії Apple Design Awards. Із найцікавішого:
👉 Arc Search отримує премію в категорії Interaction за переосмислення мобільного браузера.
👉 Crouton інді-додаток для менеджменту рецептів, також нагороджується за Interaction.
👉 Meditate додаток для медитацій, нагороджується в категорії Visuals за круті анімації мандали на SwiftUI.
👉 Copilot Money отримує премію за інновації, за застосування ML для управління особистими фінансами.
🇺🇦 iOSDevUA
Apple
Apple Design Awards - 2026 winners and finalists - Apple Developer
Meet the winners and finalists for the 2026 Apple Design Awards
💡Сучасний UIKit
PointFree розпочали серію випусків, у яких показують, як може виглядати сучасна розробка на чистому UIKit, без будь-яких домішок SwiftUI. Як приклад, реалізується екран вибору та налаштувань Wi-Fi мережі.
🇺🇦 iOSDevUA
PointFree розпочали серію випусків, у яких показують, як може виглядати сучасна розробка на чистому UIKit, без будь-яких домішок SwiftUI. Як приклад, реалізується екран вибору та налаштувань Wi-Fi мережі.
🇺🇦 iOSDevUA
www.pointfree.co
Video #281: Modern UIKit: Sneak Peek, Part 1
As we approach WWDC24 and 5 years of SwiftUI, let’s talk about… UIKit! 😜 We love SwiftUI, but there will still be times you must drop down to UIKit, and so we want to show what modern UIKit development can look like if you put in a little bit of effort to…
Готуємося до перегляду WWDC
👉 Apple Developer додаток, в якому можна дивитися всі сесії
👉 Новий Youtube канал, куди будуть викладатися сесії
👉 Розклад сесій, який з'явиться після кейноту
📆 Подія календаря для кейноту
📆 Подія календаря для Platforms State of the Union
🇺🇦 iOSDevUA
👉 Apple Developer додаток, в якому можна дивитися всі сесії
👉 Новий Youtube канал, куди будуть викладатися сесії
👉 Розклад сесій, який з'явиться після кейноту
📆 Подія календаря для кейноту
📆 Подія календаря для Platforms State of the Union
🇺🇦 iOSDevUA
App Store
Apple Developer App - App Store
Download Apple Developer by Apple on the App Store. See screenshots, ratings and reviews, user tips, and more apps like Apple Developer.
👍2❤1🔥1
💡Про
👉 https://www.donnywals.com/preconcurrency-usage-in-swift-explained/
🇺🇦 iOSDevUA
strict concurrency і про те, як макрос @preconcurrency допомагає з цим. Зрозуміло пояснено та з прикладами 👍👉 https://www.donnywals.com/preconcurrency-usage-in-swift-explained/
🇺🇦 iOSDevUA
Donny Wals
@preconcurrency usage in swift explained – Donny Wals
Learn how you can use the @preconcurrency attribute in Swift to incrementally adopt strict concurrency in your projects.
👍1
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
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
Apple
Apple Design Awards - 2026 winners and finalists - Apple Developer
Meet the winners and finalists for the 2026 Apple Design Awards
🔥2👍1👏1
🔥Xcode 16 та Swift Assist — всі нововведення
👉 Нова модель спеціально навчена для Swift та Apple SDK.
👉 Працює локально, конфіденційність зберігається.
👉 Нове API для написання тестів, з'явилися теги, параметризація дозволяє їх запускати для діапазону значень.
🕺 Новий фреймворк Swift Testing.
🥳 Swift Assist буде допомагати з відповідями на питання по коду за допомогою нативної мови. Працює в хмарі з урахуванням вимог безпеки.
Предиктивне завершення коду (автокомпліт на максимумі).
Додали інсайти про продуктивність за допомогою покращеної діагностики, новий вигляд графіків в Instruments.
І багато іншого!
📖 Як виявилося, це ще далеко не все🚀
🇺🇦 iOSDevUA
👉 Нова модель спеціально навчена для Swift та Apple SDK.
👉 Працює локально, конфіденційність зберігається.
👉 Нове API для написання тестів, з'явилися теги, параметризація дозволяє їх запускати для діапазону значень.
🕺 Новий фреймворк Swift Testing.
🥳 Swift Assist буде допомагати з відповідями на питання по коду за допомогою нативної мови. Працює в хмарі з урахуванням вимог безпеки.
Предиктивне завершення коду (автокомпліт на максимумі).
Додали інсайти про продуктивність за допомогою покращеної діагностики, новий вигляд графіків в Instruments.
І багато іншого!
📖 Як виявилося, це ще далеко не все🚀
🇺🇦 iOSDevUA
❤1