Flutter一些概念(一)

1 简述Flutter是什么以及它的主要优势

Flutter是一种由Google开发的开源移动应用开发框架,可以用于构建高度定制化、美观并且性能卓越的移动应用程序,其主要优势有:

  • 跨平台,一次编码,可编译适配多个平台的应用(iOS ,Android, Web)等,可大大减少开发时间和成本;
  • 高性能,Flutter的性能接近于原生应用,直接使用Dart语言编译成原生代码,避免了使用桥接带来的性能损耗;
  • 热重载,可在不编译整个应用的情况下,即时看到代码更改的效果,极大提高了开发效率;
  • 丰富的组件库,提供了丰富的UI组件,可以快速构建出美观且功能丰富的界面;

2 Dart语言的优势有哪些

  • 即时编译(JIT),可以在运行时优化代码,提高执行速度
  • 预编译(AOT),允许应用在发布前就编译成机器码,运行时不用做任何的编译操作,大大提高了启动速度和运行效率;
  • 类型安全,可在编译时就捕获许多类型错误,提高应用的稳定性和性能;
  • 跨平台性能,可编译成多种平台的原生代码,
  • 其他,如并发支持等;

3 怎样管理Flutter应用的状态

涉及到数据在UI组件之间的共享和同步,几种流行的状态管理库:

3.1 Provider

优点: 轻量级,内置于Flutter中,适合基本的状态管理 ,通过InheritedWidger机制简化了状态的传递和访问,使得UI组件能够响应状态的变化;
缺点:状态更新是通过ChangeNofifier等机制来实现,这在复杂应用中可能稍显不足;

3.2 GetX

优点:全能框架,不仅可以用于状态管理 ,还支持路由和依赖注入,简单易用,性能优秀
缺点:使用了全局单例的模式,可能会带来类型冲突和内存回收问题

3.3 Mobx

优点: 通过响应式编程简化了状态与UI的绑定,使得状态变化能够自动触发UI更新,它用于需要复杂状态逻辑和异步操作的场景
缺点:相比于其他状态管理库,学习上手难度较高;

3.4 Redux

优点 :可以了集中式存储、操作和减速器,适用于需要强大可预测性和工具支持的大型应用程序,它的单向数据流和中间件支持使得状态管理变得可预测肯易于测试
缺点:学习成本较高,且需要编写更多的样板代码;

4 BLoC 是什么

(Business Login of Components)是一种设计模式,主要用于将业务逻辑从UI组件中分离出来,这种模式有助于提高代码的可维护性、可测试性以及复用性

  • 业务逻辑组件(Bloc),包含了处理业务逻辑的代码,并且与Ui组件分离,可以响应来自UI的事件,并根据这些事件来更新应用的状态
  • 状态(State): 是应用某一时刻的快照,它可以是任何数据类型。状态的变化会触发UI的更新
  • 事件(Event):事件是UI发送到Bloc的信号,表示了发生了某些事情,例如用户的操作或数据的更新请求
  • 转换器(Converter):转换器是将外部事件转换为内部事件的逻辑,它通常用于处理异步操作,如网络请求或数据库查询;
posted @ 2024-08-24 15:35  woodWu  阅读(11)  评论(0编辑  收藏  举报