freezed
language
Our great sponsors
freezed | language | |
---|---|---|
43 | 146 | |
1,810 | 2,554 | |
- | 1.8% | |
9.0 | 8.9 | |
5 days ago | 2 days ago | |
Dart | TeX | |
MIT License | GNU General Public License v3.0 or later |
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.
freezed
-
Dart 3.3
There is the `sealed` class modifier which allows for exhaustive matching on possible types: https://dart.dev/language/class-modifiers#sealed
There's also a package called freezed which offers similar utility (you might already be familiar with this seeing as you mentioned pattern matching): https://pub.dev/packages/freezed
I recall there being a reason unions aren't generally implemented, though I'm not sure where I read it. It was to do with union types being unnecessarily complex for the compiler and the code they tend to produce, at no real benefit to the programmer or the resulting program. Go's lack of unions is essentially based around the same reasoning.
-
Fluvera is a Flutter SDUI package designed to simplify the process of building user interfaces (UIs) based on JSON server responses.
Interesting. May I ask how this differs from something like Freezed https://pub.dev/packages/freezed and its from/ToJson features ? I haven't used it yet, but I'm just curious about the concept and use of these sort of packages.
-
Dart 3.0: Best New Features & Why You Should Care
The official site does show what you can use it for but to explain a bit more, it helps you work faster.
-
🎉 Introducing MODDDELS: A Powerful Package for Robust, Self-Validated Models in Flutter & Dart
One rather minor suggestion: it took me a while to understand exactly what the benefits were, but the example shown on this page of the docs summarized it well. I would suggest showing an example like that at the top of the main Readme and first page of the site, before or right after the motivation section, similar to how Freezed immediately shows its value proposition.
-
Maximizing Your Flutter App's Performance with (Async)NotifierProvider, Freezed & Riverpod Code Generators
Read more on what you can do with Freezed.
-
Class Constructor Plugins- Are there any?
freezed on pub.dev
-
Firestore partial doc updates and type safety
We use freezed for our models, and then use withConverter in the firestore SDK to easily translate between firestore and our models... however we run into issues with concurrent updates to documents.
-
🚀 Building a Fullstack App with dart_frog and Flutter in a Monorepo - Part 2
Once the package has been created, we will install freezed for JSON serialization and value equality , as this library provides helpful tools for these tasks. We will use json_serializable for JSON serialization. To install freezed and freezed_annotation, open your terminal inside the models package and use the command:
-
Flutter Production Boilerplate and tutorials on Medium
Data class: freezed
-
Is 'Freezed' code generator worth the boilerplate?
I've recently been exploring a codebase which is heavily using Freezed with Bloc. The resulting code base is almost an entirely different language altogether, and comes with almost triple the files of a non-freezed codebase.
language
- Why do we have to put the const keyword in Flutter?
-
Playing around with Extension Types
I noticed that I can enable inline-class as an experiment to play with Extension Types. You need to also add sdk: ^3.3.0-0 to your pubspec.yaml.
- Entendendo Algoritmos: Recursão
-
Dart 3.1 and a retrospective on functional style programming in Dart
Current syntax is not all that bad if you are going to do OO and add various helper methods on `Message` and its subclasses, but if you just want to define your data and no behavior / helpers - then it is exceedingly verbose.
[1]: https://github.com/dart-lang/language/issues/3021
-
Macro example for Flutter widgets
Reference
-
HTML template languages?
A future version of Dart will probably support macros which should make this all a bit easier to use, similar to how Swift 5.9 works which makes already fantastic use of its new macro capabilities by integrating mobx (or solidjs) like reactivity into SwiftUI by a harmlessly looking @Obervable annotation.
-
What’s New in Swift 5.9?
Coming from a Dart context here where that team is also looking at adding Macros to the language. It was really interesting to compare and contrast some of the approaches https://github.com/dart-lang/language/blob/main/working/macr...
-
Build clean & concise UI components with Flutter similar to styled-components in React Native
Yes, that needs a bit of boilerplate for the constructor declaration and the extra build method, but I personally don't mind and with implicit constructors this will become much easier. Also, you get a performant UI as Flutter knows to not redraw widgets that didn't change.
-
A Guide to State Management in Flutter | Mobile App Development
I know that it would be nice not to use the generator at all, but we have to wait until static metaprogramming is implemented in dart. https://github.com/dart-lang/language/issues/1482
-
Why is Swift so slow (timeout) in compiling this code?
I implemented a prototype version of the algorithm in that paper when exploring exhaustiveness checking for pattern matching in Dart.
I found it pretty easy to understand, but also really easy to get it to generate huge combinatorially large spaces. Some careful memoization and deduplication helped, but even so I never got the performance to a state I considered acceptable.
Instead, I went with Luc Maranget's classic approach and figured out a way to adapt it to a language with subtyping (with a ton of work from Johnni Winther to figure out all of the hard complex cases around generics):
https://github.com/dart-lang/language/blob/main/accepted/fut...
The performance (in the prototype!) was dramatically better. You can always make pattern matching go combinatorial, but I haven't seen any real-world switches get particularly slow with our approach yet, and we have some fairly large tests of matching on tuples of enums.
What are some alternatives?
json_serializable.dart - Generates utilities to aid in serializing to/from JSON.
sdk - The Dart SDK, including the VM, dart2js, core libraries, and more.
bloc - A predictable state management library that helps implement the BLoC design pattern
quicktype - Generate types and converters from JSON, Schema, and GraphQL
flutter_gen - The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
gallery - Flutter Gallery was a resource to help developers evaluate and use Flutter
flutter-fake-data-factory-pattern
conduit - Dart HTTP server framework for building REST APIs. Includes PostgreSQL ORM and OAuth2 provider.
dart-petitparser - Dynamic parser combinators in Dart.
ClojureDart - Clojure dialect for Flutter and Dart