Flutter入门知识—声明式UI

重点:

1、Flutter采用了声明式UI的布局方式,什么是声明式UI?

2、声明式UI和命令式UI的异同?


Flutter的UI框架吸取了react的理念,即 UI是关于状态的函数

声明式UI与响应式UI是对应的概念,考虑一下iOS/android的UI实现。

iOS:很纯粹的命令式,new view,addsubview,new view,addsubview,这样搞。

安卓:算是半命令式吧,xml声明了UI,这是声明式的部分;但程序运行时如果要修改某个view,仍是取到这个view,再去命令式地修改。

Flutter:每个组件,会有个build函数,这里会返回一个能够完整描述UI的对象结构。每当数据改变时,就重新调用build函数,返回新的结构。如何高效渲染,就是框架去做的事情了。通过这种方式,不管是UI的初始布局结构,还是后面的修改,都是build函数返回的对象结构去声明的,完整的声明式UI由此而来。所以Flutter是构建新的widget实例,而不是改变旧的实例。

你可能感兴趣的:(Flutter入门知识—声明式UI)