Jetpack Compose 比使用 XML 创建传统 Android UI 的好处更多
前言
每年都有创新和技术进入市场,让设计师的生活变得轻松。声明式 UI 已成为近年来最引人注目的趋势之一,因为它:
- 降低开发成本。
- 帮助开发/提高开发人员的效率和技能。
- 它可以更轻松地专注于具有相似代码的不同平台和设备。
众所周知,谷歌构建其 UI 框架需要时间。在此之前,他们终于发布了适用于原生 Android 应用程序的 Jetpack Compose。
声明式 UI 是一种工业趋势
命令式 UI 是很长一段时间的设置。这并不意外,它很健壮,但对于复杂的反应式应用程序却失败了。声明式 UI 展示了令人难以置信的社区采用和执行改进。
考虑到这一点,不同的框架很快就开始采用这种方法,而 Jetpack Compose 已经成为人们关注的焦点。与 Apple 在 2019 年 9 月交付 SwiftUI 不同。
Jetpack Compose 与传统 UI 创建的不同之处
从 Java Swing 和 Win32 开始,大多数 UI 都是以命令式风格编写的。
它也适用于 Android 和 iOS UI 开发。开发人员过去常常通过描述组件如何响应更改来开发 UI。当状态发生变化时,我们可以稍后使用 setter 更新它们。
React、Flutter、SwiftUI和Jetpack Compose采用了另一种策略。您需要确定 UI 应该引入什么,而不是元素应该如何开发。部分如何传递给框架,整个方法称为声明性 UI。
Jetpack Compose 相对于传统 UI 创建的优势
从长远来看,许多专业问题一直在堆积。Jetpack Compose 是解决此问题的最佳方案,因为:
-
Jetpack Compose 是对 Android UI 的完全重新设计。它从一开始就致力于支持开发质量和速度。
-
Jetpack Compose 中的 UI 是用 Kotlin 编写的,有些部分是用 Java 或 XML 开发的。无论我们创建应用程序的哪个部分,我们都可以利用 Kotlin。
-
Jetpack Compose与 XML 有相似之处,反之亦然。
-
它适合单向数据流(其中状态向下流动而事件向上流动)作为可组合和接受的状态。
-
声明式 UI 创建不可变的 UI 对象,无需编写代码和同步。这种方法可以通过最小化错误和降低开发成本来平衡整个类。
-
Jetpack Compose支持 Material Design组件、主题和动画。它允许开发人员快速创建漂亮的用户界面。
-
一个未捆绑的工具包,因此它不像 View Support 库那样依赖于平台版本。
-
Jetpack Compose采用 MVVM (模型-视图-视图模型)架构从头开始设计。MVVM 架构强制执行清晰的关注点分离,并使代码更易于维护。
-
Jetpack Compose旨在提高开发人员的工作效率。许多适用于 Android 的软件模块从开发人员的工作量中重构出来。
-
它解决了 UI 作为不同的可变元素的各种问题。
-
它利用智能重组并实现单独的布局传递。这消除了 XML 问题,例如视图扩展。
-
Jetpack Compose 研究了用户界面的工作原理,并针对常见场景进行了优化。他们正在使用数据结构和算法来使组合看起来更具动态性。
Jetpack Compose 的缺点
-
目前,在学习阶段:该方法是独一无二的,因为开发人员很少使用它。此外,它需要更多的时间来适应创新。
-
更少的工具支持:他们中的大多数人都需要时间来进行创新。它在开发市场中是新的,因此目前可用的工具较少。
-
受限制的社区采用:目前,Jetpack Compose 正在成为一种趋势。绝大多数小组将偏爱带有 XML 的传统 UI。由于 Kotlin 并没有立即成名,Jetpack Compose 需要数年时间才能被广泛采用。
-
缺乏文档:很多问题都可能由某人解决。有很多资产可以单独解决。使用 Jetpack Compose 找到您想要的一切是不安全的。发布后,将会有更多的文档出现。
最后!!
声明式 UI 是一种全球趋势。Web 和 Mobile 都在采用这种方法。谷歌澄清说,Jetpack Compose 是首要任务之一。
替代标准 XML 的创新需要很长时间。许多开发人员仍会犹豫是否要切换到这种方法。其原因是独一无二的,但尚未限制采用。
更多推荐
所有评论(0)