宣言的UIとは
宣言的UIとは<読み方 :せんげんてきゆーあい>
WebサイトやアプリケーションのUIを実装する概念の一つ。
予め完成形のUIのイメージに基づいて、画面を実装していく手法です。
宣言的UIでは、動的な部分を渡すだけで、画面を構築してくれる関数をベースにして、画面を実装していくことができます。
宣言的UIでは、アプリのステータスに応じて、どの様な表示(UI)になるべきかを宣言するように実装していくことが特徴です。
そのため、宣言的UIを行う際には、予め、アプリのロジックを予約するように定義していきます。作りたい画面表示(たとえば画面遷移やアニメーション)に対して、逆算するようにコーディングをしていきます。
宣言的UIを実現するための要素技術には、DataBindingなどがあります。
宣言的UIのフレームワークには、React、ReactNative、Flutter、SwiftUI、JetpackComposeなどがあります。
現場の声
初めて見た時はめちゃくちゃ綺麗に楽にコードが書けると衝撃的でした。
ですが、実際に使ってみると、何も考えずに書くとネストが深くなりすぎたり、慣れていないのも大きいですが、従来の命令的記述で書きたくなる時もありました。
また、iOSではまだUIKitが必要になるケースも多々あります。
基本はMVVMだと思いますが、宣言的UIでのアーキテクチャ設計も課題になってくると思います。特にFlutterはまだまだデファクトスタンダード的なアーキテクチャは変動があると感じます。
現場の声2
ネイティブアプリ開発用の宣言的UIフレームワークとしては、ReactNative、Flutterなどのマルチプラットフォームのものが先行して登場したが、現在ではiOS純正のSwiftUI、Android純正のJetpackComposeの開発も進んでいます。そのため、各OS共に公式的にも宣言的UIへ移行する流れが予想されます。
<関連用語>
宣言的(Declarative)
React
ReactNative
Flutter
SwiftUI
JetpackCompose
◆執筆・監修:
アルサーガパートナーズ株式会社 DX技術用語集制作チーム App Div.