一起Talk Android吧(第三百八十二回:UI框架)
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第三百八十二回:UI框架)相关的知识,希望对你有一定的参考价值。
文章目录
各位看官们,大家好,上一回中咱们说的是通知发送方式的的例子,这一回中咱们介绍的例子是UI框架。闲话休提,言归正转,让我们一起Talk android吧!
看官们,我们在本章回中介绍的是UI框架,内容比较抽象而且没有相关的代码,大家只要对UI框架有个基本的概念的就可以。UI框架分为两大类:命令式UI与声明式UI。
使用背景
最近在看Flutter方面的知识,编辑界面时发现与以前的程序完全不同,经过调查后才知道Flutter使用声明式UI来编写程序。使用这种UI来编写界面确实方便,不过就是不容易理解,为此我准备写此文章来做一些总结。
概念介绍
编写应用程序肯定离不开UI界面,传统的界面的编写方式是把UI控件放到界面中,然后通过代码来更新UI界面,这种方式叫命令式UI。现代的UI框架认为这种命令式UI框架的开发效率比较低:需要通过代码主动来更新UI界面。于是便提出了声明式UI框架,在这种框架中只需要把UI控件放到界面中,然后声明UI控件的状态,框架会依据状态自动更新UI控件。
这种框架思想最早由React框架提出,后来各大公司借鉴此思想开发出不同的UI框架,比如Google的Jetpack Compose
和Flutter
,Apple的SwiftUI
,这三种UI框架都使用了声明式UI的思想,它们的推出时间都在2019年左右。各大公司几乎都在同一年发布了声明式UI框架,可见声明式UI框架将成为未来应用程序开发的主流。因此我觉得很有必要去学习和掌握这种声明式UI框架。
我们以Android开发为例来做来详细说明命令式和声明式UI框架的区别。
命令式UI框架
使用此框架编写程序时,程序的界面放在了xml格式的布局界面中,在此界面中添加一个button控件,然后在代码中通过findViewByID
获取到button控件,接下来就可以通过button控件的setXXX方法来更新button控件。
使用这类框架编写程序时,程序的界面和逻辑功能分布在不同的代码文件中,界面和逻辑都比较清晰,很容易理解。
声明式UI框架
使用此框架编写程序时,程序的界面放在了代码中,在代码中添加一个Button控件,然后给控件设置状态值,当状态值发生变化时框架会自动更新button控件.
使用此框架编写程序时,程序的界面和逻辑功能都在同一个代码文件中,不过逻辑上还可以分清楚,不容易理解的地方是管理控件的状态。
在Anroid程序中使用声明式UI框架时需要导入Jetpac Compose
依赖,并且使用Kotlin语言编写程序,当然也可以使用Flutter跨平台开发框架。
以上是我对这两种UI框架的理解,也可以查看Flutter官方的对这两种框架的介绍。
看官们,关于Android中UI框架的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
以上是关于一起Talk Android吧(第三百八十二回:UI框架)的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第四百八十二回:如何修改Switch的长宽
一起Talk Android吧(第三百八十八回:lifecycle)
一起Talk Android吧(第三百八十八回:lifecycle)
一起Talk Android吧(第三百八十七回:LiveData)