JSX 最初是用来描述 GUI 的,最大的特点是 可以在 GUI 内部包含逻辑,包含状态。
而编程其实就是在写 UI,这里的 UI 是一个更高层次的,指的不仅是 Web,Command,还有面向开发者的 UI。
在设计接口,设计API时,从另一个角度来看,我们本质上是在写UI。
JSX 代表的是一种表达方式,一种可以很好切合 声明式范式 需求的语义方案。
如果用一句话概况声明式编程的话,它最大的特点是: 它的所有语义表达, 只是在声明要做什么,具体怎么做,剩下的它不需要关心,只需要交给编译器。
一些业界典型实践有,sql ,graphql,jsx
B: 不不不,oo 其实算不上是语义范式,是命令式的建模
C: 声明式对应命令式吧 比如gui开发,声明式比如HTML,命令式比如qt
B: 命令式 感觉和 声明式的思想一样的,只不过是被声明的对象不同。
声明式的出发点是开发者,命令式的出发点是 编译器,操作系统,运行时。 照这么说,感觉所有语义范式 应该都是声明式的,只不过是声明粒度不同而已。
而 oop 与 fp,算不上语义范式,是编程范式。
oop 对应建模,状态传递,fp 对应 状态映射,其实 oop 与 fp 之间的关系很近的。
A: 嗯,实际写代码的时候我基本都不 care 声明式还是命令式啥的范式。。按直觉去写了
B: hah 我除了遵循 fp 的编程规范外,做到最多的事 就是隔离状态。