Effortless property builder for composing maintainable Flutter UI

Text("Property Styling") .asNiku() ..fontSize(24) ..color(


Compose Flutter UI in a more declarative way, easier to maintain, and better developer experience.

Niku helps developer to write less Flutter code, removing "Nested Hell" while maintaining declarative UI at the same time.

Korone's drake format

Easy to maintain

While it's easy to create UI in Flutter, but once the app get complex, it's really hard to maintain.

Niku reduce Nested Hell, transforming them into SwiftUI's modifier like syntax. And gain better developer experience

TextButton( child: Text("Styling Field") onPressed: callback, ).asNiku() ..onPressed(log) ..fontSize(24) ..splash( ..rounded(8);

Reusable style

With Niku, developer can defined style and reuse styling anywhere in the codebase.

Reusable style can also add compose from function like or adding more styling as component need.

final textField = NikuTextField() ..color(; ..prefixIcon( Icon(Icons.edit) ); return NikuTextField(). .apply(textField) ..label("Name");

Complex Styling

Niku provided a lot of pre-defined property to quickly develop Flutter UI.

But you can go beyond that with custom property builder or using custom Widget with Niku.

Niku() ..builder((child) { return CustomCard( child: child, ); ) ..on(pressed: animate) ..animated( controller, (child) => Niku(); );

Predefined Component

Niku covered complex widget and prefined complex styling into simple property for each widget.

Once you're done with unique property builder, Niku also allows developers to composing the parent at the same time.

This helps reduce the process styling even the Widget is nested with multiple parent or have complex styling.







Loved by developers

Inspired by SwiftUI, Tailwind CSS.

An Apple developer or web developer will be very familiar with Niku and already known half of Niku and ready to pick up.

Niku brings the best of both worlds. Packed into familiar API and shipped directly into Flutter while being idiomatic to Dart.

You will be surprised at how easy it is to get started.