iosgr | Технологии

Telegram-канал iosgr - iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

10615

Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209

Подписаться на канал

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Автоматическая генерация символов для цветов и картинок в ассетах

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

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Главные обновления SwiftUI

👉Больше никакого Combine, вместо него для полписки на изменения используется новый фреймворк Observation.
👉Анимациям теперь можно добавлять completion handler’ы и анимировать изменения по кейфреймам.
👉У ScrollView можно следить за изменением оффсета с помощью модификатора.
👉Можно программно ставить фокус в поле поиска, а также прятать и показывать его.
👉Новые жесты: rotate и magnify.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Все анонсы WWDC

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Динамическое меню в трее на macOS

Отличный разбор API NSStatusItem, с помощью которого можно создать меню с динамическим размером и контентом, кастомным бэкграундом и поддержкой нескольких разных таргетов для нажатий.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Новый линкер в пять раз быстрее ld64

На WWDC показали новый линкер. Он написан в Apple с нуля и оптимизирован для работы на нескольких ядрах. Это первый продакшн-реди параллельный линкер, доступный для iOS разработки.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Подборка анонсов с WWDC

Пока я жду появления подробных статей с разбором всех анонсов, держите несколько отдельных штук, которые мне показались очень крутыми:

👉В SwiftUI можно применять Metal шейдеры к любым вьюхам
👉Благодаря макросам синтаксис для объявления Preview стал очень простым и читаемым
👉А еще Preview теперь работают для AppKit и UIKit
👉В SwiftUI есть новый компонент для готового экрана с пэйволлом
👉В SFSymbols появилась поддержка анимированных иконок, причем анимировать можно слои по отдельности
👉Xcode зашерлочил SwiftGen и генерирует символы для цветов и картинок автоматически
👉Ну и, конечно, Swift Data – замена Core Data, которую я предсказывал каждый год уже пять лет

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Реплика системного блюра на CAFilter

Разработчик зареверсинжинирил реализацию блюра и повторил его, используя приватные API. Есть возможность обойтись и без них, перейдя на SceneKit и Metal шейдеры, но качество будет чуть хуже.

Код на GitHub

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

ramzesenok/110420635568400311">SwiftUI Tips & Tricks

Пополняющийся тред из 20+ не самых очевидных советов по работе со SwiftUI. Вот некоторые из них:

- lineLimit у Text можно задавать не одним числом, а интервалом. Тогда компонент высота компонента будет всегда не меньше нижней границы, и не больше верхней.
- В любую функцию можно передать #file, #line, #function в качестве параметров – и использовать их в логах, чтобы понять, откуда была вызвана функция.
- Если вам нужно быстро создать TextField, чтобы что-то проверить, можно не передавать ему Binding, а инициализировать его с .constant(“Text”).

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Про работу с dynamicMemberLookup

Аннотация dynamicMemberLookup позволяет проксировать обращение к свойствам объекта. Например, вместо cache.storage["profile"] дергать сразу cache.profile. Основной минус такого подхода – компилятор не предупредит вас, что вы обращаетесь к несуществующему свойству. В статье разбирается, как использование KeyPath вместо строковых ключей поможет вернуть compile-time safety.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Почему мы всё время начинаем и бросаем учить английский?

Одна из причин — мы не знаем свой уровень языка и берёмся за контент, который нам не по силам. Например, сериал «Друзья» часто советуют смотреть тем, кто начинает учить язык, но в нём полно юмора, который начинающие пока понять не могут. В итоге разрыв знаний удручает и мотивация учить язык падает.

Если вы готовы дать английскому ещё один шанс, Яндекс Практикум поможет поверить в свои силы и довести дело до конца. Приходите на бесплатную консультацию в Яндекс Практикум:

- Проведут устный тест на уровень языка,
- Покажут, чего реально добиться и за какой срок,
- Расскажут, как данные курсы помогут достичь цели.

P. S. С 1 июня курсы станут больше: количество занятий с личным преподавателем увеличится с 72 до 80. Цена вырастет тоже. До 31 мая вы можете купить курс по старой цене: целиком или по частям. И если решите купить полный курс сразу — сэкономите и получите обновлённую программу из 80 занятий по прежней цене.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как устроена DispatchQueue под капотом

В статье разбирается, как с нуля написать аналог DispatchQueue на мьютексах, который умеет выполнять операции синхронно и асинхронно.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Памятка по тому, как репортить баги Apple

Приближается выход Beta версий Xcode и новых SDK, а значит – тонны новых багов. Apple подготовили новую страницу документации про то, как репортить проблемы с максимально подробным контекстом, и какие инструменты могут это облегчить.

Ничего все равно не исправят, конечно же.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как адоптить новые фичи в кроссплатформенной кодовой базе на iOS и macOS

Из-за того, что Apple выпускает стабильные версии новой iOS и новой macOS в разное время, вы можете столкнуться с довольно неприятной проблемой – после выхода Xcode 15.0 ваш кроссплатформенный код с поддержкой новых фичей перестанет собираться под мак. В статье разбирается, как комбинировать compile-time и runtime проверки, чтобы облегчить свою жизнь.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Проектирование навигации с учетом диплинков

Обработку Universal Links лучше всего не костылить, а встраивать прямо в вашу систему навигации.

