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

相关推荐
YF021114 小时前
Flutter 编译卡顿解决方案
android·flutter·ios
IntMainJhy16 小时前
【Flutter for OpenHarmony 】第三方库鸿蒙电商全栈实战:从组件适配到项目完整交付✨
flutter·华为·harmonyos
程序员老刘16 小时前
别慌!GetX只是被误杀,但你的代码可能真的在裸奔
flutter·客户端
IntMainJhy17 小时前
【flutter for open harmony】第三方库Flutter 鸿蒙实战:商品详情页完整实现 + 点击跳转失效问题修复✨
flutter·华为·harmonyos
liulian09161 天前
【Flutter for OpenHarmony第三方库】Flutter for OpenHarmony应用更新检测功能实战指南
flutter·华为·学习方法·harmonyos
IntMainJhy1 天前
【Flutter for OpenHarmony 】第三方库 实战:`cached_network_image` 图片缓存+骨架屏鸿蒙适配全指南✨
flutter·缓存·harmonyos
恋猫de小郭1 天前
Flutter 3.41.7 ,小版本但 iOS 大修复,看完只想说:这是人能写出来的 bug ?
android·前端·flutter
吴声子夜歌1 天前
Vue.js——自定义指令
前端·vue.js·flutter
liulian09162 天前
Flutter 三方库 flutter_local_auth 的鸿蒙化适配指南
flutter·华为·学习方法·harmonyos
qwfy2 天前
瑞幸 UI 上 pub.dev 了 —— 22 个 Flutter 组件,与微信小程序版双端对齐
flutter·开源