Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.10.1

dartz

Funktionale Programmierung in Dart. Reinigen Sie Ihren Dart-Code mit effizienten, unveränderlichen Datensstrukturen, Monaden, Linsen und anderen FP-Werkzeugen.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
583.000
Likes
1560
Pub-Punkte
130

Paket installieren

flutter pub add dartz

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Dartz ist eine Dart-Bibliothek, die funktionale Programmierkonzepte in Dart bringt und Entwicklern ermöglicht, sauberen, vorhersehbaren Code zu schreiben. Sie bietet immutable Datenstrukturen, Monaden wie Either und Option sowie Werkzeuge wie Linsen für sichere Datenumwandlung. Durch Förderung von Reinheit und Vermeidung von Seiteneffekten hilft Dartz, Fehler und optionale Werte auf typensichere Weise zu verwalten. Ideal für die Erstellung robuster, wartbarer Anwendungen mit klarer Fehlerbehandlung und Zustandsverwaltung.

Anwendungsfälle

  • Fehlerbehandlung mit Either
  • Verwaltung optionaler Werte mit Option
  • Reine Funktionen erstellen
  • Komponierbare Geschäftslogik erstellen
  • Funktionsbasierte Zustandsverwaltung implementieren
  • Testbaren und wartbaren Code schreiben

Hauptmerkmale

  • Unveränderliche Datenstrukturen
  • Either-Monade für Fehlerbehandlung
  • Option-Typ für nullable Werte
  • Linsen für funktionale Updates
  • Typsichere Zusammensetzung
  • Leichtgewichtig und leistungsstark

Geeignet für

  • Entwickler, die funktionale Programmierung in Dart suchen
  • Teams, die reinen und testbaren Code anstreben
  • Anwendungen, die eine robuste Fehlerbehandlung erfordern
  • Projekte, die sich auf saubere Architektur konzentrieren
  • Frontend- und Backend-Dart-Anwendungen

Hinweise

  • Erfordert Verständnis funktionaler Programmierkonzepte
  • Kann die Lernkurve für Anfänger erhöhen
  • Nicht geeignet für einfache Skripte oder schnelle Prototypen
  • Am besten in größeren, strukturierten Anwendungen verwendet
  • Die Integration mit nicht-funktionalen Code kann Anpassungen erfordern

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

dartz

License Pub.dev Github Stars

Functional programming in Dart

  • Type class hierarchy in the spirit of cats, scalaz and the standard Haskell libraries
  • Immutable, persistent collections, including IVector, IList, IMap, IHashMap, ISet and AVLTree
  • Option, Either, State, Tuple, Free, Lens and other tools for programming in a functional style
  • Evaluation, a Reader+Writer+State+Either+Future swiss army knife monad
  • Type class instances (Monoids, Traversable Functors, Monads and so on) for included types, as well as for several standard Dart types
  • Conveyor, an implementation of pure functional streaming
  • Examples, showcasing core concepts
New to functional programming?

A good place to start learning is the excellent Functional Programming in Scala by Paul Chiusano and Rúnar Bjarnason. I can not recommend this book highly enough.
You can also take a look at Category Theory for Programmers by Bartosz Milewski.

Status
  • Starting with version 0.10.0, Dart 2.12+ is required
  • 0.9.x supports Dart 1 and older Dart 2 versions
  • Basic type class structure and collection classes are relatively stable, but might see restructuring in future releases
  • Optimized for dart2js/node/v8, with performance on the dart vm being of distant secondary concern
  • Most things are stack safe and reasonably efficient, but there are a couple of exceptions and plenty of room for further optimizations
  • The streaming/conveyor stuff is highly experimental
  • The lens implementation is experimental and very bare bones
License/Disclaimer

See LICENSE

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden