CINXE.COM

The official repository for Dart and Flutter packages.

<!DOCTYPE html> <html lang="en-us"><head><script src="https://www.googletagmanager.com/gtm.js?id=GTM-MX6DBN9" async="async"></script><script src="/static/hash-j60jq2j3/js/gtm.js" async="async"></script><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@dart_lang"/><meta name="twitter:description" content="Pub is the package manager for the Dart programming language, containing reusable libraries &amp; packages for Flutter and general Dart programs."/><meta name="twitter:image" content="https://pub.dev/static/hash-j60jq2j3/img/pub-dev-icon-cover-image.png"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Dart packages"/><meta property="og:title" content="The official repository for Dart and Flutter packages."/><meta property="og:description" content="Pub is the package manager for the Dart programming language, containing reusable libraries &amp; packages for Flutter and general Dart programs."/><meta property="og:image" content="https://pub.dev/static/hash-j60jq2j3/img/pub-dev-icon-cover-image.png"/><meta property="og:url" content="https://pub.dev/"/><title>The official repository for Dart and Flutter packages.</title><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&amp;family=Google+Sans+Display:wght@400&amp;family=Google+Sans+Text:wght@400;500;700&amp;family=Google+Sans+Mono:wght@400;700&amp;display=swap"/><link rel="shortcut icon" href="/favicon.ico?hash=nk4nss8c7444fg0chird9erqef2vkhb8"/><meta rel="apple-touch-icon" href="/static/hash-j60jq2j3/img/apple-touch-icon.png"/><meta rel="apple-touch-icon-precomposed" href="/static/hash-j60jq2j3/img/apple-touch-icon.png"/><link rel="stylesheet" href="https://www.gstatic.com/glue/v25_0/ccb.min.css"/><link rel="search" type="application/opensearchdescription+xml" title="Dart packages" href="/osd.xml"/><link rel="canonical" href="https://pub.dev/"/><meta name="description" content="Pub is the package manager for the Dart programming language, containing reusable libraries &amp; packages for Flutter and general Dart programs."/><link rel="alternate" type="application/atom+xml" title="Updated Packages Feed for Pub" href="/feed.atom"/><link rel="stylesheet" type="text/css" href="/static/hash-j60jq2j3/material/bundle/styles.css"/><link rel="stylesheet" type="text/css" href="/static/hash-j60jq2j3/css/style.css"/><script src="/static/hash-j60jq2j3/material/bundle/script.min.js" defer="defer"></script><script src="/static/hash-j60jq2j3/js/script.dart.js" defer="defer"></script><script src="https://www.gstatic.com/brandstudio/kato/cookie_choice_component/cookie_consent_bar.v3.js" defer="defer" data-autoload-cookie-consent-bar="true"></script><link rel="preload" href="/static/hash-j60jq2j3/img/hero-bg-static.svg" as="image"/><link rel="preload" href="/static/hash-j60jq2j3/img/square-bg-full-2x.webp" as="image"/></head><body class="page-landing light-theme"><script src="/static/hash-j60jq2j3/js/dark-init.js"></script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MX6DBN9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div class="site-header"><button class="hamburger" aria-label="menu toggle"></button><div class="site-header-space"></div><div class="site-header-mask"></div><nav class="site-header-nav scroll-container"><div class="nav-login-container"><button id="-account-login" class="nav-main-button link">Sign in</button></div><div class="nav-container nav-help-container hoverable"><button class="nav-main-button">Help</button><div class="nav-hover-popup"><div class="nav-table-columns"><div class="nav-table-column"><h3>pub.dev</h3><a class="nav-link" href="/help/search" rel="noopener" target="_blank">Searching for packages</a><a class="nav-link" href="/help/scoring" rel="noopener" target="_blank">Package scoring and pub points</a></div><div class="nav-table-column"><h3>Flutter</h3><a class="nav-link" href="https://flutter.dev/using-packages/" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://flutter.dev/developing-packages/" rel="noopener" target="_blank">Developing packages and plugins</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div><div class="nav-table-column"><h3>Dart</h3><a class="nav-link" href="https://dart.dev/guides/packages" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">pub.dev <img class="foldable-icon" src="/static/hash-j60jq2j3/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="/help/search" rel="noopener" target="_blank">Searching for packages</a><a class="nav-link" href="/help/scoring" rel="noopener" target="_blank">Package scoring and pub points</a></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">Flutter <img class="foldable-icon" src="/static/hash-j60jq2j3/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="https://flutter.dev/using-packages/" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://flutter.dev/developing-packages/" rel="noopener" target="_blank">Developing packages and plugins</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div><div class="nav-container nav-help-container-mobile foldable"><h3 class="foldable-button">Dart <img class="foldable-icon" src="/static/hash-j60jq2j3/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6"/></h3><div class="foldable-content"><a class="nav-link" href="https://dart.dev/guides/packages" rel="noopener" target="_blank">Using packages</a><a class="nav-link" href="https://dart.dev/tools/pub/publishing" rel="noopener" target="_blank">Publishing a package</a></div></div></nav><button class="-pub-theme-toggle" aria-label="light/dark theme toggle"></button></div><div id="banner-container"></div><div class="_banner-bg"><div class="container home-banner"><h2 class="_visuallyhidden">pub.dev package manager</h2><img class="logo" src="/static/hash-j60jq2j3/img/pub-dev-logo.svg" alt="" width="328" height="70" role="presentation"/><form class="search-bar banner-item" action="/packages" autocomplete="off"><input class="input" type="search" name="q" placeholder="Search packages" autocomplete="off" autofocus="autofocus" title="Search" data-widget="completion" data-completion-src="/api/search-input-completion-data" data-completion-class="search-completion"/><span class="icon"></span></form><p class="text">The official package repository for <a href="https://dart.dev/" rel="noopener" target="_blank">Dart</a> and <a href="https://flutter.dev/" rel="noopener" target="_blank">Flutter</a> apps.</p><img src="/static/hash-j60jq2j3/img/supported-by-google-2x.png" alt="Supported by Google" width="218" height="36"/></div></div><main class="landing-main"><div class="home-block home-block-ff"><div class="home-block-content"><h1 class="home-block-title">Flutter Favorites</h1><p class="home-block-context-info">Some of the packages that demonstrate the <a href="https://flutter.dev/docs/development/packages-and-plugins/favorites" rel="noopener" target="_blank">highest levels of quality</a>, selected by the Flutter Ecosystem Committee</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/share_plus" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">share_plus</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/fluttercommunity.dev" data-ga-click-event="landing-flutter-favorites-card-publisher">fluttercommunity.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_animate" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_animate</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Add beautiful animated effects &amp; builders in Flutter, via an easy, customizable, unified API.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/gskinner.com" data-ga-click-event="landing-flutter-favorites-card-publisher">gskinner.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/routemaster" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">routemaster</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Easy-to-use Navigator 2.0 router for web, mobile and desktop. URL-based routing, simple navigation of tabs and nested routes.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tom.gilder.dev" data-ga-click-event="landing-flutter-favorites-card-publisher">tom.gilder.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/msix" data-ga-click-event="landing-flutter-favorites-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">msix</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A command-line tool that create Msix installer from your flutter windows-build files.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/kremer.software" data-ga-click-event="landing-flutter-favorites-card-publisher">kremer.software</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?q=is%3Aflutter-favorite" rel="nofollow" title="Search Flutter Favorites packages" data-ga-click-event="landing-flutter-favorites-view-all">View all</a></div></div></div><div class="home-block home-block-mp"><div class="home-block-image"><img src="/static/hash-j60jq2j3/img/landing-01.webp" alt="" width="351" height="240" loading="lazy" role="presentation"/></div><div class="home-block-content"><h1 class="home-block-title">Most popular packages</h1><p class="home-block-context-info">Some of the most downloaded packages over the past 30 days</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/glob" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">glob</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A library to perform Bash-style file and directory globbing.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tools.dart.dev" data-ga-click-event="landing-most-popular-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/build_daemon" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">build_daemon</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A daemon for running Dart builds.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tools.dart.dev" data-ga-click-event="landing-most-popular-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/nested" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">nested</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter Widget which helps nest multiple widgets without needing to manually nest them.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dash-overflow.net" data-ga-click-event="landing-most-popular-card-publisher">dash-overflow.net</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/build_resolvers" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">build_resolvers</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Resolve Dart code in a Builder</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tools.dart.dev" data-ga-click-event="landing-most-popular-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/yaml_edit" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">yaml_edit</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A library for YAML manipulation with comment and whitespace preservation.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tools.dart.dev" data-ga-click-event="landing-most-popular-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/built_collection" data-ga-click-event="landing-most-popular-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">built_collection</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Immutable collections based on the SDK collections. Each SDK collection class is split into a new immutable collection class and a corresponding mutable builder class. </p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/google.dev" data-ga-click-event="landing-most-popular-card-publisher">google.dev</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?sort=downloads" rel="nofollow" title="Search popular packages" data-ga-click-event="landing-most-popular-view-all">View all</a></div></div></div><div class="home-block home-block-tf"><div class="home-block-content"><h1 class="home-block-title">Top Flutter packages</h1><p class="home-block-context-info">Some of the top packages that extend Flutter with new features</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_lints" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_lints</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/flutter.dev" data-ga-click-event="landing-top-flutter-card-publisher">flutter.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/mime" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">mime</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities for handling media (MIME) types, including determining a type from a file extension and file contents.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tools.dart.dev" data-ga-click-event="landing-top-flutter-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/path" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">path</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A string-based path manipulation library. All of the path operations you know and love, with solid support for Windows, POSIX (Linux and Mac OS X), and the web.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dart.dev" data-ga-click-event="landing-top-flutter-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/sign_in_with_apple" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">sign_in_with_apple</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter bridge to initiate Sign in with Apple (on iOS, macOS, and Android). Includes support for keychain entries as well as signing in with an Apple ID.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/aboutyou.com" data-ga-click-event="landing-top-flutter-card-publisher">aboutyou.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/logger" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">logger</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Small, easy to use and extensible logger which prints beautiful logs.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/sourcehorizon.org" data-ga-click-event="landing-top-flutter-card-publisher">sourcehorizon.org</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_form_builder" data-ga-click-event="landing-top-flutter-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_form_builder</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">This package helps in creation of forms in Flutter by removing the boilerplate code, reusing validation, react to changes, and collect final user input.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/flutterformbuilderecosystem.com" data-ga-click-event="landing-top-flutter-card-publisher">flutterformbuilderecosystem.com</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?q=sdk%3Aflutter" rel="nofollow" title="Search Flutter packages" data-ga-click-event="landing-top-flutter-view-all">View all</a></div></div><div class="home-block-image"><img src="/static/hash-j60jq2j3/img/landing-02.webp" alt="" width="306" height="240" role="presentation"/></div></div><div class="home-block home-block-td"><div class="home-block-image"><img src="/static/hash-j60jq2j3/img/landing-03.webp" alt="" width="370" height="240" loading="lazy" role="presentation"/></div><div class="home-block-content"><h1 class="home-block-title">Top Dart packages</h1><p class="home-block-context-info">Some of the top packages for any Dart-based app or program</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_lints" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_lints</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/flutter.dev" data-ga-click-event="landing-top-dart-card-publisher">flutter.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/logging" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">logging</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Provides APIs for debugging and error logging, similar to loggers in other languages, such as the Closure JS Logger and java.util.logging.Logger.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/dart.dev" data-ga-click-event="landing-top-dart-card-publisher">dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/math_expressions" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">math_expressions</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">A library for parsing and evaluating mathematical expressions, supporting real numbers, vectors, and basic interval arithmetic.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/leonhardt.co.nz" data-ga-click-event="landing-top-dart-card-publisher">leonhardt.co.nz</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/hydrated_bloc" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">hydrated_bloc</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">An extension to the bloc state management library which automatically persists and restores bloc states.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/bloclibrary.dev" data-ga-click-event="landing-top-dart-card-publisher">bloclibrary.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/ansicolor" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">ansicolor</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Looking to add some color to your terminal logs? `ansicolor` is an xterm-256 color support library that lets you change the foreground and background color of your text.</p></div><div class="mini-list-item-footer"></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/synchronized" data-ga-click-event="landing-top-dart-card-title"><span class="mini-list-item-title-text" role="heading" aria-level="2">synchronized</span></a><div class="mini-list-item-body"><p class="mini-list-item-description">Lock mechanism to prevent concurrent access to asynchronous code.</p></div><div class="mini-list-item-footer"><div class="mini-list-item-publisher"><img class="publisher-badge filter-invert-on-dark" src="/static/hash-j60jq2j3/img/material-icon-verified.svg" alt="verified publisher" width="14" height="14" title="Published by a pub.dev verified publisher"/><a class="publisher-link" href="/publishers/tekartik.com" data-ga-click-event="landing-top-dart-card-publisher">tekartik.com</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?q=sdk%3Adart" rel="nofollow" title="Search Dart packages" data-ga-click-event="landing-top-dart-view-all">View all</a></div></div></div><div class="home-block home-block-pow"><div class="home-block-content"><h1 class="home-block-title">Package of the Week</h1><p class="home-block-context-info">Package of the Week is a series of quick, animated videos, each of which covers a particular package</p><div class="landing-pow-list"><div class="pow-video"><a href="https://youtube.com/watch?v=Jxw6FaA0j3I&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Display a video from the internet, or the user's device, in your Flutter app in a few lines of code with the video_player package." data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/Jxw6FaA0j3I/hqdefault.jpg" alt="video_player (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div><div class="pow-video"><a href="https://youtube.com/watch?v=yjsN2Goe_po&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Feedback lets users give feedback by annotating a screenshot of the current page and adding text, all directly within your app. " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/yjsN2Goe_po/hqdefault.jpg" alt="feedback (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div><div class="pow-video"><a href="https://youtube.com/watch?v=qEZf2q4W20g&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="When you see your Dart code underlined in squigglies, it means that the Dart analyzer has spotted possible improvements in your code, called lints. When you use flutter create to create a new project, it automatically includes a package called flutter_lints, a ruleset intended to help you follow best practices as you write your Flutter app. " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/qEZf2q4W20g/hqdefault.jpg" alt="flutter_lints (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div><div class="pow-video"><a href="https://youtube.com/watch?v=L9cP9OTUstA&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="HomeWidget is a Plugin to make it easier to create HomeScreen widgets on Android and iOS. HomeWidget does not allow writing widgets with Flutter itself. It still requires writing the widgets with native code." data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/L9cP9OTUstA/hqdefault.jpg" alt="home_widget (Package of the Week)" width="260" height="195" loading="lazy"/><div class="pow-video-overlay"><img class="pow-video-overlay-img-active" src="/static/hash-j60jq2j3/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"/><img class="pow-video-overlay-img-inactive" src="/static/hash-j60jq2j3/img/youtube-play-black.png" alt="" width="76" height="53" loading="lazy" role="presentation"/></div></a></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="https://www.youtube.com/playlist?list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener nofollow" target="_blank" title="Visit the YouTube playlist" data-ga-click-event="package-of-the-week-playlist">View playlist</a></div></div></div></main><footer class="site-footer"><a class="link" href="https://dart.dev/">Dart language</a><a class="link sep" href="/policy">Policy</a><a class="link sep" href="https://www.google.com/intl/en/policies/terms/">Terms</a><a class="link sep" href="https://developers.google.com/terms/">API Terms</a><a class="link sep" href="/security">Security</a><a class="link sep" href="https://www.google.com/intl/en/policies/privacy/">Privacy</a><a class="link sep" href="/help">Help</a><a class="link icon sep" href="/feed.atom"><img class="inline-icon" src="/static/hash-j60jq2j3/img/rss-feed-icon.svg" alt="RSS" width="20" height="20" title="RSS/atom feed"/></a><a class="link icon github_issue" href="https://github.com/dart-lang/pub-dev/issues/new"><img class="inline-icon" src="/static/hash-j60jq2j3/img/bug-report-white-96px.png" alt="bug report" width="20" height="20" title="Report an issue with this site"/></a></footer><script type="application/ld+json">{"@context":"http\u003a\u002f\u002fschema.org","@type":"WebSite","url":"https\u003a\u002f\u002fpub.dev\u002f","potentialAction":{"@type":"SearchAction","target":"https\u003a\u002f\u002fpub.dev\u002fpackages\u003fq\u003d\u007bsearch\u005fterm\u005fstring\u007d","query-input":"required name\u003dsearch\u005fterm\u005fstring"}}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10