Flutter PK jetpack compose区别和选择

Flutter诞生于Chrome团队,是一帮做Web的开发做的跨平台框架,从最开始的设计初衷,就是指向了跨平台这条路,而Compose,则是诞生于Android团队,是为了解决当前View的架构体系不能再继续适应申明式编程的范式而做出的重构。

flutter和jetpack compose特点

语言方面:

flutter使用的是一种由Google创建的面向对象语言Dart,Jetpack Compose使用的是一种由JetBrains创建的静态类型编程语言kotlin。这两种语言都有各自的优缺点,对于初学者来说,Dart更容易学习,而且在运行速度和内存使用方面,也并不输Kotlin。

易用性方面

这两个框架都相对容易使用, jetpack compose具有声明式UI方法,这意味着我们可以使用Kotlin代码来构建UI,而不必担心底层的复杂性。但是,Flutter在没有桥接逻辑的情况下直接访问操作系统级组件并不简单,需要较强的专业操作。

作为一个使用过这两种框架的我来说,使用JetpackCompose来创建优美的用户界面要比使用Flutter容易些。不过flutter在跨平台开发方面确实有着无可比拟的优势,此外,当你想要快速建立一个应用程序的原型时,Flutter中的热加载功能是必不可少的。

Flutter 和 Compose解析

Flutter 和 Compose 的未来目标会比较一致,但是至少它们出现的初衷是不一样。

  • 首先 Compose 是 Jetpack 系列的全新 UI 库,理解下这点!Compose 是 Jetpack 系列的成员之一,所以可以被应用到 Android 界面开发中,所以你也可以选择不用,用不用都能开发 Android 的 UI 。
  • 然后再说 Compose 出生的目的:就是为了重新定义 Android 上 UI 的编写方式,为了提高 Android 原生的 UI 开发效率,让 Android 的 UI 开发方式能跟上时代的步伐。
  • 不管你喜不喜欢,声明式的界面开发就是如今的潮流,不管是 React 、SwiftUI 、Flutter 等都在表明这一点。
  • 而对于 Flutter 而言就是跨平台,因为 Flutter 没有自己的平台 ,有人说 Fuchsia 会是 Flutter 的家,但那已经属于后话,毕竟 Fuchsia 要先能养活自己。
  • 因为 Flutter 出生就是为了跨平台存在的全新 UI 框架,从底层到上层都是"创新"和"大胆"的设计,就选择 Dart 本身就是一项很"大胆"的决定,甚至在 Web 平台都敢支持选用 Canvaskit 的 WebAssembly 模式。

Flutter和Compose该学习哪一个?

Flutter和Compose并不冲突,我是原生开发,但并不妨碍我学习Flutter,学了Flutter,再看Compose,很快就能上手.Flutter屏蔽了不同操作系统底层的图形界面API,直接利用skia引擎进行图形界面的绘制,类似于提供一个可以在各个平台上运行的画板,让你在上面作画,因此能够做到同一套UI代码在全平台都能编译呈现同样的效果,合理使用某些包和插件甚至可以进行小部分跨平台的简单业务逻辑的开发。同样的,Compose的图形界面绘制部分也是由skia引擎完成。

至于自己适合哪一种,各自结合自身进行选择。《flutter》与《Compose》关于这些技术我也有一些文档,可以看我主业的分享。

相关推荐
与衫1 小时前
掌握嵌套子查询:复杂 SQL 中 * 列的准确表列关系
android·javascript·sql
helloxmg3 小时前
鸿蒙harmonyos next flutter通信之MethodChannel获取设备信息
flutter
helloxmg3 小时前
鸿蒙harmonyos next flutter混合开发之开发package
flutter·华为·harmonyos
杰哥在此4 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
500了7 小时前
Kotlin基本知识
android·开发语言·kotlin
人工智能的苟富贵8 小时前
Android Debug Bridge(ADB)完全指南
android·adb
GISer_Jing10 小时前
【React】增量传输与渲染
前端·javascript·面试
小雨cc5566ru13 小时前
uniapp+Android面向网络学习的时间管理工具软件 微信小程序
android·微信小程序·uni-app
bianshaopeng14 小时前
android 原生加载pdf
android·pdf
hhzz14 小时前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)
android·linux·jar