Connect with us

GitHub

ImmutableData — простое управление состояниями для SwiftUI

Опубликовано

/

     
     

ImmutableData — новый подход к архитектуре приложений для SwiftUI, основанный на более чем десятилетнем опыте работы с декларативными UI-фреймворками. Вдохновленная принципами Flux и Redux, архитектура использует современные возможности Swift, чтобы сделать ваш код чище, быстрее и проще для понимания. Вместо традиционного императивного и объектно-ориентированного программирования, авторы делают ставку на декларативное мышление, функциональный стиль и неизменяемые (immutable) данные. В основе всего — однонаправленный поток данных, который обеспечивает строгое разделение ответственности: действия декларируют, что произошло; слой состояния реагирует на эти действия, изменяя данные; а представления (views) — просто отображают обновлённое состояние.

Это строгое разделение позволяет избавиться от таких проблем, как двусторонняя привязка данных и «спагетти-код», вызванный изменяемыми объектами. Архитектура ImmutableData делает код надёжнее, его легче тестировать, а новичкам — проще в нём разобраться. Пакет предоставляет три основных модуля: ImmutableData для управления данными, ImmutableUI для работы с представлениями SwiftUI и AsyncSequenceTestUtils для тестирования. Чтобы начать, достаточно добавить пакет в свой проект через Swift Package Manager. Например, для простого счётчика вам нужно определить состояние, действия и редьюсер, а затем использовать @ImmutableUI.Selector и @ImmutableUI.Dispatcher, чтобы связать ваш UI с глобальным состоянием приложения. Это позволяет создавать масштабируемые и легко поддерживаемые приложения.

ImmutableData на GitHub: https://github.com/Swift-ImmutableData/ImmutableData
Платформа: iOS
⭐️: 37
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: