getxify 5.0.0 copy "getxify: ^5.0.0" to clipboard
getxify: ^5.0.0 copied to clipboard

An improved and enhanced version of GetX - Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetXify.

GetXify #

GetXify

pub package CI codecov License: MIT style: flutter_lints

GetXify is a modernized, streamlined, and actively maintained fork of GetX — focused purely on high-performance reactive state management, intelligent dependency injection, and route management for Flutter without extra bloat.


What is GetXify? #

GetXify combines three core pillars of Flutter development into a single, cohesive framework:

  1. State Management — High-performance reactive state management (.obs + Obx) and simple state management (GetBuilder).
  2. Dependency Injection — Smart, lifecycle-aware dependency management (Get.put, Get.lazyPut, Get.find, GetxService).
  3. Route Management — Contextless navigation (Get.to, Get.back), named routes, nested outlets (GetRouterOutlet), middleware guards, and deep links.

What's new in v5.0? #

GetXify v5.0 is a complete architectural modernization built for Dart 3 and modern Flutter:

  • Native Routing: Uses standard Dart Uri and Flutter RouterDelegate under the hood. Supports both contextless (Get.to()) and context-aware (context.to()) nested navigation.
  • Native State Management: Powered by Flutter's native ListenableBuilder and ChangeNotifier, completely removing custom memory management loops for peak performance.
  • Element-Bound Dependency Injection: GetDependencyScope intrinsically ties dependencies to the Flutter element tree, guaranteeing deterministic cleanup and zero memory leaks.
  • Unified Reactive Primitives: Built entirely on Dart 3 typedefs (e.g. typedef RxInt = Rx<int>), offering zero-boilerplate syntax (count.obs) with maximum performance.

Installation #

dependencies:
  getxify: ^5.0.0
import 'package:getxify/getxify.dart';

Migrating from GetX #

// Before
import 'package:get/get.dart';

// After
import 'package:getxify/getxify.dart';

That's it — the core API is fully compatible. Also update your pubspec.yaml:

# Before
dependencies:
  get: ...

# After
dependencies:
  getxify: ^5.0.0

📖 For a detailed guide on v5 architectural changes, API modernizations, and code examples, check out MIGRATION_V5.md.


Quick start #

void main() => runApp(GetMaterialApp(home: Home()));

class CounterController extends GetxController {
  var count = 0.obs;
  void increment() => count++;
}

class Home extends StatelessWidget {
  final c = Get.put(CounterController());

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Obx(() => Text('Clicks: ${c.count}'))),
      body: Center(
        child: ElevatedButton(
          onPressed: () => Get.to(OtherPage()),
          child: const Text('Go to Other'),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: c.increment,
        child: const Icon(Icons.add),
      ),
    );
  }
}

class OtherPage extends StatelessWidget {
  final c = Get.find<CounterController>();
  @override
  Widget build(BuildContext context) {
    return Scaffold(body: Center(child: Obx(() => Text('${c.count}'))));
  }
}

Key features #

  • State management — reactive (.obs + Obx) and simple (GetBuilder) state managers
  • Route management — named routes, nested navigation, middleware, transitions, deep links
  • Dependency injection — smart lifecycle-aware DI with Get.put, Get.lazyPut, Get.find, bindings
  • Internationalization.tr translations with CLDR plural support
  • Theme management — light/dark theme switching without rebuilding the tree
  • Platform utilitiesGetPlatform, responsive breakpoints, context extensions

Example app #

A complete, production-ready example app is available in the example/ directory (main.dart), demonstrating:

  • Nested routing with GetRouterOutlet
  • Route guards (EnsureAuthMiddleware, EnsureNotAuthedMiddleware)
  • Named routes with type-safe Routes class
  • Dynamic route parameters & deep linking
  • Context-aware navigation and modal overlays
  • Reactive state management with .obs & Obx
  • GetxService for global state lifecycle
  • Element-bound lazy Bindings
cd example
flutter pub get
flutter run

Contributing #

See CONTRIBUTING.md for setup instructions, coding standards, and the PR workflow.

License #

GetXify is released under the MIT License. See LICENSE for details.
Originally forked from GetX by Jonatas Borges.

8
likes
160
points
278
downloads
screenshot

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

An improved and enhanced version of GetX - Open screens/snackbars/dialogs without context, manage states and inject dependencies easily with GetXify.

Repository (GitHub)
View/report issues
Contributing

Topics

#state-management #dependency-injection #routing #navigation #reactive

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, web

More

Packages that depend on getxify