Декларативное программирование - это способ описания логики с самообъяснением, который позволяет любому легко понять код. Это улучшает читаемость кода и упрощает передачу знаний.

В настоящее время Objective C и Swift - это языки, которые мы используем для разработки приложений для iOS. Теперь Apple предлагает новый декларативный подход под названием SwiftUI ,, который представляет собой инновационный, исключительно простой способ создания пользовательских интерфейсов на всех платформах Apple с помощью Swift.

Таким образом, мы можем легко написать код и мгновенно проверить предварительный просмотр пользовательского интерфейса. Точно так же мы можем вносить изменения в пользовательский интерфейс, и это также отразится на коде.

В существующем подходе операторы кода Swift / Objective C различаются для каждой платформы. то есть код приложения iOS отличается от кода приложения Mac. Но декларативное программирование упрощает внедрение кода для всех платформ Apple.

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

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

  • Основная философия дизайна Apple UIKit - это наследство
  • Состав SwiftUI

Основным преимуществом является то, что он может преобразовывать представления в элементы визуального интерфейса в соответствии с такими платформами, как iOS, macOS, watchOS, tvOS.

Например, представление Toggle можно визуализировать по-разному на каждой платформе Apple, как показано ниже.

Здесь вы можете увидеть, что размер и расположение кнопки переключения отличается от iOS / watchOS, macOS и tvOS. Это зависит от элементов управления каждой платформы и в соответствии с размером экрана.

Точно так же он будет правильно адаптироваться к изменениям цветов, отступов, выравнивания размеров и т. Д. В зависимости от платформы.

Например, на iPhone кнопка может быть маленькой, а небольшой код изменит размер кнопки в соответствии с экраном iPad.

Плюсы:

  • Мы можем визуализировать пользовательский интерфейс для изменений без необходимости перекомпилировать все приложение.
  • Сокращает время разработки экрана
  • Обеспечивает лучшую интеграцию между разработчиками и дизайнерами
  • Повышает скорость разработки
  • Представления могут принимать свойства в соответствии с различными платформами Apple (iOS, macOS, watchOS, tvOS).
  • Обеспечивает автоматическую поддержку динамического типа, темного режима, локализации. Таким образом, не нужно писать какой-либо код специально для темного режима.
  • Он также предоставляет возможность использовать существующую архитектуру UIKit с помощью UIHostingController.
  • SwitUI заменяет раскадровки и автоматическую компоновку, поэтому объединение кода становится проще по сравнению с исправлением конфликтов раскадровки.

Автор: Баладжи Рамакришнан
Стрим: мобильный