宣言的UI
declarative UI
GUI開発を良い感じにするパラダイム
密結合になりがちだが、それを防ぎたい!というモチベ そうなん?mrsekut.icon
シンプルであり、理解しやすい
Flux系アーキテクチャと併用することでViewとModelを完全に分離できる
どういう物を指すか
Howのところをコンパイラに任せる
DOM操作は命令的
宣言的なおかげでViewを関数として扱える
v = View(State)
命令的だとfor文(展開したものを書くと考えるとわかりやすい)を書いてるかんじか
count=1のときのコード、count=2のときのコード、を両方書いてる感じ
Reactでは、プログラマは宣言的にコンポーネントを作っていき、ReactのCoreがそれを命令的なものに直し逐次実行している(?)
宣言型UIであるものの例
HTML
C#
Vue
Jetpack Compose
Haskell GUI開発
Flutter
Elmとか?
Unity
対となる概念
命令的、imperative
code:js
$(window).on('load', function() {
$(".page-loader").fadeOut('fast');
});
DOMを指定して、それに対して操作を行う
従来のiOS, Android開発?
jqueryとreact, fluxの比較
手続的GUI
では、時間軸などの状態を意識しないといかないので、コードだけ読んでもどういう画面になるのかが理解しづらい
特に複雑になってくるとまじでわけわかめ
実際に動かしてみて動きを理解していく感じのデバッグ
動的型付けのときの問題みたいな?
参考
詳しい