Telegram Web Link
Воркшоп по архитектуре Flux

MVVM – отличная архитектура, но при использовании ее со SwiftUI возникает много проблем. 22 августа в 20:00 Ексей Пантелеев расскажет, с какими проблемами приходится сталкиваться, как их можно решить, расширив MVVM с помощью SOA и Coordinator’ов, и покажет, как можно строить архитектуру по принципам Flux.

Вебинар является частью онлайн-курса «iOS Developer. Professional» от OTUS. Партнер курса: Certiport.
Fucking Format Style

Подробная документация по FormatStyle и ParseableFormatStyle. Удобно смотреть все возможные атрибуты для перевода различных типов данных в локализованные строки.
Kintsugi – решение конфликтов в project.pbxproj

При конфликте Kintsugi анализирует изменения, сделанные в pbxproj файле, отменяет их, и делает заново.
Пропозал по миграции компилятора Swift на Swift

- Важный этап в развитии любого языка – это бутстраппинг. Этот термин означает, что для того, чтобы скомпилировать новую версию компилятора, используется предыдущая версия этого же компилятора.
- Большая часть компилятора Swift написана на С++ и для ее компиляции Swift не нужен
- Исключение – несколько опциональных компонентов, которые уже реализованы на Swift. Среди них – Swift Driver, управляющий процессом компиляции, экспериментальный движок для pattern matching и некоторые SIL passes.
- Автор пропозала предлагает начать переписывать на Swift не только опциональные части компилятора
- Пост интересен в том числе как хороший инсайт в то, как сейчас организован процесс сборки компилятора
Allow implicit self for weak self captures, after self is unwrapped

Language Workgroup приняла пропозал, согласно которому можно больше не писать self в замыканиях с weak self после того, как self развернули. Изменения реализуют в одной из следующих версий Swift.

Вот как будет выглядеть код:
button.tapHandler = { [weak self] in
guard let self = self else { return }
dismiss()
}
Типовые архитектурные паттерны переоценены

- В реальной жизни дизайн многих систем разрабатывается не так, как в книгах. Их не разрабатывают выделенные архитекторы, не документируют сложными стандартами вроде С4, не используют UML, и не пытаются привести к словарю стандартных архитектурных паттернов банды четырех
- Задача инженера – выработать максимально простую архитектуру, которая поможет решить текущую бизнес-проблему. Соответствие стандартным подходам часто влечет за собой излишнюю сложность
- Главная роль паттернов – в повышении вашей насмотренности
- Чтобы прокачаться в system design, прорабатывайте архитектуру сложных кейсов самостоятельно, запрашивайте фидбэк у коллег, сравнивайте разные варианты дизайна друг с другом, проводите ревью у других людей
Краткое содержание цикла статей про огромный рефакторинг Slack

- Slack выпустили три статьи: про стабилизацию, модуляризацию и модернизацию кодовой базы
- Основные причины: сложности в масштабировании разработки и желание переехать на новый техстек
- Была разработана понятная стратегия рефакторинга, разбитая на конкретные шаги
- Куча интересных деталей про принятие решений по архитектуре, тулингу, зависимостям
Реализация простого watchdog’а

- Если вы видите в крешлогах код 0x8badf00d – это значит, что приложение прибил системный watchdog, который следит за зависшими приложениями
- Обычно очень сложно понять, а что именно в приложении вызвало зависание
- Помочь отловить причины таких ситуаций может простой самописный watchdog, код которого можно посмотреть здесь
Шаринг кода на Swift между клиентом и сервером

Шарить код можно не только на Kotlin, но и на Swift. В статье разбирается, как настроить сервер на Vapor, вынести часть бизнес-логики в общий Swift package и переиспользовать ее в приложении.
Автокомплит для команд Swift Package Manager

Если вы часто работаете с консолью и любите вкладываться в свою продуктивность, то попробуйте настроить автодополнение для SPM. В комплекте с ним идет утилита tooling, которая умеет генерировать shell completion scripts.
This media is not supported in your browser
VIEW IN TELEGRAM
Перенос Papers, Please на мобальные устройства

Очень интересная статья про то, как автор известной десктопной инди-игры пошагово адаптировал интерфейс и геймплей к маленьким экранам и тач-скрину.
Слухи про iPhone 14

- Новая презентация Apple с показом iPhone 14 пока планируется 7 сентября
- Самое заметное – у Pro версии уберут челку и заменят ее на точку с камерой и сенсором FaceID
- Камера станет еще мегапиксельнее, а батарея чуть лучше
- В Apple Watch завезут датчик температуры тела
50 сниппетов с полезными анимациями из разных приложений

Анимации не всегда служат только для украшения интерфейса. Они могут нести полезные функции. Например, сообщать пользователю об ошибке, мотивировать его сделать целевое действие или сообщать о важном событии.

В репозитории содержится несколько десятков примеров таких анимаций из разных приложений. Для каждого из них объясняется контекст его применения и приводится реализация.
Как анимация и вибрация помогли Додо сделать кнопку полезнее

В прошлом посте я поделился паттернами анимаций, которые приносят пользу. Кейс Додо из этой статьи – отличный пример использования таких паттернов на практике.
Conditional Layouts в SwiftUI

- В новой версии SwiftUI появился протокол Layout, который реализуется всеми стандартными контейнерами
- В протоколе две функции: sizeThatFits, которая расчитывает финальный размер контейнера с учетом всех детей, и placeSubviews, которая лэйаутит все дочерние вьюшки
- Новый тип AnyLayout позволяет менять лэйаут внутри контейнера без полной перерисовки вьюшек и сбрасывания стейта
This media is not supported in your browser
VIEW IN TELEGRAM
Pow – анимированные переходы для SwiftUI

Вышла Beta версия библиотеки Pow, которая добавляет кучу классных transition’ов для ваших вьюх. Несколько примеров:

💨Blur – при добавлении View переходит из заблюренного в четкое состояние, при удалении – наоборот
⭕️Iris – растущий круг при добавлении, убывающий – при удалении
🪄Vanish – View рассыпается на мелкие кусочки
Команды Почты и Облака Mail.ru ищут iOS-разработчиков и запускают Weekend Offer

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

В команду Облака Mail.ru приглашают iOS-разработчика, который разделит задачи по развитию продукта, будет участвовать в новых продуктовых запусках и A/B-тестах, принимать технические вызовы в работе с файлами и медиаконтентом, а также улучшать инфраструктуру и автоматизацию.

Успейте зарегистрироваться до 2 сентября!
Статистика использования SwiftUI, Catalyst и AppKit системными приложениями macOS

- В macOS Ventura 85% приложений используют AppKit, 12% – SwiftUI, 4% – Catalyst
- Доля SwiftUI растет с каждой версией. С Monterey она выросла в 2.5 раза
- Catalyst стагнирует уже пару лет
Интерактивные туториалы на DocC

DocC, инструмент для генерации документации от Apple, умеет не только генерировать API reference, но и очень крутые пошаговые интерактивные туториалы. Вот, что они позволяют делать:

📝Разбивать туториал на главы
📹Встраивать видео, картинки и загружаемые файлы
Показывать квизы с вопросами, которые проверяют полученные знания

А вот еще один пример того, как можно использовать эти туториалы.
2024/10/01 22:36:44
Back to Top
HTML Embed Code: