pheasant
bloc
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pheasant
-
The Pheasant Framework: A Look into Modern Web Development in Dart
I was trying to do some web development in Dart, because I have enjoyed the Dart language as of recent. The package management, interop with JavaScript (even though it's been a bit of a pain) and vast number of libraries has made my experience with the language one to truly enjoy.
However, I noticed that Dart could be used for web development, and I was interested in finding out more. I had two options: create a flutter application and render on the web, or go with AngularDart. Flutter is the main framework most people use and is the first thing that usually comes to mind when people talk about Dart. However, it really hasn't had much focus on the web, and of course this has made it a bit far from the perfect choice for writing web applications that can compete with others. AngularDart is also a very good option, but I haven't really been much of a fan of Angular, and I've usually preferred using a component based framework that brings your JavaScript (or Dart in this case) into your HTML - much like Vue or Svelte.
Then I found a new web framework that recently came out named - Pheasant. It was exactly something like what I was looking for - component-based, feature-rich, and it compiles to Dart Code using the Dart Build System (the build system developed by Dart that AngularDart uses), so there is no virtual DOM. The framework makes it easy to write web applications by using the power and performance of Dart. The component files look much like what you would find in Vue and Svelte, except there are no hidden or extra keywords, meaning that you can write plain dart code and it would render. You could also work with dart files seamlessly, and has first-hand support for Sass and SCSS. One feature I found enjoyable and one that will make me to continuously utilize the framework is its ability to render Markdown Code (makes static site generation easy).
The framework may not be a heavyweight like those in the JavaScript world because of the differences in programming between Dart and JavaScript, but when it comes to web development and being able to utilize the performance of dart, as well as the dart ecosystem, the framework does prove to be a very useful tool in creating quick and simple web applications. The framework even promises to work for both Dart and JavaScript developers by creating their own JavaScript pipeline to reduce dart2js compilation on JavaScript components.
If you want to check out more on the framework, as well as it's source code, you can go to github: https://github.com/pheasantframework/pheasant
bloc
-
Comprehensive set of Flutter resources:
BLoC Library - Learn how to use the BLoC pattern for state management
-
Why shouldn't blocs reference other blocs?
[Copied from https://github.com/felangel/bloc/issues/4002]
-
BloC infinite scrolling example returns duplicates?
I've recently ported my project to BloC and I used the BloC infinite scrolling example as a blue print for fetching data from my FireStore repository.
-
[Research] Your Flutter Stack
Architecture: Repository pattern as described on bloclibrary.dev
-
Surrounded by flutter state managements
Vs Code has this extension, that can generate all boilerplate code that you need, and everything about bloc has been documented right here. Take a day or two, to familiarize yourself with the examples.
-
I'm very proud to announce the first developer preview of solidart 1.0.0 ✨. Check the CHANGELOG. The developer experience improved a lot 🚀
Looks solid, congrats! This is probably a huge ask but, flutter_bloc has this repository of examples covering almost every imaginable use case. Would be really great to have something similar. Check it out > https://github.com/felangel/bloc/tree/master/examples
-
🎉 Introducing MODDDELS: A Powerful Package for Robust, Self-Validated Models in Flutter & Dart
From this issue on the bloc package :
-
What are your thoughts on RxDart and Reactive Programming in flutter in general ?
Check out https://bloclibrary.dev I think they do decoupling the best
-
Self learners, which materials did you use to learn Dart language?
https://bloclibrary.dev taught me a bunch
- Flutter mentor
What are some alternatives?
riverpod - A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
mobx.dart - MobX for the Dart language. Hassle-free, reactive state-management for your Dart and Flutter apps.
get_it - Get It - Simple direct Service Locator that allows to decouple the interface from a concrete implementation and to access the concrete implementation from everywhere in your App. Maintainer: @escamoteur
cubit - Cubit is a lightweight state management solution. It is a subset of the bloc package that does not rely on events and instead uses methods to emit new states.
zustand - 🐻 Bear necessities for state management in React
rxdart - The Reactive Extensions for Dart
MobX - Simple, scalable state management.
routemaster - Easy-to-use Navigator 2.0 router for web, mobile and desktop. URL-based routing, simple navigation of tabs and nested routes.
flutter-quill - Rich text editor for Flutter
FlutterBleLib - Bluetooth Low Energy library for Flutter with support for simulating peripherals
freezed - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
signalr_core - ASP.NET Core SignalR Dart Client