Приходите на вебинар, где на практике разберут, как лучше всего спроектировать систему диплинков в SwiftUI приложении.

Вебинар является частью продвинутого онлайн-курса «iOS Developer. Professional» от OTUS

📆 Дата: 26 мая в 20:00

👉 Регистрация на вебинар

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Как Apple могли бы переписать Core Data на Swift

Вторая вещь, которая происходит каждый год перед WWDC – люди скрещивают пальчики и ждут, что Apple выпустит современную замену для Core Data. Подписываюсь под всеми хотелками из статьи!

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Отражение источников света

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Интеграция ChatGPT и Xcode

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Офер в Яндекс за два дня

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

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

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

Подробности ищите здесь

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Что нового в UIKit

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

👉Новый класс UIContentUnavailableView для отображения пустого стейта
👉Поддержка Xcode Preview, у которых еще и новый синтаксис на макросах появился
👉Поддержка анимаций в SFSymbols, добавленных как элемент кнопки или как ImageView
👉Новые типы шрифтов: большой и очень большой
👉Новые типы автозаполнения для UITextField: для дня рождения и даты окончания действия карты

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Расшифровки сессий на WWDC Notes

Самое время напомнить вам про офигенный ресурс от коммьюнити – WWDC Notes. Ребята смотрят сессии и превращают их в статьи, выделяя все самое важное. В этом году они обещают расшифровать 80% сессий в течение первой недели!

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Опубликован вижн интеропа Swift -> C++

Интероп Swift и C++ состоит из двух частей:

- Вызов Swift из C++ кода (этот пропозал уже давно опубликован и принят)
- Вызов C++ из Swift (вот ему и посвящен этот документ)

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

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Что нового в Swift 5.9

👉if и switch теперь можно использовать при присвоении значения переменной или для возврата значения из функции
👉Можно писать макросы, которые исполняются во время компиляции
👉Структуры и enum’ы, которве нельзя копировать, а можно только передавать по ссылке
👉Новый оператор consume, который копирует значение переменной и уничтожает ее

В статье очень детально разбираются эти и другие новые фичи. Идеальный материал, чтобы подготовиться к WWDC!

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Организация межмодульного взаимодействия в многомодульном приложении

Разбор того, как архитектура межмодульного взаимодействия может влиять на скорость компиляции, вес приложения и релизный процесс. А начать чтение можно с первой статьи цикла – про то, кому вообще стоит выбирать распил приложения на модули.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Номинанты Apple Design Awards

Объявили номинантов на ежегодную премию Apple Design Awards. Этот список – отличный пример того, что Apple ценит в приложениях. Вот несколько интересных приложений:

✈️Flighty – за интуитивный интерфейс и хорошую интеграцию с платформой
🧘Headspace – за социальный импакт
🎥Riveo – за интерфейс и анимации
🏓SwingVision – за инновации в пользовательском опыте

Победителей объявят через неделю после кейноута WWDC.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Собираем каталог митапов с просмотром WWDC

Кейноут WWDC пройдет вот уже через неделю. Если вы планируете организовать совместный просмотр – напишите в личку @tatiana_2209. Мы соберем каталог всех событий, чтобы вам проще было найти что-то рядом с вами.

👉Ссылка на каталог

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Act – инструмент для локального запуска GitHub Actions

Act – консольная тула, которая позволяет прогонять любой GitHub Action локально. Нужен только установленный Docker Desktop.

Вызов экшна выглядит так:
act pull_request --container-architecture linux/amd64

Перевод на русский язык

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Обзорная статья про Compose Multiplatform

На Хабре вышла неплохая обзорная статья на русском языке про то, как работает Compose Multiplatform, и как собрать свой первый простой проект. Если стало интересно, вот еще несколько материалов по теме:

Официальный блог пост с анонсом
Подробный доклад

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Документация и схема событий аналитики

В какой-то момент в приложении Headhunter стало так много разных событий аналитики, что ребята решили навести в них порядок. Вот что получилось:

👉Отдельный репозиторий, который стал источником правды про все события.
👉Каждое событие описывается yaml файлом, который содержит название, описание, категории, к которым оно относится, и параметры.
👉Схема умеет рендериться в маркдаун, и благодаря этому генерируется человекочитаемый справочник всех событий.
👉Аналитики сами пишут yaml файлы.
👉Из схемы также генерируется код для приложения.

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

package – новый access modifier

В Swift 5.9 появится новый модификатор доступа – package. К символам, помеченным таким образом, можно будет получить доступ только коду из того же пакета. В статье разбирается несколько примеров его использования и его совместимость с другими модификаторамич

Читать полностью…

iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT

Новые Accessibility фичи

Как всегда в последние годы, Apple за несколько недель до WWDC представляет новые фичи доступности, которые появятся в следующей iOS. В этом году все особенно интересно!

👉Assistive Access. Новый упрощенный интерфейс для системных приложений, в котором выпилили все лишнее, оставили самые базовые элементы интерфейса и увеличили их в несколько раз. Куда там занести деньги, чтобы этот режим везде был по дефолту?
👉Live Speech. Генерация голоса, похожего на ваш, для озвучки введенного текста.
👉Point ans Speak. Озвучивание текстовых надписей, которые попадают на камеру.

Читать полностью…
Подписаться на канал