声明式编程和命令式编程

命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

React和Vue就是两个比较典型的声明式编程典范,jQuery命令式编程方式非常明显。

声明式编程的好处

  • 声明式编程让开发者的工作简化了
  • 声明式编程减少了重复工作
  • 声明式编程留下了改进的空间

使用React或者Vue,开发人员只需要关心我的页面长什么样,把模板告诉框架,具体的实现交给框架实现,之后框架的任何升级对于开发人员来说是不需要关心的。但是如果使用jQuery的话,我们要写一个页面,则需要我们反复调用jQuery的DOM操作的方法,这对我们来说是麻烦的。

另外在数据驱动的背景下,React和Vue都提倡我们通过改变状态来更新视图。举个例子,一个Dialog组件,我们可以通过拿到组件引用,调用openclose的方法,实现组件的显隐,但是另外更加合理的是通过声明式实现,改变isShow的状态。这样做一方面使我们的状态是可跟踪的,另外我们不再关心组件的是内部如何实现的,暴露哪些接口,只是告诉组件我们想要的是什么,实现更加方便。