This media is not supported in your browser
VIEW IN TELEGRAM
В этом году WWDC пройдёт с 9 по 13 июня, начало в 20:00 GMT+3. Анимация как всегда содержит намек, похоже, утечки про редизайн в стиле VisionOS были правдивы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Swift Concurrency становится неотъемлемой частью iOS-приложений. Но сессии WWDC часто оставляют вопросы о деталях реализации без ответов. Статья поможет понять, как работает параллелизм Swift
Асинхронные функции
Async → await
Tasks
Jobs
Actors
Executors
Совместный пул потоков (CTP)
Параллелизм Swift устраняет проблемы с обратным вызовом и предлагает более понятный синтаксис. Для полного понимания параллелизма в Swift требуется время и практика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Продолжаю внимательно смотреть с забора на использование SwiftData на проде. Если в pet-проектах всегда все хорошо, то на проде совсем не так. ModelActor вызывает много вопросов и проблем. Он защищает контекст модели, но не является потокобезопасным. ModelActor использует пользовательский actor executor, что необходимо для совместимости с Core Data.
Странное поведение ModelActor
Контекст создания ModelActor
Фоновый доступ к ModelActor
Все детали того как можно обойти эти проблемы детально рассмотрены в статье.
#SwiftData
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Пока мы спали, команда Apple представила в своем блоге новый инструмент - swiftly. Это первая стабильная версия менеджера версий Swift. Он избавляет от необходимости устанавливать и обновлять набор инструментов Swift вручную. Поддерживает macOS и Linux. Разработан командой SPM на swift и использует Foundation, Async HTTP Client и Swift OpenAPI для взаимодействия с блогом swift.org. Можно посмотреть реализацию в репе.
Особенности
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍3
Группы задач позволяют выполнять несколько параллельных задач и ждать их завершения.
async let
синтаксис предлагает неявный способ работы с группами задач.taskA
и taskB
await
дважды выполнение будет приостановлено дваждыwithTaskGroup
taskA
и taskB
З
адачи A и B выполняются одновременноasync let
async let
await
, async let
отложено инициализирует значения, как только асинхронная задача вернёт свой результатPlease open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Инспектор предоставляет подробную информацию о выбранном контенте. Используется для структурированного просмотра, редактирования или настройки свойств объектов, действий или файлов.
inspector(isPresented:content:)
отображает содержимое в зависимости от ОС и ориентации устройстваРекомендации по использованию
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Небольшой разбор завирусившейся статьи про боль и страдания разработчиков платформы Apple. Автор еще не сталкивался с тем через что проходят разработчики банковских приложений в РФ.
Apple превратилась в гиганта с триллионным капиталом, который рассматривает разработчиков как ресурс. Экосистема разработчиков Apple стала самой враждебной среди крупных платформ. Бесконечная бюрократия, меняющиеся правила и слабая поддержка делают разработку приложений для Apple рискованным:
Разработка для Apple стала сложной и рискованной из-за бюрократии и слабой поддержки. Apple не видит необходимости в поддержке разработчиков, что отражается на их доходах. Разработчики вынуждены работать изо всех сил, чтобы оставаться на месте, а не заниматься инновациями. Создание успешного приложения для Apple похоже на игру в покер.Apple может уничтожить успешное приложение ради своей выгоды. Разработка для Apple стала испытанием на выносливость. iOS и macOS остаются технически сильными, но бизнес-оправдание инвестиций усложняется.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔17👍2
Swift 6.1 и Xcode 16.3 представили новые функции для улучшения вывода типов и инструментов параллелизма. Определение области тестирования зарелизили вместе со Swift, а ребята из Point Free уже заадоптили в свои утилиты для тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM