Flutter GetX 4.7.2 发布:被严重低估的强大框架

Flutter GetX 4.7.2 发布:被严重低估的强大框架

视频

youtu.be/BAgTUSbVHlI

www.bilibili.com/video/BV1oH...

前言

原文 GetX 框架:简洁、高效的 Flutter 开发工具

先说结论:感谢 GetX 让我节省了很多代码时间,这是一款被严重低估的 Flutter 组件,被认为设计的过于简单、没有深度、无人维护啥啥的。

很多开发者在讨论 GetX 是否已经放弃维护,但实际上并非如此。GetX 目前正集中精力开发 5.0 版本,同时也在维护 4.x 版本,最新更新已达到 4.7.2。社区内一些人常常拿其他状态管理库来与 GetX 对比,然而作为一个使用过 Bloc、Provider 和 Riverpod 的开发者,我认为 GetX 完全不逊色于它们,而且使用起来非常简单。

值得强调的是,GetX 本身是一个工具库,涵盖了状态管理、依赖注入、导航、扩展、HTTP 通信、多语言、对话框和防抖等多种功能。这些特性使得 GetX 在开发中非常高效和便捷。

参考

GetX 优点

社区热度 Github Star 10.6K

bloc 12k , riverpod 6.5k

所以说 getx 社区认可度还是可以的

github.com/jonataslaw/...

github.com/jonataslaw/...

非常多的人参与到这个项目中。

GetBuilder 手动触发方式性能更好

试图 view

dart 复制代码
  // 滚动图
  Widget _buildBanner(BuildContext context) {
    return GetBuilder<ProductDetailsController>(
        id: "product_banner",
        tag: tag,
        builder: (_) {
          return CarouselWidget(
            // 打开大图预览
            onTap: controller.onGalleryTap,
            // 图片列表
            items: controller.bannerItems,
            // 当前索引
            currentIndex: controller.bannerCurrentIndex,
            // 切换回调
            onPageChanged: controller.onChangeBanner,
            // 高度
            height: 190.w,
            // 指示器圆点
            indicatorCircle: false,
            // 指示器位置
            indicatorAlignment: MainAxisAlignment.start,
            // 指示器颜色
            indicatorColor: context.colors.scheme.secondary,
          );
        }).backgroundColor(context.colors.scheme.surface);
  }

控制器 触发更新

dart 复制代码
  // Banner 切换事件
  void onChangeBanner(int index, reason) {
    bannerCurrentIndex = index;
    update(["product_banner"]); // 手动刷新 Banner
  }

全自动依赖管理视图、控制器创建释放

防止 StatefulWidgets 滥用

采用 GetBuilder + StatelessWidget 的方案非常干净。

dart 复制代码
class ApplyPromoCodePage extends StatelessWidget {
  const ApplyPromoCodePage({
    super.key,
    required this.onApplyCouponCode,
  });

  // 主视图
  Widget _buildView(BuildContext context) {
    return ...
  }

  @override
  Widget build(BuildContext context) {
    return GetBuilder<ApplyPromoCodeController>(
      init: ApplyPromoCodeController(),
      id: "apply_promo_code",
      builder: (_) {
        return _buildView(context);
      },
    );
  }
}

轻松多语言

同构 tr 扩展来调用

dart 复制代码
TextWidget.h4(LocaleKeys.orderConfirmationTitle.tr).paddingBottom(10.w),

丰富工具库

  • 依赖管理
    • Get.put
    • Get.find
  • 路由操作
  • HTTP 通讯
    • GetConnect
  • 对话框
    • Get.dialog
    • Get.snackbar
  • 响应式
    • Rx
    • Obx()
  • 多语言
  • 防抖和节流
    • Debounce
    • Throttle
  • 路由中间件
  • 服务Service
  • GetX 扩展
    • 颜色
    • 文本
    • 图标
    • 边距

上手简单,配合猫哥插件更省心

marketplace.visualstudio.com/items?itemN...

perl 复制代码
根据 x3 图片自动生成 x1 x2 图片
生成 图片 svg 常量列表 files.txt
生成规范目录 common
生成 GetBuilder + GetView 的代码
生成 StatefulWidget + GetBuilder + GetView 的代码
生成 controller、view、widgets、bindings、state、index 完整的代码
生成 路由声明定义文件

代码

github.com/jonataslaw/...

小结

本文深入探讨了 Flutter GetX 3.7.2 的特点与优势,特别是它在自动依赖管理、简洁语法以及多种开发工具方面的表现。作为一个被严重低估的框架,GetX 为 Flutter 开发者提供了高效的解决方案,帮助他们快速构建功能丰富的应用程序。希望本文能够帮助更多开发者了解并应用 GetX 框架,提升开发效率。

感谢阅读本文

如果有什么建议,请在评论中让我知道。我很乐意改进。


© 猫哥 ducafecat.com

end

相关推荐
ZZZMMM.zip21 小时前
基于鸿蒙HarmonyOS NEXT开发AI英语口语应用:智能口语练习新体验与鸿蒙Flutter框架跨端实
人工智能·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
心中有国也有家21 小时前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸球动画
学习·flutter·华为·harmonyos
心中有国也有家1 天前
AtomGit Flutter 鸿蒙客户端:呼吸练习的三种科学模式
学习·flutter·华为·harmonyos
yuanlaile1 天前
前端转 Flutter 自学完整规划,避开跨栈思维转换误区
前端·flutter·flutter跨平台开发
姑苏倾城客1 天前
Flutter中,html 与 dart 桥接沟通
javascript·flutter·html
ZZZMMM.zip1 天前
基于鸿蒙HarmonyOS NEXT开发AI书籍推荐应用:智能阅读新体验与鸿蒙Flutter框架跨端实践
人工智能·flutter·华为·harmonyos·鸿蒙
铅笔侠_小龙虾1 天前
DSL-Flutter : 告别嵌套地狱,用缩进书写 Flutter!
flutter
ZZZMMM.zip2 天前
基于鸿蒙HarmonyOS NEXT开发AI股票分析应用:智能投资新体验与鸿蒙Flutter框架跨端实践
人工智能·flutter·华为·harmonyos·鸿蒙