Нет ничего более спорного чем архитектура. Выбор архитектуры зависит от типа приложения. Данная статья представляет из себя гайд по решению базовых вопросов при работе с MV паттернами. Статья описывает не только теорию, но и содержит очень много практических примеров. Особенно ценным мне показался комплексный подход к решению, автор не только знакомит с концепциями, но и в деталях показывает какие проблемы могут возникнуть и к какому решению пришел он. Только часть топиков из статьи:
@EnvironmentObject
Возникает логичный вопрос, откуда такое рвение делиться знаниями? В конце ссылка на авторский платный курс за 150$, но статья и сама по себе хороша
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ignoredByLayout
— недооцененный API в SwiftUI. Мало информации, необычные сценарии использования. Идем в документацию:Понятнее не стало, разбираемся в природе
ignoredByLayout
на практике:В статье приводится сразу несколько практических сценариев использования, сам я никогда не сталкивался с ними, но теперь готов к встрече.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Если вы до сих пор не попробовали Copilot, самое время! В актуальном релизе появился режим агента и поддержка MCP
Режим агента:
Поддержка MCP:
Please open Telegram to view this post
VIEW IN TELEGRAM
Не самое типичное сравнение, не классы и структуры, а структуры и перечисления.
Преимущества перечислений
Преимущества структур
Как выбрать? Перечисления подходят для конечного, четко определенного набора состояний. Структуры подходят для расширяемости и гибкости. Выбор зависит от важности безопасности во время компиляции или гибкости во время выполнения и вашей готовности к бойлерплейту и бесконечным switch.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Судя по слухам, на WWDC нас ожидает серьезный сюрприз от Apple не только в дизайне iOS но и в нейминге. Apple изменит подход к названию своих операционных систем, iOS 26 вместо iOS 19. Аналогично будут названы macOS 26, iPadOS 26, watchOS 26, tvOS 26 и visionOS 26.
У меня один вопрос, почему 26? Не 20, не 25 в 2025г. Удивительный мир маркетинга
Please open Telegram to view this post
VIEW IN TELEGRAM
Кэширование решает почти любую проблему, кроме пролемы инвалидации кеша
NSCache
CacheManager
Управление кэшами в SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
Мантра этого канала - понимание механизмов работы - ключ к работе в удовольствие. Чем меньше магии в движках и фреймворках, которые мы используем - тем предсказуемее итоговый результат. Сегодня рассмотрим движок сравнения SwiftUI. Суть любого декларативного фреймворка состоит в рендеринге только при изменении. SwiftUI использует Value-Type для View, чтобы это обеспечить. При изменении состояния SwiftUI создает новое дерево View. Повторное использование View возможно при совпадении типа, положения и идентификатора.
Пример приложения: Список пассажиров
UUID
Подводные камни
UUID()
приводит к перестройке каждого представления.id(\.self)
с типами значений может вызвать путаницуСоветы и напоминания
Identifiable
модели данныхEquatable
os_signpost
для отладкиTransaction
для группировки изменений.debounce
для кнопокPlease open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Очень любопытный отчет в предверии WWDC от Apple. В нем отчетливо видно желание компании оправдаться за комиссии и регуляции, объясняя как им тяжело живется. Целеполагание отчета предлагаю обсудить в комментариях, пока по самым интересным фактам:
Глобальный охват и безопасность
Поддержка разработчиков
Мошеннические транзакции и стандарты Apple
Please open Telegram to view this post
VIEW IN TELEGRAM