Нет ничего более спорного чем архитектура. Выбор архитектуры зависит от типа приложения. Данная статья представляет из себя гайд по решению базовых вопросов при работе с 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
Очень полезная статья про миграцию с Java на Swift внутри серверной инфраструктуры Apple. Чем примечателен этот опыт? Менеджер облачных паролей в Apple это продакшн сервис с громадным количеством инстансов, репликацией данных и большим RPS. Понятное дело, что Apple вынуждены "догфутить" Swift on Server подходы, но тем интереснее реальный опыт:
Функции приложения Passwords
Причины перехода на Swift
Преимущества Swift
Результаты и выводы
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Даже не знаю, почему мне так нравятся такие статьи. Либо потому что самому нравится реализовывать анимационные задачки, либо благодаря подтверждению применимости фундаментального математического образования в программировании
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня начинается WWDC25, полезные ссылки:
Время UTC+3 московской тайм зоны:
20:00 Apple Keynote
23:00 Platforms State of the Union
Сессии будут доступны сразу и в приложении и на ютубе. Нас ждет самая насыщенная неделя для iOS разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Пока все на низком старте, Apple опубликовала победителей премии Design Awards:
Приятно и весело:
🏆 CapWords - приложение для запоминания слов
🏆 Balatro - игра, мое личное открытие года
Инклюзивность:
🏆 Speechify - превращает текст в аудио
🏆 Art of Fauna - игра - пазл
Инновации:
🏆 Play - простое прототипирование
🏆 PBJ — The Musical - очаровательная сюжетная игра
Взаимодействие:
🏆 Taobao - реализовали отображение товаров на Apple Vision Pro
🏆 DREDGE - игра рыбалка по—Лавкрафтовски
Социальное взаимодействие:
🏆 Watch Duty: Wildfire Maps - карта пожаров
🏆 Neva - игра-история о последствиях ухудшения состояния окружающей среды
Визуал и графика:
🏆 Feather: Draw in 3D - инструмент моделирования в 2d и 3d
🏆 Infinity Nikki - Это страна чудес текстур, света и анимации, одна из самых красивых игр года
Please open Telegram to view this post
VIEW IN TELEGRAM