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实例,而不是改变旧的实例。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。