getxify 5.0.0
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 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:
- State Management — High-performance reactive state management (
.obs+Obx) and simple state management (GetBuilder). - Dependency Injection — Smart, lifecycle-aware dependency management (
Get.put,Get.lazyPut,Get.find,GetxService). - 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
Uriand FlutterRouterDelegateunder the hood. Supports both contextless (Get.to()) and context-aware (context.to()) nested navigation. - Native State Management: Powered by Flutter's native
ListenableBuilderandChangeNotifier, completely removing custom memory management loops for peak performance. - Element-Bound Dependency Injection:
GetDependencyScopeintrinsically 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 —
.trtranslations with CLDR plural support - Theme management — light/dark theme switching without rebuilding the tree
- Platform utilities —
GetPlatform, 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
Routesclass - Dynamic route parameters & deep linking
- Context-aware navigation and modal overlays
- Reactive state management with
.obs&Obx GetxServicefor 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.
