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 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
拭心2 小时前
Google 提供的 Android 端上大模型组件:MediaPipe LLM 介绍
android
GISer_Jing3 小时前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
m0_748245523 小时前
吉利前端、AI面试
前端·面试·职场和发展
带电的小王4 小时前
WhisperKit: Android 端测试 Whisper -- Android手机(Qualcomm GPU)部署音频大模型
android·智能手机·whisper·qualcomm
coder_pig4 小时前
📝小记:Ubuntu 部署 Jenkins 打包 Flutter APK
flutter·ubuntu·jenkins
梦想平凡4 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
元争栈道4 小时前
webview和H5来实现的android短视频(短剧)音视频播放依赖控件
android·音视频
TodoCoder5 小时前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?
java·后端·面试
阿甘知识库5 小时前
宝塔面板跨服务器数据同步教程:双机备份零停机
android·运维·服务器·备份·同步·宝塔面板·建站