fstudio 1.0.6 copy "fstudio: ^1.0.6" to clipboard
fstudio: ^1.0.6 copied to clipboard

Flutter framework for any platform.

FStudio #

Flutter Studio

  • Split UI and logic, and provide connection to each other.
  • Easy state management with auto disposal.

Getting started #

Example:

import 'package:fstudio/fstudio.dart';
import 'home-page-logic.dart';

class HomePage extends FPage<HomePageLogic> {
  HomePage({Key? key}) : super(key: key) {
    setLogic(HomePageLogic());
  }

  @override
  Widget buildLayout(BuildContext context) {
    return Scaffold(
      key: logic.scaffoldKey,
      appBar: AppBar(
        title: Text('Home'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text('You have pushed the button this many times:'),
            logic.countPipe.onUpdate((val) => Text(
              '$val',
              style: Theme.of(context).textTheme.headline4,
            )),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: logic.onClickAdd,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}
import 'package:fstudio/fstudio.dart';
import 'home-page.dart';
import 'info-page.dart';

class HomePageLogic extends FPageLogic<HomePage> {
  late FPipe<int> countPipe;

  HomePageLogic() {
    countPipe = FPipe(initValue: 0, disposer: disposer);
  }

  @override
  void initState() {}

  @override
  void onBuildLayout() {}

  @override
  void onLayoutLoaded() {}

  void onClickAdd() async {
    countPipe.update(countPipe.value + 1);
    if (countPipe.value == 3) {
      countPipe.update(0);
      var value = await pageOpen<int>(InfoPage());
    }
  }
}

Contributions #

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a feature, please send a pull request.

1
likes
110
points
62
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter framework for any platform.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

clock, flutter, intl, pointycastle, rxdart

More

Packages that depend on fstudio