An extensible flutter-framework

Related tags

Utilities dart_board
Overview

dart_board

An extensible flutter-framework

Dart Board allows you to break your app into features and then integration cleanly and consistently. It's essentially a feature loader offering no features but the ability to load and integrate features.

Demo Demo above shows multiple integrated features and switching of templates/themes etc. However the features themselves are not dart-board, just the framework that manages and integrates them is.

For more info see:

Core documentation

Example/Integration documentation

or play with the sample at dart-board.io

Why 0.9.x for now

I think the API and basic features are complete for a 1.0 release.

However, until test coverage it won't be marked 1.x. Use at your own risk.

Tests will come soon, or feel free to contribute.

Comments
  • Navigator 2.0 Updates

    Navigator 2.0 Updates

    To support better URL/Deep linking support I'm going to add navigator 2.0 support to dart board

    acceptance: In an app with routes "store", "category" and "item=[value]" /store/category=food/item=123

    Should resolve 3 Pages and be able to work up the route

    1.Routes with data (EqualityNamedRoute) 2. BREAKING! Drop prefix "/" from the route names across sample 3. MaterialApp.router (routerDelegate + routerInformationParser) 4. DartBoardPage class to handle navigator 2.0 routing 5. Example loads a deep route and navigates back correctly 6 . Ability to use your own routerDelegate + routerInformation Parser (personalized state)

    • Integration into Example
    • Standalone routing example (port of books)

    Tracking this in git so I can document status since it's a big upgrade.

    opened by ahammer 7
  • Use modern router that’s has the needed cross platform features all working

    Use modern router that’s has the needed cross platform features all working

    The way the code works now is really great the large projects but it’s missing the modern router features.

    https://github.com/tomgilder/routemaster Has been and continues to prove valuable . Wen and native Orks Uses the standard context Deep links, share, notifications just works . Relies on unilinks

    There are many other navigator 2.0 routers out there also but I liked routemaater because it’s a nice balance between taking over but giving you room to move

    The imperative route builder i think fits the needs of dart board also but let you decide

    opened by gedw99 4
  • Theme doesn't work correctly with template after enabling/disabling a feature.

    Theme doesn't work correctly with template after enabling/disabling a feature.

    Steps:

    1. Launch Playground
    2. Change Theme (toolbar should change primary)
    3. Enable/Disable "Snow Overlay"
    4. Change Theme

    Observe, Theme only changes outside the template.

    opened by ahammer 1
  • Throw Exception when Hitting EmptyDartBoardFeature

    Throw Exception when Hitting EmptyDartBoardFeature

    E.g. Missing Dependency

    (try to use locator without it added to the feature that uses it).

    Give a better error message.

    E.g.

    FeatureXYZ can not be found, have you correctly registered it in your runner or feature?

    opened by ahammer 0
  • Improve Test Coverage/reporting

    Improve Test Coverage/reporting

    Only core is covered 100%, a lot of other modules have stub'd tests.

    Acceptance:

    • Any PR with an increase to coverage.
    • Improvements to the repo (e.g. proper link's and badges in docs)

    There is codecov.io enabled to track coverage number's, they can be seen when opening a PR and can aid in writing test coverage.

    opened by ahammer 0
  • Feature's should auto-disable if their dependencies are disabled.

    Feature's should auto-disable if their dependencies are disabled.

    in DartBoardFeature there is an "enabled" flag, that allows a feature to turn off. E.g. Firebase only works across Android/iOS/MacOS/Web. So I wouldn't want to enable the feature on unsupported platforms.

    Currently the solution would be to set "enabled" to a platform check like

      @override
      bool get enabled => kIsWeb || Platform.isAndroid || Platform.isIOS;
    

    You can also disable features manually by calling setFeatureImplementation(featureName, null)

    As a framework user, I'd like for a disabled feature to automatically propagate across the feature tree.

    E.g. at Feature Linking, prune the tree of implicitly disabled features, whether that be a feature that is explicitly disabled (e.g. with setFeatureImplementation to null, or it's implicitly disabled because of a call to enabled.

    Acceptance:

    • Be able to disable a high level feature (e.g. redux), observe dependent features being removed (e.g. Minesweeper).
    • Be able to disable features via enabled check, e.g. platform check. And propagate that to dependent features. E.g. FirebaseAuth, FirebaseDatabase should disable on Windows/Linux, and features that use them shouldn't be presented (e.g. Chat).
    opened by ahammer 0
Owner
Adam Hammer
Developer
Adam Hammer
Auto is a Flutter automated testing framework developed for testers.

Auto Auto-A simpler Flutter UI automation test solution. No need to write any code Recording test scripts is very simple Mult

null 19 Oct 12, 2022
Mustang: A framework to build Flutter applications

Mustang A framework to build Flutter applications. Following features are available out of the box. State Management Persistence Cache File layout and

null 10 Oct 26, 2022
Rocket is a parsing framework for parsing binary data structures using efficient parsing algorithms

rocket Version 0.1.10 (BETA) Rocket is a parsing framework for parsing binary data structures using efficient parsing algorithms. Breaking change: The

null 5 Dec 5, 2021
FaaS (Function as a service) framework for writing portable Dart functions

Functions Framework for Dart This is a community-supported project, meaning there is no official level of support. The code is not covered by any SLA

Google Cloud Platform 485 Dec 26, 2022
Official CLI for the GetX framework

Official CLI for the GetX framework

Shahanul Haque Shawon 0 Nov 23, 2021
Flutter Version Management: A simple CLI to manage Flutter SDK versions.

fvm Flutter Version Management: A simple cli to manage Flutter SDK versions. FVM helps with the need for a consistent app builds by allowing to refere

Leo Farias 3.2k Jan 8, 2023
A flutter utility to easily create flavors in your flutter application

Flutter Flavorizr A flutter utility to easily create flavors in your flutter application Getting Started Let's start by setting up our environment in

Angelo Cassano 268 Jan 1, 2023
🔥FlutterFire is a set of Flutter plugins that enable Flutter apps to use Firebase services.

FlutterFire is a set of Flutter plugins that enable Flutter apps to use Firebase services. You can follow an example that shows how to use these plugins in the Firebase for Flutter codelab.

null 7.4k Jan 2, 2023
Ecosistema de paquetes para Dart y Flutter desarrollados y mantenidos por la comunidad de Flutter Cuba relacionados con la tienda cubana de aplicaciones para dispositivos Android llamada Apklis.

Ecosistema de paquetes para Dart y Flutter desarrollados y mantenidos por la comunidad de Flutter Cuba relacionados con la tienda cubana de aplicacion

Flutter Cuba 12 Oct 24, 2022
UME is an in-app debug kits platform for Flutter. Produced by Flutter Infra team of ByteDance

flutter_ume English Flutter 应用内调试工具平台 当前版本内置 10 个插件, 开发者可以创建自己的插件,并集成进 UME 平台。 详见本文为 UME 开发插件部分。 flutter_ume 快速接入 特别说明 功能介绍 为 UME 开发插件 版本说明 兼容性 单测覆盖率

Bytedance Inc. 1.8k Dec 30, 2022
An android application built using Flutter that computes the Body Mass Index of person and suggestion to carry ,by taking Inputs (Weight, Height, and Age), Built using Flutter

BMI Calculator ?? Our Goal The objective of this tutorial is to look at how we can customise Flutter Widgets to achieve our own beautiful user interfa

dev_allauddin 7 Nov 2, 2022
The Coolicons icon pack for Flutter with over 400 icons available for your flutter project.

coolicons This flutter package allows you to use the Coolicons icon pack. ?? Installation In the dependencies: section of your pubspec.yaml, add the f

Abada Samuel Oghenero. 35 Oct 22, 2022
An extension to the Flutter SDK for building Flutter applications for Tizen devices.

Flutter for Tizen An extension to the Flutter SDK for building Flutter applications for Tizen devices. Flutter and the related logo are trademarks of

null 356 Dec 16, 2022
Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

Fluro is a Flutter routing library that adds flexible routing options like wildcards, named parameters and clear route definitions.

Luke Pighetti 3.5k Jan 4, 2023
AOP for Flutter(Dart)

AspectD Salute to AspectJ. AspectD is an AOP(aspect oriented programming) framework for dart. Like other traditional aop framework, AspectD provides c

null 1k Jan 7, 2023
Starter project and code generator for Flutter/Redux

Flutter Redux Starter/Code Generator Videos Short video ~ 1 minute Long video ~ 10 minutes We're using this approach to develop the Flutter app for In

Hillel Coren 278 Dec 12, 2022
Environment specific config generator for Dart and Flutter applications during CI/CD builds

Environment Config Generator Environment specific config generator. Allows to specify env configuration during CI/CD build. Primarily created to simpl

Denis Beketsky 86 Dec 2, 2022
Converts SVG icons to OTF font and generates Flutter-compatible class. Provides an API and a CLI tool.

Fontify The Fontify package provides an easy way to convert SVG icons to OpenType font and generate Flutter-compatible class that contains identifiers

Igor Kharakhordin 88 Oct 28, 2022