前言:

在1982年的原版电影《银翼杀手》中,人类已经发展出了一种人造的生命形式,很难将它们与人类区分开来。这些“复制品”被用于危险的工作,当它们开始反抗人类主人时,一种被称为“刀锋杀手”的警官出现了。

当谷歌第一次宣布Jetpack Compose时,不少人认为这将是flutter的结束。毕竟,既然可以使用Google提供的本地工具,为什么还要使用跨平台框架呢?

那我们来整体比较一下flutter和jetpack compose,看看他们各自有什么特点。

flutter java版本 flutter jetpack_android

1、语言方面:

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

2、易用性方面

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

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

其实没有所谓的“最佳框架”,因为jetpack compose和flutter的定位并不相同,不是绝对的矛盾体,这取决于你想要去的公司采用的什么框架,以及你自己的需求和偏好。学有余力的朋友可以两者都尝试一下,这对以后个人的发展也都有帮助。

flutter java版本 flutter jetpack_android_02

目前全网关于这两个框架的资料较为碎片化,对想要系统学习的人来说不太友好,所以我给大家分享jetpack compose和flutter的系统学习笔记,内容通俗易懂,知识点覆盖面广,内容严格按照深度和广度统一的原则来编排有需要的朋友可以点击下方卡片免费获取

《compose入门到精通》

目录:

flutter java版本 flutter jetpack_flutter java版本_03

第一章 初识 Jetpack Compose

  1. 为什么我们需要一个新的UI 工具?
  2. Jetpack Compose的着重点
  3. API 设计
  4. Compose API 的原则
  5. 深入了解Compose
  6. 插槽API
  7. flutter java版本 flutter jetpack_flutter java版本_04


  8. flutter java版本 flutter jetpack_android_05

第二章 Jetpack Compose构建Android UI

  1. Android Jetpack Compose 最全上手指南
  2. 深入详解 Jetpack Compose | 优化 UI 构建
  3. 深入详解 Jetpack Compose | 实现原理
  4. flutter java版本 flutter jetpack_学习_06


  5. flutter java版本 flutter jetpack_flutter java版本_07

第三章 Jetpack Compose 项目实战演练(附Demo)

  1. Jetpack Compose应用1
  2. Jetpack Compose应用2
  3. Jetpack Compose应用做一个倒计时器
  4. 用Jetpack Compose写一个玩安卓App
  5. 用Compose Android 写一个天气应用
  6. 用Compose快速打造一个“电影App”
  7. flutter java版本 flutter jetpack_android_08


  8. flutter java版本 flutter jetpack_flutter java版本_09

《Flutter进阶学习笔记》

目录

flutter java版本 flutter jetpack_flutter java版本_10

第一章 为什么 Flutter 是跨平台开发的终极之选

  • 这是为什么?
  • 跨平台开发
  • 什么是Flutter
  • Flutter特性
  • Flutter 构建应用的工具
  • 使用 Flutter 构建的热门应用
  • 构建 Flutter 应用的成本

flutter java版本 flutter jetpack_flutter java版本_11

第二章 在Windows上搭建Flutter开发环境

  • 使用镜像
  • 系统要求
  • 获取Flutter SDK
  • 编辑器设置
  • Android设置
  • 起步: 配置编辑器
  • 起步: 体验
  • 体验热重载

flutter java版本 flutter jetpack_android_12

第三章 编写您的第一个 Flutter App

  • 创建 Flutter app
  • 使用外部包(package)
  • 添加一个 有状态的部件(Stateful widget)
  • 创建一个无限滚动ListView
  • 添加交互
  • 导航到新页面
  • 使用主题更改UI

flutter java版本 flutter jetpack_flutter java版本_13

第四章 Flutter开发环境搭建和调试

  • 开发环境的搭建
  • 模拟器的安装与调试
  • 开发环境的搭建
  • 模拟器的安装与调试

flutter java版本 flutter jetpack_flutter java版本_14

第五章 Dart语法篇之基础语法(一)

  • 简述
  • Hello Dart
  • 数据类型
  • 变量和常量
  • 集合(List、Set、Map)
  • 流程控制
  • 运算符
  • 异常
  • 函数
  • 总结

flutter java版本 flutter jetpack_Dart_15

第六章 Dart语法篇之集合的使用与源码解析(二)

  • List
  • Set
  • Map
  • Queue
  • LinkedList
  • HashMap
  • Map、HashMap、LinkedHashMap、SplayTreeMap区别
  • 命名构造函数from和of的区别以及使用建议

flutter java版本 flutter jetpack_android_16

第七章 Dart语法篇之集合操作符函数与源码分析(三)

  • 简述
  • Iterable
  • forEach
  • map
  • any
  • every
  • where
  • firstWhere和singleWhere和lastWhere
  • join
  • take
  • takeWhile
  • skip
  • skipWhile
  • follwedBy
  • expand
  • reduce
  • elementAt

flutter java版本 flutter jetpack_flutter_17

第八章 Dart语法篇之函数的使用(四)

  • 简述
  • 函数参数
  • 匿名函数(闭包,lambda)
  • 箭头函数
  • 局部函数
  • 顶层函数和静态函数
  • main函数
  • Function函数对象

flutter java版本 flutter jetpack_学习_18

第九章 Dart语法篇之面向对象基础(五)

  • 简述
  • 属性访问器(accessor)函数setter和getter
  • 面向对象中的变量
  • 构造函数
  • 抽象方法、抽象类和接口
  • 类函数
  • 总结

flutter java版本 flutter jetpack_flutter java版本_19

第十章 Dart语法篇之面向对象继承和Mixins(六)

  • 简述
  • 类的单继承
  • 基于Mixins的多继承
  • 总结

flutter java版本 flutter jetpack_android_20

第十一章 Dart语法篇之类型系统与泛型(七)

  • 简述
  • 可选类型
  • 接口类型
  • 泛型
  • 类型具体化
  • 总结

flutter java版本 flutter jetpack_学习_21

第十二章 Flutter中的widget

  • Flutter页面-基础Widget
  • Widget
  • StatelessWidget
  • State生命周期
  • 基础widget
  • DefaultTextStyle
  • FlutterLogo
  • Icon
  • Iamge.asset
  • CircleAvatar
  • FadeInImage
  • 按钮
  • FlatButton
  • OutlineButton
  • TextFormField

flutter java版本 flutter jetpack_flutter_22

后话:

flutter和jetpack compose的特性远远不止这些,它们本身还有着非常多值得学习的地方,这个只有大家自己去学习才能体会得到。另外,我们还要透过这两个框架去看更深层次的实现原理,世界千变万化,各种框架也不例外,虽然flutter和compose正处在快速发展阶段,但我们也要明白:学会举一反三才是最重要的学习能力。