Flutter
文章平均质量分 78
Flutter 是由 Google 开发的一个开源 UI 软件开发工具包,用于构建跨平台的应用程序。Flutter 的核心理念是提供一个高度可定制、快速和现代的 UI 框架,它允许开发者使用一套代码库构建 Android、iOS、Web 和桌面应用程序。
依旧风轻
葵花成海,你在不在
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flutter 多语言(国际化)入门教程
Flutter国际化开发简明指南:使用.arb文件实现多语言应用。通过配置intl依赖和l10n.yaml,创建不同语言的.arb资源文件,并在MaterialApp中设置本地化代理。支持自动生成多语言代码,可轻松调用带参数的翻译文本。还提供语言切换方法和常见问题解决方案,帮助开发者快速实现应用国际化。原创 2025-07-18 22:56:53 · 715 阅读 · 0 评论 -
freezed_annotation,freezed 和 build_runner
freezed架构解析 freezed由两个包组成:freezed_annotation(主依赖,含注解)和freezed(开发依赖,代码生成器)。build_runner作为Dart官方的代码生成框架,协调构建流程。三者分工明确:注解标记需求,生成器实现逻辑,build_runner管理构建过程。这种架构类似Xcode的编译系统,兼顾灵活性与效率,是Flutter代码生成方案的典型设计。原创 2025-06-30 16:05:41 · 618 阅读 · 0 评论 -
pubspec.yaml 中的 dependencies 与 dev_dependencies
Flutter 项目中 dependencies 与 dev_dependencies 的核心区别在于: 用途不同:前者用于运行时依赖(如 http、shared_preferences),后者用于开发工具(如 build_runner、测试框架) 产物影响:dependencies 会打包进最终应用,dev_dependencies 不会 使用场景:运行期代码只能引用 dependencies,测试/构建脚本可引用 dev_dependencies 正确区分二者能有效控制应用体积、提高构建效率,并避免开发原创 2025-06-30 15:19:31 · 801 阅读 · 0 评论 -
Flutter 依赖注入神器 GetIt ~ 从 iOS 开发者视角深入理解
Flutter依赖注入框架GetIt实践指南 本文介绍了Flutter中流行的依赖注入框架GetIt的核心概念和实际应用。通过对比iOS开发中的依赖注入模式,详细解析了GetIt的注册方式(LazySingleton和Factory),展示了如何实现智能API切换机制和依赖链管理。文章还提供了具体使用示例、资源管理方法以及从iOS迁移到Flutter时的最佳实践建议,包括注册策略选择、模块化注入和测试支持。对于熟悉iOS依赖注入的开发者,GetIt提供了类似的容器管理功能,是Flutter项目中实现松耦合架原创 2025-06-28 23:30:09 · 957 阅读 · 0 评论 -
Flutter 网络请求指南, 从 iOS 到 Flutter 的 Dio + Retrofit 组合
本文介绍了Flutter中强大的网络请求组合Dio+Retrofit,帮助iOS开发者快速上手。Dio作为HTTP客户端提供拦截器、请求转换等高级功能;Retrofit通过注解自动生成API接口代码,实现类型安全和代码简洁。文章详细讲解了Dio的基础使用、配置和拦截器,以及Retrofit的注解语法和代码生成方法,并提供了完整API服务示例。这种组合方式能显著提升Flutter项目中的网络请求开发效率和可维护性。原创 2025-06-27 23:48:52 · 1248 阅读 · 2 评论 -
Cursor 对 flutter pub get 的误解
Flutter中flutter pub get与完整编译的区别:pub get仅负责依赖准备(解析版本、下载包、生成元数据),而不进行代码编译或打包。类比iOS开发,pub get类似pod install,而真正的编译(如flutter build)相当于Xcode的构建命令。pub get是编译的必要前提,但单独执行无法生成可运行的应用产物。完整编译流程还需包含Dart代码编译、平台代码构建和打包等步骤。原创 2025-06-27 19:08:33 · 499 阅读 · 0 评论 -
flutter pub get 深入解析,给 iOS 开发者看的 Flutter 依赖安装全流程
摘要:本文由侯仕奇撰写,详解Flutter依赖管理核心命令flutter pub get的工作原理。文章从iOS开发者的角度,将其类比为pod install,拆解了该命令执行的6个关键步骤(读取配置、版本求解、生成锁文件等),对比了与dart pub get、pub upgrade的区别,并解析了版本求解算法。通过对照CocoaPods体系,重点说明pubspec.lock和package_config.json双文件的协作机制,最后给出网络优化、离线构建等实战技巧。文章强调锁文件对团队协作的重要性,建议原创 2025-06-27 18:22:28 · 1207 阅读 · 0 评论 -
Flutter 网络栈入门,Dio 与 Retrofit 全面指南
Flutter网络请求方案Dio+Retrofit全指南 本文针对iOS开发者介绍Flutter网络请求的最佳实践方案。Dio提供类似Alamofire的基础功能,包括全局配置、拦截器和任务管理,而Retrofit通过注解自动生成类型安全的API调用代码。两者的组合优势在于: 简化配置与拦截机制统一管理 自动JSON序列化/反序列化 支持并发请求、取消和进度监控 与iOS网络库的思维映射清晰 提供完善的扩展方案(Mock/缓存/重试等) 文末包含常见问题解决方案,帮助开发者快速适应Flutter网络开发范式原创 2025-06-27 17:53:28 · 1579 阅读 · 0 评论 -
Flutter ListTile 徽章宽度自适应的真正原因与最佳实践
Flutter会话列表未读消息徽章宽度自适应问题的解决方案:当徽章被放在ListTile的trailing属性中时,宽度会被父级Column拉伸导致无法自适应内容。本文揭示问题本质是由于Column强制拉伸徽章宽度,并提出优雅解决方案——对于多位数徽章,用Row(mainAxisSize: MainAxisSize.min)包裹Container,使宽度仅由内容和padding决定。最终实现单位数圆形、多位数胶囊形的自适应效果,并保持padding有效。该方案经实践验证,是解决Flutter未读徽章布局问题原创 2025-06-23 18:35:20 · 518 阅读 · 0 评论 -
深入解析 Flutter Bloc 在 AppBar 中的实战应用
本文介绍了Flutter中Bloc状态管理模式的应用实践。通过AppBar示例展示了如何用BlocBuilder和BlocListener分离UI与业务逻辑,分析了二者的使用场景与差异。文章还探讨了Bloc与Provider的协作方式,并总结了性能优化要点(如最小化重建范围、保持状态不可变等)和最佳实践(分层架构、批量更新等)。Bloc模式通过单向数据流使代码更可测、可维护,是构建健壮Flutter应用的有效方案。 (149字)原创 2025-06-23 15:57:05 · 1154 阅读 · 0 评论 -
Flutter ListTile 深度解析
Flutter中的ListTile组件是构建Material Design列表界面的核心元素。该组件提供标准化的布局结构,包含leading(左侧内容)、title(主标题)、subtitle(副标题)和trailing(右侧内容)四个区域,并支持点击事件。ListTile遵循一致性、可读性和可交互性的设计原则,适用于聊天列表、设置页面等多种场景。开发者可以灵活定制样式,包括紧凑模式、背景色、边框形状等属性,并通过onTap和onLongPress实现交互功能。ListTile简化了列表项开发流程,同时确保原创 2025-06-20 23:27:30 · 860 阅读 · 0 评论 -
详细介绍 Provider 框架及其在 Flutter 中的使用方法
Provider是Flutter的状态管理框架,基于InheritedWidget简化状态管理。核心用法包括:1)通过ChangeNotifier创建可观察状态;2)用MultiProvider在应用根节点注册;3)使用Consumer/Selector局部监听状态变化,或通过Provider.of获取状态实例。Provider支持多状态组合和依赖注入,能有效管理应用全局状态,避免不必要的Widget重建。典型流程是先定义数据模型和ChangeNotifier,再在Widget树中通过上下文访问和修改状态。原创 2025-06-20 01:52:07 · 773 阅读 · 0 评论 -
理解 create 指向的箭头函数
本文解析了Flutter中ChangeNotifierProvider的create:参数用法。该参数接收一个匿名函数用于创建状态对象,在Provider首次插入widget tree时调用一次,对象会被缓存复用。关键点包括:匿名函数返回继承ChangeNotifier的状态对象;Provider自动管理生命周期,移出tree时调用dispose();所有操作都在主线程执行。与value:参数的区别在于,create:更适合新建对象并自动管理资源释放。总结来说,ChangeNotifierProvider通原创 2025-06-18 23:23:28 · 717 阅读 · 0 评论 -
ChangeNotifierProvider 本质上也是 Widget
Flutter中ChangeNotifierProvider本质上也是一个Widget,它继承自StatelessWidget并最终实现Widget抽象类,因此可以作为build方法的合法返回值。将其作为根节点可注入全局状态,通过context.watch在子树中访问,实现逻辑与UI的分离。这种设计遵循Flutter"组合Widget"的理念,在不修改UI结构的前提下提供状态管理能力。原创 2025-06-18 23:03:22 · 337 阅读 · 0 评论 -
iOS 开发者眼中的常量构造函数
本文解析了Flutter中const PaddedText({super.key})的语法组成及其作用。该声明使用Dart 2.17+的super.key语法糖自动传递key参数至父类,等效于传统手动转发写法。const构造函数使组件可被编译期实例化优化,{}表示可选命名参数。从Swift视角看,super.key类似自动生成的super.init调用,const则对应SwiftUI的静态视图优化。文中特别指出该语法需要Dart 2.17+支持,并强调key参数对Flutter组件识别的重要性。通过iOS开原创 2025-06-18 19:11:55 · 340 阅读 · 0 评论 -
iOS 开发者的 Flutter 入门课
作为一名 iOS 开发者,入门 Flutter 需要了解一些新的工具和概念,但也能利用你已有的知识和技能。以下是一个详细的入门指南,帮助你快速上手 Flutter原创 2024-07-08 22:04:26 · 1622 阅读 · 0 评论 -
Flutter 是如何实现的 ?
Flutter 是由 Google 开发的一个开源 UI 软件开发工具包,用于构建跨平台的应用程序。Flutter 的核心理念是提供一个高度可定制、快速和现代的 UI 框架,它允许开发者使用一套代码库构建 Android、iOS、Web 和桌面应用程序。原创 2024-07-08 20:25:18 · 1277 阅读 · 0 评论
分享