- 博客(209)
- 收藏
- 关注
原创 Flutter 项目架构技术指南
探讨Flutter项目代码组织架构的关键方面和建议。了解设计原则SOLID、Clean Architecture,以及架构模式MVC、MVP、MVVM,如何有机结合使用,打造优秀的应用架构。
2024-03-22 23:36:54 1152 1
原创 盘点主流 Flutter 状态管理库2024
学习如何使用Dart中的record类型,这种匿名、不可变的聚合类型将帮助您更高效地管理数据。了解如何定义和使用,以及常见使用场景。
2024-03-19 13:03:34 323
原创 Flutter 应用程序性能优化建议
Flutter应用程序默认已经具有良好的性能,因此您只需要避免常见的陷阱,就可以获得出色的性能。您设计和实现应用程序的用户界面的方式可能会对其运行效率产生重大影响。
2024-03-08 15:07:44 1168
原创 我用 Flutter Gemini 写了一个水贴 APP
本文通过 Flutter 插件 google_generative_ai 快速的集成了 google ai gemini 来实现一个水贴的工具。
2024-02-28 23:40:57 1046 1
原创 Flutter NestedScrollView 内嵌视图滚动行为一致
上一节讲了 CustomScrollView ,可以发现有的地方滚动并不是很连贯。这时候就需要 NestedScrollView 来处理了。今天会写一个如下图的例子来实现滚动一致。
2024-02-22 20:51:50 945
原创 flutter sliver 多种滚动组合开发指南
有不少同学工作中遇到需要把几个不同滚动行为组件(顶部 appBar、内容固定块、tabBar 切换、tabBarView视图、自适应高度、横向滚动)黏贴成一个组件。这时候就需要 sliver 出场了,本文将会写一个多种滚动的组合。
2024-02-22 20:48:15 1383
原创 Flutter插件开发指南01: 通道Channel的编写与实现
本文将会通过一个加法计算,来实现 Channel 的双向通讯,让大家有个一个体会。
2024-02-22 20:46:09 718
原创 Flutter插件开发指南02: 事件订阅 EventChannel
需要注意的是,FlutterEventChannel 中使用的 Stream 对象是异步的,因此在监听来自原生平台的事件时需要使用异步编程的技术。另外,在使用 FlutterEventChannel 时,Flutter 应用程序和原生平台之间需要约定好通道名称和事件数据格式,以便能够正确地交互和处理数据。原生平台调用 EventChannel 的 setStreamHandler 方法,以设置一个 StreamHandler 对象,以便接收来自 Flutter 应用程序的事件并向其发送原生事件。
2024-02-20 10:24:03 1048
原创 Flutter 状态组件 InheritedWidget
今天会讲下 inheritedWidget 组件,InheritedWidget 是 Flutter 中非常重要和强大的一种 Widget,它可以使 Widget 树中的祖先 Widget 共享数据给它们的后代 Widget,从而简化了状态管理和数据传递的复杂性,提高了代码的可读性、可维护性和性能。在 Flutter 中,InheritedWidget 是一种特殊的 Widget,它允许 Widget 树中的祖先 Widget 共享数据给它们的后代 Widget,而无需通过回调或参数传递数据。
2023-07-26 00:05:27 772
原创 Flutter 最佳实践和编码准则
例如,在 Dart 中,下面的代码演示了如何使用箭头语法定义一个 lambda 函数:在可以使用 tear-off 的情况下,避免不必要地创建 lambda 函数。通过遵循这些准则,您可以编写更清晰、更易维护的代码,优化应用性能,并避免常见的陷阱。输出的信息可能难以区分:在 Flutter 应用程序中,输出的信息可能会与应用程序本身的输出混杂在一起,这可能会导致输出的信息难以区分。输出的信息可能会影响应用程序性能:在某些情况下,输出的信息可能会大量占用应用程序的资源,影响应用程序的性能。
2023-07-26 00:01:51 1306
原创 Flutter Widget Life Cycle 组件生命周期
了解小部件的生命周期非常重要,这样你就可以编写高效且节省内存的代码。无状态组件比较简单就是一个 build 函数,每次外部新状态压入,进行调用。当您的小部件不再需要时,请处理掉它们使用的任何资源。在构建小部件的第一次调用initState()之后,也可以立即调用它。尽可能使用无状态小部件。无状态小部件比有状态小部件更高效和节省内存。今天会把无状态、有状态组件的几个生命周期函数一起过下。请在评论中让我知道。只有在需要更新小部件的状态时才使用有状态小部件。当小部件暂时从小部件树中移除时,将调用此方法。
2023-07-25 23:58:09 946
原创 flutter 中实现动态表单 form generator
动态表单是一种可以根据配置数据动态生成的表单,它的作用是允许用户在运行时根据不同的需求动态地创建和修改表单内容。动态表单可以为这些应用程序提供灵活的订单和支付表单,允许用户根据需要动态添加、编辑和删除字段。动态表单可以为这些企业提供灵活的审批表单,允许用户根据需要动态添加和编辑审批字段、审批流程和其他信息。它可以允许用户根据需要动态添加和编辑问题、选项和其他信息,从而创建一个灵活的问卷和调查表单。总之,动态表单可以在许多业务场景中使用,它可以为应用程序提供灵活的数据输入和管理方案,从而满足用户不同的需求。
2023-07-03 18:38:21 709
原创 如何在 macOS 上同时使用 Flutter2 和 Flutter3 进行 ios 开发
这套配置运行最新的项目没问题,但是最近需要维护 flutter 2.10.5 这种老项目,虽然用了 fvm 进行 flutter 版本切换,但是 flutter 2.10.5 用的 ruby 2 ,我当前是 ruby 3 所以运行 pod install 的时候就报错了。RVM(Ruby Version Manager)是一个用于管理 Ruby 版本的工具,它可以让您在同一台机器上安装和使用多个 Ruby 版本,并且可以为每个 Ruby 版本提供独立的 gem 环境。请在评论中让我知道。
2023-07-03 18:37:34 840
原创 Flutter 检查连接网络 connectivity_plus
是一个 Flutter 插件,用于检测设备的网络连接状态。支持多种平台,包括 Android、iOS、macOS 和 Windows,可以轻松地在不同平台上进行开发和测试。让应用程序可以根据设备的网络连接状态来调整其行为,例如根据网络状况选择合适的数据加载方式、调整 UI 布局等。插件是一个非常有用和重要的工具,可以帮助开发者编写更智能、更适应用户需求的应用程序。提供了一种简单、可靠的方法来检测设备的网络连接状态,方便开发者编写更智能的应用程序。有些对通讯敏感的程序,我们需要检查当前连接的网络情况。
2023-06-26 21:21:01 1275
原创 Flutter Ping 检查服务器通讯信号强度
Ping 是一种常用的网络工具,用于测试网络设备之间的连通性和延迟。总之,Ping 工具是一种简单而有效的网络工具,可以帮助用户测试网络连通性和性能,及时发现和解决网络问题。延迟:通常使用 Ping 工具的平均延迟来判断网络连接的延迟状况,如果延迟较高,可能会影响网络应用程序的性能。丢包率:如果 Ping 工具返回的丢包率较高,可能意味着网络连接不稳定,可能会影响网络应用程序的可靠性。带宽:如果 Ping 工具返回的延迟比较高,可能意味着网络瓶颈,可能会影响网络应用程序的带宽和性能。请在评论中让我知道。
2023-06-26 21:07:02 682
原创 flutter 主题色彩管理组件 flex_color_scheme
flex_color_scheme 是一个快速的样式设置工具,还修复了 flutter sdk 中的一些组件颜色不到位的缺陷,赶快用上吧。原文 https://ducafecat.com/blog/flutter-flex-color-scheme。FlexThemeData.light 返回的还是 ThemeData ,所以你可以加入自己的内容。今天将会介绍一个快速调整主题色彩样式的三方组件 flex_color_scheme。flutter 主题色彩管理组件 flex_color_scheme。
2023-06-20 20:29:19 1177 1
原创 flutter getx nested navigation 嵌套路由
在嵌套Navigator中使用不同的路由表来管理页面导航,除了用在我刚才说的购物消费向导外,还能用在有些管理后台,比如一侧菜单固定,只刷新内容区域。准备好 main、step1、step2、step3 4个界面。通过 Get.toNamed 的 id 属性执行嵌套路由。请在评论中让我知道。第三步:onGenerateRoute 解析路由。方法的 id 属性决定去哪个嵌套导航位置。嵌套路由可以用在如购物确认向导界面切换。第三步:Get.toName 界面切换。指定需要嵌套路由的位置标记。决定去哪个视图界面。
2023-06-20 20:10:32 1195
原创 处理错误 Xcode 编译找不到文件 libarclite_iphonesimulator.a
还有一个办法直接修改 IPHONEOS_DEPLOYMENT_TARGET 编译目标为 ios 11,就好了。libarclite_iphonesimulator.a 这个文件是 ARC 自动释放内存的功能。钩子,而 CocoaPods 不支持这种做法。要解决这个问题,您需要将多个。引起的问题是你的项目很新,但是编译目标太老,然后呢,没有这个文件。这个错误意味着您在 Podfile 文件中指定了多个。手动修改每个依赖包的部署最小版本为 ios 11.0。你需要把这个文件复制到 .../arc/ 目录下。
2023-06-20 20:05:15 1536
原创 Flutter Overlay 你用上了么
在示例中,OverlayEntry包含一个带有文本和颜色的容器,可以在屏幕上显示。如果你想在你的Flutter项目中实现工作覆盖层,本文是一个很好的起点。Overlay 通过将独立的子窗口小部件插入到重叠的堆栈中,使它们在其他窗口小部件之上“浮动”可视元素。Flutter中的Overlay是一个用于在屏幕上显示浮层的组件。Flutter中的Overlay可以让开发者轻松创建复杂的UI,同时还可以保持应用程序的性能和响应度。builder:此属性用于此条目,并将在条目位置的覆盖中包含此构建器构建的小部件。
2023-05-22 13:37:01 1624
原创 [译] Dart 3 发布了
在过去的一年里,我们与 Wasm 生态系统中的几个团队合作,为 WebAssembly 标准添加了一个新的 WasmGC 功能。其次,我们为记录、模式和类修饰符添加了重大的新语言特性。第三,我们预览了未来,通过 Wasm 编译,我们将扩大我们的平台支持,为 web 提供本地代码支持。您还可以将它们存储在变量中,将它们放入列表中,在映射中使用它们作为键,或创建包含其他记录的记录。凭借所有这些功能,我们认为 Dart 3 展示了我们的长期愿景:建立最具生产力的编程语言,用于在任何平台上构建快速应用程序。
2023-05-12 17:49:47 748
原创 [译] Flutter 3.10 的新功能
我们鼓励您开始探索这个最新的 Flutter 稳定版本,以利用它所提供的所有惊人的功能。在 3.7 稳定版中,我们将本地图像的加载从平台线程移动到 Dart 线程,以避免延迟平台线程的 vsync 事件。在将来的版本中,我们将移除 iOS 的遗留 Skia 渲染器,以减小 Flutter 的大小。在我们的本地测试和自动化基准测试中,此更改将几个同时加载的图像的加载时间缩短了一半。在本文的其他地方查看该功能的描述。
2023-05-12 17:19:41 1326
原创 Flutter GetX Tag 属性使用详解
在Flutter中使用GetX的标签(Tag)功能可以区分不同的控制器实例、保存控制器状态和避免控制器重复创建。在本文中,猫哥介绍了如何正确使用GetX的标签功能,以及如何在Flutter GetX中使用tag属性来标识控制器实例。在一个 Flutter GetX 应用程序中,可能会存在多个相同类型的控制器实例,例如多个页面使用相同的数据控制器。属性可以为控制器实例分配唯一的标识,以便在应用程序生命周期中保存控制器的状态。属性可以为不同的控制器实例分配不同的标识,以便在不同的页面中使用不同的控制器实例。
2023-05-12 17:06:07 863
原创 Flutter 中使用 Widgetbook 管理你的组件
总之,Flutter Widgetbook 是一个有用的工具,可以帮助前端开发人员更轻松地构建和测试 Flutter 组件,从而提高开发效率、保持代码质量和可维护性,并促进跨团队协作和知识共享,最终提高用户体验和用户满意度。保持代码一致性:Flutter Widgetbook 可以作为一个组件库来使用,定义前端组件的设计和开发规则,从而保持代码的一致性、可维护性、可扩展性和可重用性。组件规范:定义前端组件的设计和开发规则,包括组件的命名、结构、样式、交互、状态管理等。
2023-05-05 20:11:04 518 1
原创 Flutter 中使用 OpenAI GPT-3 进行语义化处理
Flutter 中使用 OpenAI GPT-3 进行语义化处理视频https://www.bilibili.com/video/BV1AA411X7o3/前言最近 openai 的 ChatGPT 火了,然后我也想着用它来做点什么,于是就写了个 调用 openai api 语言执行工具,跑个测试,以后再有功能也可以在这个程序上面试验。copilot 也是用的 openai codexhttps://github.com/features/copilot/我估计会在语义识别、关键字处理、AI
2022-12-22 23:57:19 1072
原创 Flutter 中使用 OpenAI GPT-3 进行语义化处理
Flutter 中使用 OpenAI GPT-3 进行语义化处理前言最近 openai 的 ChatGPT 火了,然后我也想着用它来做点什么,于是就写了个 调用 openai api 语言执行工具,跑个测试,以后再有功能也可以在这个程序上面试验。copilot 也是用的 openai codexhttps://github.com/features/copilot/我估计会在语义识别、关键字处理、AI 会话方面看看能用到生产么。OpenAIhttps://zh.m.wikipedia.or
2022-12-10 09:45:26 1034 1
原创 Flutter ー Authentication 认证
Flutter ー Authentication 认证原文 https://medium.com/@simbu/flutter-authentication-adb8df7cf673前言如果我相信我知道你是谁那我就能让你查看你的个人 应用 application 资料。身份验证可能是应用程序必须处理的最大的交叉问题。将它作为一个特性添加到 DigestablePrologue 允许我们多次抽象和重用它,并通过更新一组代码来减少维护。正文业务需求让我们从一个高层次的、故意模糊的业务需求开
2022-12-03 22:57:24 1587 6
原创 Flutter ーー logger 组件记录日志
Flutter ーー logger 组件记录日志原文 https://medium.com/@simbu/flutter-logging-with-logger-6227308ca199前言是时候添加一些日志记录了,我希望能够检查发生的网络请求和关键操作,在应用程序和后端之间的交互变得越来越复杂的情况下,给出一些反馈和验证。我使用 pub.dev 上的流行程度来选择 logger 包。https://pub.dev/packages/loggerPopular logging packag
2022-12-02 15:01:59 1603
原创 Flutter 上传文件和保存在应用程序存储目录
Flutter 上传文件和保存在应用程序存储目录原文 https://genotechies.medium.com/flutter-upload-file-and-save-in-application-storage-directory-4f1380b94e8a前言图片: Flutter 上传文件和保存在应用程序存储目录我写这些文章是为了与你分享我的知识。Flutter 是软件开发中最突出和最新兴的技术,Google 通过添加重要的特性来维护 Flutter。版本经常更新。因此,Flu
2022-12-01 22:44:29 1497
原创 Flutter 离线数据方案 Flutter_Data 包
Flutter 离线数据方案 Flutter_Data 包原文 https://levelup.gitconnected.com/flutter-offline-first-with-flutter-data-62bad61097be前言通过离线优先来改善您的用户体验Flutter Data 是一个让你的应用程序先离线的软件包。离线时,它在设备上使用 Hive 存储,当到 API 的连接可用时,更改将自动同步。在本文中,我们将添加 flutter_data 包并将其连接起来,以便在应用程
2022-11-30 10:53:35 1779
原创 Flutter 应用程序更新
Flutter 应用程序更新原文 https://medium.com/flutter-community/in-app-update-the-flutter-way-2f25e4a02c02前言当您推出应用程序的新版本时,您希望您的用户了解它。无论是因为您修复了一个关键的 bug,添加了一个新特性,还是仅仅因为应用程序运行得更平滑或更快。作为应用程序开发人员,我们希望所有用户都使用应用程序的最新版本。但是我们如何确保用户知道我们的应用程序的新版本呢?这个问题的答案很简单: 为什么不在我
2022-11-30 10:53:04 2727
原创 使用 Mason 创建自己的 Flutter brick
使用 Mason 创建自己的 Flutter brick原文 https://medium.com/gytworkz/create-your-own-flutter-brick-using-mason-7abc70d0324e前言谁不喜欢用最少的努力完成大部分事情呢?我当然知道! !Mason 帮我完成了几个简单的步骤。在本文中,我们将看到如何创建一个冻结兼容的功能块与适当的文件夹结构。我们开始吧! ! !正文Introduction 简介Mason packageMason 包裹
2022-11-30 00:05:44 488
原创 基于 Hive 的 Flutter 文档类型存储
基于 Hive 的 Flutter 文档类型存储原文 https://medium.com/gytworkz/document-type-storage-in-flutter-using-hive-a18ea9659d84前言长久以来,我们一直使用共享首选项以键对格式在本地存储中存储数据,或者使用 SQLite 在 SQL 数据库中存储数据。存储本地数据的另一种方法是将其存储为文档格式,类似于使用 Hive 包的 Firebase 云存储。https://pub.dev/packages/
2022-11-30 00:04:57 1307
原创 Flutter 创建自己的对话框,不使用任何包!
创建自己的对话框,不使用任何包!原文 https://itnext.io/create-your-own-dialog-without-using-any-packages-7bb303f62471前言在本文中,我们将学习如何创建我们自己的 showDialog() 函数,并了解到底发生了什么。正文先看效果让我们首先检查 showDialog,看看它里面有什么!正如您所看到的,showDialog ()所做的就是获取小部件并将其作为 DialogRoute 使用 Navigator
2022-11-28 15:40:10 788
原创 Flutter 5 大本地数据库解决方案
Flutter 5 大本地数据库解决方案原文 https://levelup.gitconnected.com/top-5-local-database-solutions-for-flutter-development-6351cd494070前言这里列出了最流行的数据库解决方案以及代码示例。选择正确的数据管理系统对于提高效率和可 extension 性以及影响可用性和用户体验至关重要。尽管 flutter 仍然处于早期阶段,但是有很多数据管理解决方案可供选择,其中一些已经可以投入生产。我
2022-11-27 22:42:56 2701
原创 Flutter 单元测试例子
Flutter 单元测试例子原文 https://medium.com/app-dev-community/flutter-unit-testing-with-simple-examples-9c07499e4079前言执行单元测试来验证软件的每个组件。因此,我们需要尽可能多地测试每个单独的微 widget 。这些都是由开发人员在开发阶段完成的。单元测试有助于在 QA 进行测试之前验证和验证所有的功能。此外,它还是一种白盒测试方法,用于探索代码中的缺陷。让我们用 Flutter 实现单元测试,
2022-11-27 09:34:26 436
原创 Elon Musk 与开发者分享他的第一份代码评审
Elon Musk 比以往任何时候都更致力于 Twitter 2.0 的成功,与开发者分享他的第一份代码评审。原文 https://ssaurel.medium.com/more-committed-than-ever-to-making-twitter-2-0-succeed-elon-musk-shares-his-first-code-review-a565e8df5e2f前言Elon Musk 也是技术出身,怎么会不懂,看来他很懂如何控制成本和创新。还有哪位首席执行官能在周六上午 1:
2022-11-27 09:31:41 299
原创 介绍 10 个有用的 Flutter 软件包
介绍 10 个有用的 Flutter 软件包原文 https://genotechies.medium.com/introducing-10-useful-flutter-packages-1252c4b75fa7前言FLutter 软件包使您的开发简单快速。然而,有利有弊。有时候,如果从头开始开发这个特性将是有益的,因为可定制的软件包较少。此外,我们还可以看到许多流行的软件包,它们总是为这个特定功能提供选择。在这里,我讨论每个基本细节的十个包。然后你就可以决定是否使用它们。我们去找他们每一个人
2022-11-27 09:30:44 687
原创 Flutter splash 屏幕
Flutter splash 屏幕原文 https://medium.com/@bedirhanssaglam/flutter-splash-screen-a8cafec52c8e前言启动画面通常被特别大的应用程序用来通知用户程序正在加载过程中。它们提供的反馈表明,一个漫长的过程正在进行中。有时,启动画面中的进度条会指示加载进度。当应用程序的主窗口出现时,启动画面就会消失。启动画面可以添加一段时间,然后重新替换。正文启动画面通常用于增强应用程序或网站的外观和感觉,因此它们通常在视觉上很
2022-11-25 23:51:34 749 1
原创 Flutter 中使用 extension 使项目更具可读性和效率 01
Flutter 中使用 extension 使项目更具可读性和效率 01原文 https://medium.com/@bedirhanssaglam/make-your-flutter-projects-more-readable-and-effective-with-extensions-b7dffd32e2f4前言代码的可读性和实用性在《 Flutter 》中非常重要。今天我们将编写一些 extension 并查看它们的用法。正文1. 图像文件的 extension 名我们都将图
2022-11-25 23:51:01 522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人