iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT
12.4K subscribers
654 photos
64 videos
3.95K links
Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день.

Лучшее iOS сообщество в Телеге: @iosgt

Размещение рекламы: @tanyasanovna
Download Telegram
Улучшения перфоманса в ТСА

Вышел новый релиз The Composable Architecture, в котором был сделан упор на улучшения перфоманса. В статье разбираются все проблемные места предыдущей версии архитектуры, и то, как их полечили.
This media is not supported in your browser
VIEW IN TELEGRAM
Анимации в SwiftUI с Accelerate и VectorArithmetic

В статье пошагово разбирается, как реализовать анимацию лавового пузыря с быстрыми вычислениями на фреймворке Accelerate.
Fixes vs Patches

Любой код содержит ошибки – баги, эксепшны, проблемы перфоманса. Глобально к их исправлению можно подойти двумя способами:
☝️Пофиксить. Найти корневую причину проблемы, понять ее, исправить поведение системы и покрыть тестами.
✌️Запатчить. Не докапываясь до причины, сделать так, чтобы нежелательное поведение в данном конкретном случае больше не повторялось.

Ни один из способов нельзя назвать абсолютно верным, все зависит от контекста. Понимание различия между ними важно, чтобы правильно документировать последствия. Это менее важно для фиксов, но очень важно для патчей – иначе, спустя год, никто не сможет разобраться в костыле, который вы оставили.
Вышел Swift 5.7

Вместе с новыми iOS и Xcode вышла и новая версия Swift. В официальном блогпосте напоминают об основных изменениях в версии и дают список всех language proposals, которые были реализованы.
Редактирование navigationTitle в SwiftUI

В iOS 16 появилась возможность биндить navigationTitle к строке. С помощью этого можно дать пользователям возможность редактировать название открытой сейчас страницы прямо из тулбара с названием. Это может быть особенно удобно для приложений, работающих с документами.
Разбор причин долгого запуска разных приложений

Ребята из EmergeTools проанализировали несколько крупных приложений из App Store и рассказали, что замедляет время их старта.
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение принципов работы SwiftUI и Jetpack Compose

Jetpack Compose – декларативный UI фреймворк, на который сейчас активно переезжают Android разработчики. В статье его сравнивают со SwiftUI в вопросах лэйаута, работы со стейтом и инструментов.
GitHub бейджи для Xcode Cloud проектов

- В Readme опенсорсных проектов обычно добавляют бейджи, которые показывают текущий статус сборки – проходит или нет
- Для Xcode Cloud нативных бейджей пока нет
- В статье рассказывается, как с помощью shields.io автоматически генерировать бейдж, который будет показывать количество прошедших тестов
Архитектура системы кеширования

- Для хранения различных типов данных часто нужны разные механизмы кеширования
- Автор предлагает разбить всю систему на три слоя – Utils для запроса конкретного типа данных, AssetsManager, разруливающего, какой тип кеширования для какого типа данных выбрать, и непосредственную реализацию алгоритмов кеширования
This media is not supported in your browser
VIEW IN TELEGRAM
Короткий синтаксис if let в Swift 5.7

Начиная со Swift 5.7, синтаксис для if let и guard let стал намного короче. Хотя мнения насчет того, насколько это правильное решение, продолжают расходиться.
Как работают Live Activities

- iOS выделяет ровно восемь часов на всю жизнь Live Activity, после чего выгрузит ее
- Между виджетами для home screen и live activities можно шарить весь код, за исключением связанного с обработкой жизненного цикла
- Live Activity оперирует двумя видами данных: статическими, доступными сразу при старте, и динамическими, которые продолжают поступать в течение жизни виджета
- Данные можно обновлять из приложения, находящегося в foreground, с помощью пушей или BackgroundTasks фреймворка
Penpot – open source аналог Figma

- Если вас беспокоит будущее Figma после покупки Adobe, или вы просто хотите попробовать бесплатную альтернативу – посмотрите на Penpot
- Помимо стандартных дизайнерских возможностей по работе с графикой и текстом, Penpot умеет создавать интерактивные мокапы приложений и поддерживает коллаборативную работу
Переезд карт с OpenGL на Metal

В недалеком будущем Apple могут совсем отказаться от поддержки OpenGL, поэтому 2ГИС решили переписать весь движок карт на Metal, сделав по пути его более производительным. В статье они рассказывают с какими проблемами столкнулись на пути от первого прототипа к публикации готового релиза.
TCA at scale

- Krzysztof Zablocki рассказывает про свой опыт использования ТСА в огромном проекте
- Основные проблемы: тесты слишком привязаны к деталям имплементации, сложно обозначить границы между action’ами, перфоманс заметно падает с ростом системы