IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> UI创建新方法,利用SwiftUI / Jetpack Compose -> 正文阅读

[移动开发]UI创建新方法,利用SwiftUI / Jetpack Compose

● SwiftUI

SwiftUI在WWDC 2019中首次公开。?iOS SDK最初与Relize一起上市的UIKit时隔14年在WWDC 2019上公开了新的UI框架,之前使用的UIKit受到Objective-C的影响很大,而且以使用MVC为前提的结构在开发上存在局限性,因此存在很多困难。近期发布了符合最近发展趋势且UI开发较为容易的Swift UI。

● UIKit Framework ?ViewController?

以前使用的UIKit Framework是基于ViewController运行的。ViewController是管理视图层次结构、连接数据和视图以创建动态屏幕的控制器。所有应用程序都有一个或多个ViewController,移动应用程序中的很多工作都会在这里完成。

UIKit Framework 是一个事件驱动的框架,如上图所示,各种事件源源不断地从?ViewController 中传来,而?ViewController 允许开发者直接访问?ViewController 管理的 View 并更新?View。

而要使用这些事件,就必须继承UI相关的协议,而由于这些UI相关的协议都是基于继承的,遗留代码逐渐增多,这也是SwiftUI问世的原因之一。

● SwiftUI Framework

状态驱动(State-Driven)声明式UI开发框架,不能作为Object-C使用。

如上面的代码所示,SwifUI中的所有视图都声明为遵循View协议的结构体,并显示从body返回的视图。

SwiftUI的生命周期可以通过上面的API控制,在视图显示后调用。

在新的UI框架中,通过View的状态检测值的变化,并使用Annotation,消除了开发人员跟踪界面状态的需要。

如果添加@State(State annotation),SwiftUI将自动观察更改,并在发生更改时自动更新使用状态变量的view部分。

框架的最低支持操作系统为13.x,可在Xcode12或更高版本中使用。2019年第一次发布的时候,存在很多未知的bug,支持的库也不完善,使用起来困难重重,支持操作系统也被受阻。虽然实际使用起来有很多受限之处,但到目前为止大部分UIKit都可以替代,随着iOS应用OS一个个升级,使用时间越来越靠近。

● Jetpack Compose

Jetpack Compose是Android为构建原生UI提供的最新工具套件,自2020年1月公开Jetpack Compose0.1.0-dev04?开发版本后,时隔一年于2021年7月正式发布了1.0.0版本。

Jetpack Compose摆脱了传统的基于xml的布局配置方式,根据最近移动UI开发的趋势,采用声明式编程方式配置UI,从而产生巨大变化。

● Jetpack Compose Framework

Jetpack Compose仅使用柯特林配置UI。为了使用Compose,必须用@Composable annotation声明该函数是UI构造函数。调用这些函数,绘制UI的过程称为composition。

可以使用@Preview annotation预览UI配置。如果现有UI创建方式需要根据特定状态实现UI“如何”显示,那么Jetpack Compose只需根据特定状态实现UI“显示什么”即可。

优势是开发人员不必详细编写视图的属性,因此可以写更少的代码开发UI。此外,由于开发人员摆脱了手动操作UI状态变化的传统方式,UI更新时Compose状态更改也会自动处理,出错的几率较小,从维护角度来看也是更佳的。

Compose的生命周期简单分三个阶段

第一阶段,调用@Composable函数并绘制UI的步骤(composition)。

第二阶段,更改视图中的State,重新绘制?UI 以反映更改的步骤?re-composition 。 只更新需要智能变更的视图,是修改composition的唯一方法。?

第三阶段,Composition结束的步骤。Jetpack Compose发布初期,预计实际应用需要很长时间,目前由于谷歌的全力支持,正式版本已经推出。实际上,谷歌Play Store、Twitter等应用程序也正在使用Compose进行开发。

Compose将逐渐应用于许多服务,并将成为新的流行趋势。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:27:25  更:2022-09-13 11:27:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 5:01:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码