Telegram Web Link
Что нового в UIKit

Каждый год на WWDC все меньше апдейтов для UIKit. В этом году вот так:

👉Новый класс UIContentUnavailableView для отображения пустого стейта
👉Поддержка Xcode Preview, у которых еще и новый синтаксис на макросах появился
👉Поддержка анимаций в SFSymbols, добавленных как элемент кнопки или как ImageView
👉Новые типы шрифтов: большой и очень большой
👉Новые типы автозаполнения для UITextField: для дня рождения и даты окончания действия карты
This media is not supported in your browser
VIEW IN TELEGRAM
Динамическое меню в трее на macOS

Отличный разбор API NSStatusItem, с помощью которого можно создать меню с динамическим размером и контентом, кастомным бэкграундом и поддержкой нескольких разных таргетов для нажатий.
This media is not supported in your browser
VIEW IN TELEGRAM
Офер в Яндекс за два дня

Приходите на Weekend Offer Mobile 17–18 июня. Всего за 2 дня можно пройти все технические секции, пообщаться с нанимающими командами и получить офер.

Ребята ищут мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет. Приглашают в один из своих офисов в России и Беларуси, также нанимают в международные хабы в Армении, Казахстане и Сербии.

Регистрация заканчивается 12 июня.

Подробности ищите здесь
Все анонсы WWDC

Apple собрали документацию по всем новым фреймворкам и API на одной странице. А отдельно можно скачать кучу семплов, которые показывали в сессиях.
Интеграция ChatGPT и Xcode

Экспериментальный экстеншн для Xcode, который использует ChatGPT для генерации кода по инструкциям, комментариев к нему, рефакторинга кода и других фичей. Можно добавлять и свои собственные команды.
Главные обновления SwiftUI

👉Больше никакого Combine, вместо него для полписки на изменения используется новый фреймворк Observation.
👉Анимациям теперь можно добавлять completion handler’ы и анимировать изменения по кейфреймам.
👉У ScrollView можно следить за изменением оффсета с помощью модификатора.
👉Можно программно ставить фокус в поле поиска, а также прятать и показывать его.
👉Новые жесты: rotate и magnify.
This media is not supported in your browser
VIEW IN TELEGRAM
Отражение источников света

Интерфейс Vision Pro учитывает источники освещения и слегка отражает их от своей поверхности. Вот пример того, как можно реализовать похожий эффект на SwiftUI, считывая источники освещения с камеры.
Автоматическая генерация символов для цветов и картинок в ассетах

Моя любимая фича нового Xcode – автоматическая генерация констант для цветов и картинок, которые находятся в ассетах. В качестве названия константы используется имя, которое вы задали в каталоге.

Если вы решите отключить их генерацию, используйте флаг ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS в build settings.
Официальный дизайн-кит в Figma от Apple

Начиная с 2017 года, в дизайн-команде Apple крутилась идея опубликовать официальный дизайн-кит в Figma. Спустя пять лет, он наконец появился!

- Куча компонентов, от алертов и уведомлений до навигации
- Шаблоны виджетов
- Макеты поддерживают Dynamic Type
- Встроенные стандартные настройки цветов, стилей и материалов

Дизайн-кит будет постоянно дополняться. Скоро там появится поддержка iOS 17, и компоненты из macOS, tvOS, watchOS и visionOS.
Как реализованы расширения для Raycast

Raycast – это такой Spotlight на стероидах. Одна из основных отличающих его фичей – богатый каталог расширений от коммьюнити.

В статье рассказывается, как команда проектировала и реализовывала поддержку расширений для нативного приложения, какие варианты попробовала, и на какие компромиссы в итоге пошла.
Introspect – библиотека для доступа к внутренним вьюхам SwiftUI

Introspect позволяет обращаться к внутренним UIKit элементам, находящимся под капотом у большинства компонентов SwiftUI. Это нужно, чтобы изменять свойства, которые не видны из SwiftUI напрямую. Например, убрать сепараторы в таблице, или добавить RefreshControl к ScrollView.

Библиотеку безопасно использовать в проде, так как она не обращается к приватным API.
This media is not supported in your browser
VIEW IN TELEGRAM
Пример Scroll Transitions в новом SwiftUI

В SwiftUI появился новый очень простой способ реализовывать анимации при скроллинге таблицы – блок scrollTransition.
This media is not supported in your browser
VIEW IN TELEGRAM
The Composable Architecture в Swift 5.9

Посмотрите на пруф-ов-концепт того, насколько сильно сократится код фичей, написанных по TCA, благодаря макросам и Observability Framework.
Управление и доступность в Vision Pro

Миша Рубанов подбил обзор принципов управления интерфейсом очков и того, как именно там реализованы разные виды accessibility – это просто космос.
Лучшие сессии WWDC

Чтобы вам не пришлось смотреть много десятков сессий, Apple собрали самые важные из них на одной странице. Самая крупная категория, конечно, Spatial Computing.
Лог Q&A про SwiftUI

Одна из обязательных активностей на WWDC – Q&A с инженерами Apple. На ней можно получить комментарии по темам, которые не освещаются в документации. Пролистайте всю дискуссию про SwiftUI – можете найти себе что-то полезное.
Swift OpenAPI package

Вышла альфа версия официального пакета от Apple для генерации сервера и клиента по спеке OpenAPI. Swift на сервере – это не очень интересно, а вот клиент – другое дело.

По спеке генерируются APIProtocol, который содержит в себе все методы API, и Client, структура, которая реализует сгенерированный протокол. Работает все это как поверх URLSession, так и поверх любого другого транспорта.
visionOS SDK доступен для загрузки

Вы спите, а Apple выпускает релизы для вас! Стал доступен Xcode 15 beta 2, в который включены visionOS SDK, Reality Composer Pro, приложение для создания 3D контента для очков, и симулятор новой операционной системы. Вся документация по фреймворкам лежит тут.
2024/09/29 18:22:03
Back to Top
HTML Embed Code: