SwiftUI Cookbook • Advanced Topics in SwiftUI
Welcome to the Advanced Topics in SwiftUI section. This part of the guide is dedicated to helping you delve deeper into the many advanced facets of SwiftUI, equipping you with the knowledge to handle complex tasks and create robust SwiftUI applications.
• Design a Seamless Onboarding Experience in SwiftUI
• Create & Customize Charts in SwiftUI With Swift Charts
• Create Complex UI With SwiftUI Shape & Path
• Integrate SwiftUI With UIKit
• Integrate Core Data With SwiftUI
• Async/Await in SwiftUI
• Using Combine With SwiftUI
• Unit Testing Strategies in SwiftUI
• Testing SwiftUI Views With ViewInspector
• Implement MVVM Architecture in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
Welcome to the Advanced Topics in SwiftUI section. This part of the guide is dedicated to helping you delve deeper into the many advanced facets of SwiftUI, equipping you with the knowledge to handle complex tasks and create robust SwiftUI applications.
• Design a Seamless Onboarding Experience in SwiftUI
• Create & Customize Charts in SwiftUI With Swift Charts
• Create Complex UI With SwiftUI Shape & Path
• Integrate SwiftUI With UIKit
• Integrate Core Data With SwiftUI
• Async/Await in SwiftUI
• Using Combine With SwiftUI
• Unit Testing Strategies in SwiftUI
• Testing SwiftUI Views With ViewInspector
• Implement MVVM Architecture in SwiftUI
← Предыдущая часть | Следующая часть →
Читать (En)
👍5❤4🔥4
Rules of Structured Concurrency
Большая статья про структурированные и неструктурированные задачи.
🟢 Structured and Unstructured Tasks
🟢 Parent and Child Tasks
🟢 Structured tasks
🟢 Unstructured tasks
🟢 Rules of Structured Concurrency
🟢 Group Completion Rule
🟢 Group Cancellation Rule
🟢 Error propagation Rule
🟢 Context Inheritance
🟢 When to use structured and unstructured concurrency?
Читать (En)
Большая статья про структурированные и неструктурированные задачи.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤7🔥6
How to inspect .ipa files and secure your iOS app from common mistakes
Гайд по тому, как исследовать .ipa-файлы и какие данные из них можно получить. Также в статье приводятся простые, базовые правила для организации безопасности чувствительных данных.
Читать (En)
Гайд по тому, как исследовать .ipa-файлы и какие данные из них можно получить. Также в статье приводятся простые, базовые правила для организации безопасности чувствительных данных.
Читать (En)
👍9❤6🔥4
Using Swift’s defer keyword within async and throwing contexts
В статье разбирается использование ключевого слова
Читать (En)
В статье разбирается использование ключевого слова
defer
в контексте асинхронщины, на простом примере запросов к БД.Читать (En)
👍5❤4🔥4
SwiftUI Cookbook • SwiftUI Best Practices & Tips
Welcome to the SwiftUI Best Practices & Tips section! In this valuable part of the guide, you’ll explore various best practices and tips for mastering SwiftUI, Apple’s innovative UI framework.
• Improving SwiftUI Performance
• Reducing Complexity in SwiftUI Views
• Separating View Logic with View Models
• Using Environment Variables in SwiftUI
• Optimizing Animations in SwiftUI
• Maintaining State in SwiftUI
• Debugging SwiftUI Views
• Creating Reusable SwiftUI Components
• Using View Composition in SwiftUI
← Предыдущая часть
Читать (En)
Welcome to the SwiftUI Best Practices & Tips section! In this valuable part of the guide, you’ll explore various best practices and tips for mastering SwiftUI, Apple’s innovative UI framework.
• Improving SwiftUI Performance
• Reducing Complexity in SwiftUI Views
• Separating View Logic with View Models
• Using Environment Variables in SwiftUI
• Optimizing Animations in SwiftUI
• Maintaining State in SwiftUI
• Debugging SwiftUI Views
• Creating Reusable SwiftUI Components
• Using View Composition in SwiftUI
← Предыдущая часть
Читать (En)
❤6👍5🔥4
Отлаживаем приложение вместе со SwiftUI Instruments
Статья-гайд от Surf про отладку приложения с помощью SwiftUI Instruments.
🟢 Что такое SwiftUI Instruments и зачем он нужен
🟢 Как и в каких случаях стоит использовать
🟢 Пример отладки кастомной шторки
Читать (Ru)
Статья-гайд от Surf про отладку приложения с помощью SwiftUI Instruments.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4❤3
Rafinad: сахар для UI-тестирования iOS-приложений
Ребята из iOS-команды hh выкатили свои наработки по UI-тестированию в виде open-source проекта — Rafinad.
В статье рассказывают, что из себя представляет Rafinad, что умеет и как им пользоваться.
Библиотека на GitHub → Rafinad
Читать (Ru)
Ребята из iOS-команды hh выкатили свои наработки по UI-тестированию в виде open-source проекта — Rafinad.
В статье рассказывают, что из себя представляет Rafinad, что умеет и как им пользоваться.
Библиотека на GitHub → Rafinad
Читать (Ru)
👍10❤4🔥4
Swift concurrency. Executors, Actors и их связь с потоками
Новая и как всегда подробная часть из этой серии, в которой рассказывается про недра Swift Concurrency.
🟢 Как определяется поток, на котором будет выполняться Task
🟢 Почему в рамках одной Task поток может меняться
🟢 Что такое Executor и на какие типы он делится
🟢 За что отвечает TaskExecutor, а за что SerialExecutor
🟢 Как определить текущий Executor по коду
🟢 Как использовать свой самописный Executor
Читать (Ru)
Новая и как всегда подробная часть из этой серии, в которой рассказывается про недра Swift Concurrency.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥3
iOS 26: Notable UIKit Additions
Такс, разбираю отложенные материалы, вероятно до конца недели могу чутка поспамить, но это не точно 😉
Небольшая обзорная статья основных изменений в UIKit.
👉 Observable Objects
👉 Update properties
👉 Flushing animation updates
Читать (En)
Такс, разбираю отложенные материалы, вероятно до конца недели могу чутка поспамить, но это не точно 😉
Небольшая обзорная статья основных изменений в UIKit.
👉 Observable Objects
👉 Update properties
👉 Flushing animation updates
Читать (En)
🔥3❤2👏2👍1
What's new in SwiftUI for iOS 26
Подобрка материалов с обзором новых изменений в SwiftUI.
🟢 How to embed web content using WebView
🟢 How to use rich-text editing with TextView and AttributedString
🟢 How to add list section index labels
🟢 How to give label icons a fixed width
🟢 How to automatically add appropriate padding for the current scene
🟢 The @Animatable macro makes it easier to animate views, modifiers, and more
🟢 The openURL action has been extended to support an in-app browser
🟢 How to make a TabView minimize on scroll
🟢 How to add a TabView accessory
🟢 How to adjust the scroll edge effect for ScrollView and List
🟢 We can now specify custom section spacing inside a list
🟢 How to add space in a toolbar
🟢 We can now set a navigation subtitle
Читать (En)
Подобрка материалов с обзором новых изменений в SwiftUI.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍2
async let vs Task group
Ещё одна статья про Swift Concurrency, а именно про отличия async let и Task group с примерами.
Читать (Ru)
Ещё одна статья про Swift Concurrency, а именно про отличия async let и Task group с примерами.
Читать (Ru)
👍7🔥4❤2
Swift Actors: What Are They For?
Актор — это ссылочный тип, подобный классу, созданный для безопасного управления изменяемым состоянием в многопоточке. Акторы, представленные в Swift 5.5, помогают разработчикам писать потокобезопасный и более предсказуемый код при работе с асинхронными задачами.
В статье более детально можно почитать что это такое и чем отличаются от классов и посмотреть простые примеры использования.
Читать (En)
Актор — это ссылочный тип, подобный классу, созданный для безопасного управления изменяемым состоянием в многопоточке. Акторы, представленные в Swift 5.5, помогают разработчикам писать потокобезопасный и более предсказуемый код при работе с асинхронными задачами.
В статье более детально можно почитать что это такое и чем отличаются от классов и посмотреть простые примеры использования.
Читать (En)
🔥5❤3👍3
Хотите освоить создание виджетов для iOS и работать с функционалом Live Activity?
Присоединяйтесь к открытому уроку «Лучшие практики для виджетов iOS 2025» 7 августа в 20:00 МСК! Мы разберём, как создавать и настраивать виджеты, какие нововведения появились после WWDC 2025 и как использовать их в своих приложениях. Также рассмотрим рекомендации Apple по разработке и поделимся последними тенденциями в этой области.
Вы сможете создать приложение для трекинга заказов с виджетами и Live Activity, освоив лучшие практики разработки.
Присоединяйтесь и получите скидку на большую программу обучения «iOS Developer»: https://otus.pw/qgYm/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
Присоединяйтесь к открытому уроку «Лучшие практики для виджетов iOS 2025» 7 августа в 20:00 МСК! Мы разберём, как создавать и настраивать виджеты, какие нововведения появились после WWDC 2025 и как использовать их в своих приложениях. Также рассмотрим рекомендации Apple по разработке и поделимся последними тенденциями в этой области.
Вы сможете создать приложение для трекинга заказов с виджетами и Live Activity, освоив лучшие практики разработки.
Присоединяйтесь и получите скидку на большую программу обучения «iOS Developer»: https://otus.pw/qgYm/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
❤2🔥2👍1
Threads vs. Tasks in Swift Concurrency
Подробная статья с разбором и сравнением Threads и Tasks в Swift Concurrency.
🟢 What is a thread?
🟢 Swift Concurrency and Threads
🟢 Tasks: A Higher-Level Abstraction
🟢 How Tasks are mapped to Threads
🟢 Can Thread explosion still happen in Swift Concurrency?
🟢 Does Swift Concurrency’s Limited Threads Reduce
🟢 Performance Compared to GCD?
🟢 Common misconceptions
Читать (En)
Подробная статья с разбором и сравнением Threads и Tasks в Swift Concurrency.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍2
Combine and Swift Concurrency: A threading risk
Небольшая статья про Combine и Swift Concurrency: миграция, совместное использование и возможные риски, после миграции.
🟢 Dispatching to a @MainActor isolation using a Combine pipeline
🟢 No compile-time feedback for sink closures
🟢 Solving Actor isolation issues in Combine
Читать (En)
Небольшая статья про Combine и Swift Concurrency: миграция, совместное использование и возможные риски, после миграции.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤3👍2🔥2
Modern Swift Lock: Mutex & the Synchronization Framework
В статье разбирается один из механизмов синхронизации – Mutex. Как с ним работать, разница mutex и lock, обработка ошибок и т.д..
🟢 What is a Swift Lock?
🟢 Using Swift’s Mutex lock from the Synchronization framework
🟢 A lock that works great with Swift Concurrency
🟢 Shouldn’t I use an actor instead of locks in Swift Concurrency?
Читать (En)
В статье разбирается один из механизмов синхронизации – Mutex. Как с ним работать, разница mutex и lock, обработка ошибок и т.д..
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1
Как повысить качество SwiftUI-приложений через тестирование?
На открытом уроке «Покрываем проект на SwiftUI Unit-тестами и Snapshot-тестами» 6 августа в 20:00 МСК мы разберем, как минимизировать ошибки и улучшить качество кода с помощью тестирования. Убедитесь, как правильно разделить визуальную часть и бизнес-логику, освоите принципы чистых тестов и научитесь использовать Snapshot-тесты для UI-слоя.
Получите чёткое понимание, как тестировать SwiftUI-приложения, избавитесь от рутины при написании тестов и ускорьте разработку.
Присоединяйтесь и получите скидку на курс «iOS Developer. Professional»: https://otus.pw/iLYa5/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
На открытом уроке «Покрываем проект на SwiftUI Unit-тестами и Snapshot-тестами» 6 августа в 20:00 МСК мы разберем, как минимизировать ошибки и улучшить качество кода с помощью тестирования. Убедитесь, как правильно разделить визуальную часть и бизнес-логику, освоите принципы чистых тестов и научитесь использовать Snapshot-тесты для UI-слоя.
Получите чёткое понимание, как тестировать SwiftUI-приложения, избавитесь от рутины при написании тестов и ускорьте разработку.
Присоединяйтесь и получите скидку на курс «iOS Developer. Professional»: https://otus.pw/iLYa5/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
🔥2❤1👍1