https://pub.dev/

Submitted URL:
https://pub.dev
Report Finished:

The outgoing links identified from the page

JavaScript Variables · 16 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

Console log messages · 0 found

Messages logged to the web console

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en-us"><head><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-14NWFE7R74&amp;cx=c&amp;_slc=1"></script><script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script><script src="https://www.googletagmanager.com/gtm.js?id=GTM-MX6DBN9" async="async"></script><script src="/static/hash-2eoe23o6/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-2eoe23o6/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-2eoe23o6/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"><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-2eoe23o6/material/bundle/styles.css"><link rel="stylesheet" type="text/css" href="/static/hash-2eoe23o6/css/style.css"><script src="/static/hash-2eoe23o6/material/bundle/script.min.js" defer="defer"></script><script src="/static/hash-2eoe23o6/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-2eoe23o6/img/hero-bg-static.svg" as="image"><link rel="preload" href="/static/hash-2eoe23o6/img/square-bg-full-2x.webp" as="image"><style type="text/css">
   #cookieBar {
     background-color: #5a5a5a;
     border: none;
     border-radius: 0;
     -moz-border-radius: 0;
     -webkit-border-radius: 0;
     bottom: 0;
     color: #fff;
     left: 0;
     margin: 0;
     position: fixed;
     right: 0;
     width: 100%;
     z-index: 999;
   }
 
   #cookieBar .cookieBarInner {
     padding: 10px 15px;
   }
 
   #cookieBar .cookieBarText, #cookieBar .cookieBarButtons {
     font-family: arial,sans-serif;
     font-size: 13px;
     font-weight: 600;
     line-height: 1.8;
   }
 
   #cookieBar .cookieBarText {
     margin-right: 5px;
   }
 
   [dir="rtl"] #cookieBar .cookieBarText {
     margin-left: 5px;
     margin-right: 0;
   }
 
   @media (max-width: 720px) #cookieBar .cookieBarText {
     display: block;
     margin-bottom: 5px;
   }
 
   #cookieBar .cookieBarButton {
     background-color: #303030;
     border: 1px solid rgba(0,0,0,.1);
     border-radius: 2px;
     -moz-border-radius: 2px;
     -webkit-border-radius: 2px;
     color: #fff;
     cursor: pointer;
     line-height: 19px;
     margin-left: 5px;
     padding: 4px 8px;
     text-decoration: none;
     white-space: nowrap;
   }
 
   [dir="rtl"] #cookieBar .cookieBarButton {
     margin-left: 0;
     margin-right: 5px;
   }
 </style></head><body class="page-landing light-theme"><div id="cookieBar" aria-labelledby="cookieBarText" role="region"><div class="cookieBarInner"><span id="cookieBarText" class="cookieBarText">This site uses cookies from Google to deliver and enhance the quality of its services and to analyze traffic.</span><span class="cookieBarButtons"><a rel="noopener" target="_blank" href="https://policies.google.com/technologies/cookies?hl=en" class="cookieBarButton cookieBarMoreButton">Learn more</a><a href="#" role="button" class="cookieBarButton cookieBarConsentButton">OK, got it</a></span></div></div><script src="/static/hash-2eoe23o6/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-2eoe23o6/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6" tabindex="0"></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-2eoe23o6/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6" tabindex="0"></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-2eoe23o6/img/nav-mobile-foldable-icon.svg" alt="toggle folding of the section" width="13" height="6" tabindex="0"></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></div><div id="banner-container"><div class="announcement-banner">We've updated the <a href="https://pub.dev/policy">pub.dev policy</a>. You can find previous versions <a href="https://github.com/dart-lang/pub-dev/commits/master/doc/policy.md">here</a>.<div class="dismisser" data-widget="switch" data-switch-target=".announcement-banner" data-switch-enabled="dismissed" data-switch-initial-state="false" data-switch-state-id="b9c3ed876f9ad7be">x</div></div></div><div class="_banner-bg"><div class="container home-banner"><h2 class="_visuallyhidden">pub.dev package manager</h2><img class="logo" src="/static/hash-2eoe23o6/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-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-2eoe23o6/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/sqflite" data-ga-click-event="landing-flutter-favorites-card-title"><h3>sqflite</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for SQLite, a self-contained, high-reliability, embedded, SQL database engine.</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-2eoe23o6/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-flutter-favorites-card-publisher">tekartik.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/sentry_flutter" data-ga-click-event="landing-flutter-favorites-card-title"><h3>sentry_flutter</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Sentry SDK for Flutter. This package aims to support different Flutter targets by relying on the many platforms supported by Sentry with native SDKs.</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-2eoe23o6/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/sentry.io" data-ga-click-event="landing-flutter-favorites-card-publisher">sentry.io</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/firebase_crashlytics" data-ga-click-event="landing-flutter-favorites-card-title"><h3>firebase_crashlytics</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for Firebase Crashlytics. It reports uncaught errors to the Firebase console.</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-2eoe23o6/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/firebase.google.com" data-ga-click-event="landing-flutter-favorites-card-publisher">firebase.google.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/url_launcher" data-ga-click-event="landing-flutter-favorites-card-title"><h3>url_launcher</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes.</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-2eoe23o6/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-flutter-favorites-card-publisher">flutter.dev</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-2eoe23o6/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 60 days</p><div class="mini-list"><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/geolocator" data-ga-click-event="landing-most-popular-card-title"><h3>geolocator</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Geolocation plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API for generic location (GPS etc.) functions.</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-2eoe23o6/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/baseflow.com" data-ga-click-event="landing-most-popular-card-publisher">baseflow.com</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/fluttertoast" data-ga-click-event="landing-most-popular-card-title"><h3>fluttertoast</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Toast Library for Flutter, Easily create toast messages in single line of 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-2eoe23o6/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/karthikponnam.dev" data-ga-click-event="landing-most-popular-card-publisher">karthikponnam.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/devtools_shared" data-ga-click-event="landing-most-popular-card-title"><h3>devtools_shared</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Package of shared Dart structures between devtools_app, dds, and other tools.</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-2eoe23o6/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-most-popular-card-publisher">flutter.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/flutter_inappwebview" data-ga-click-event="landing-most-popular-card-title"><h3>flutter_inappwebview</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.</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-2eoe23o6/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/inappwebview.dev" data-ga-click-event="landing-most-popular-card-publisher">inappwebview.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/connectivity_plus" data-ga-click-event="landing-most-popular-card-title"><h3>connectivity_plus</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for discovering the state of the network (WiFi &amp; mobile/cellular) connectivity on Android and 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-2eoe23o6/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-most-popular-card-publisher">fluttercommunity.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/equatable" data-ga-click-event="landing-most-popular-card-title"><h3>equatable</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode.</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-2eoe23o6/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-most-popular-card-publisher">fluttercommunity.dev</a></div></div></div></div><div class="home-block-view-all"><a class="home-block-view-all-link" href="/packages?sort=popularity" 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/share_plus" data-ga-click-event="landing-top-flutter-card-title"><h3>share_plus</h3></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-2eoe23o6/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-top-flutter-card-publisher">fluttercommunity.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/injectable" data-ga-click-event="landing-top-flutter-card-title"><h3>injectable</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Injectable is a convenient code generator for get_it. Inspired by Angular DI, Guice DI and inject.dart.</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-2eoe23o6/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/codeness.ly" data-ga-click-event="landing-top-flutter-card-publisher">codeness.ly</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/font_awesome_flutter" data-ga-click-event="landing-top-flutter-card-title"><h3>font_awesome_flutter</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">The Font Awesome Icon pack available as Flutter Icons. Provides 2000 additional icons to use in your apps.</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-2eoe23o6/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-top-flutter-card-publisher">fluttercommunity.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/shared_preferences" data-ga-click-event="landing-top-flutter-card-title"><h3>shared_preferences</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Flutter plugin for reading and writing simple key-value pairs. Wraps NSUserDefaults on iOS and SharedPreferences on Android.</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-2eoe23o6/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/provider" data-ga-click-event="landing-top-flutter-card-title"><h3>provider</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">A wrapper around InheritedWidget to make them easier to use and more reusable.</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-2eoe23o6/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-top-flutter-card-publisher">dash-overflow.net</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/camera" data-ga-click-event="landing-top-flutter-card-title"><h3>camera</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">A Flutter plugin for controlling the camera. Supports previewing the camera feed, capturing images and video, and streaming image buffers to Dart.</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-2eoe23o6/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><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-2eoe23o6/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-2eoe23o6/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/logger" data-ga-click-event="landing-top-dart-card-title"><h3>logger</h3></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-2eoe23o6/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-dart-card-publisher">sourcehorizon.org</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/ffi" data-ga-click-event="landing-top-dart-card-title"><h3>ffi</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities for working with Foreign Function Interface (FFI) 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-2eoe23o6/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/logging" data-ga-click-event="landing-top-dart-card-title"><h3>logging</h3></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-2eoe23o6/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/gcloud" data-ga-click-event="landing-top-dart-card-title"><h3>gcloud</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">High level idiomatic Dart API for Google Cloud Storage, Pub-Sub and Datastore.</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-2eoe23o6/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/labs.dart.dev" data-ga-click-event="landing-top-dart-card-publisher">labs.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/json_rpc_2" data-ga-click-event="landing-top-dart-card-title"><h3>json_rpc_2</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Utilities to write a client or server using the JSON-RPC 2.0 spec.</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-2eoe23o6/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-dart-card-publisher">tools.dart.dev</a></div></div></div><div class="mini-list-item"><a class="mini-list-item-title" href="/packages/barcode" data-ga-click-event="landing-top-dart-card-title"><h3>barcode</h3></a><div class="mini-list-item-body"><p class="mini-list-item-description">Barcode generation library for Dart that can generate generic drawing operations for any backend.</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-2eoe23o6/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/nfet.net" data-ga-click-event="landing-top-dart-card-publisher">nfet.net</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=sjPSx6-iCao&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Use the Mix package to style plain widgets in your Flutter apps." data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/sjPSx6-iCao/hqdefault.jpg" alt="Mix (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-2eoe23o6/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"><img class="pow-video-overlay-img-inactive" src="/static/hash-2eoe23o6/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=MqjCIITfCIA&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="Use Gap to add space between widgets without keeping track of whether its parent is a Row or Column. " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/MqjCIITfCIA/hqdefault.jpg" alt="Gap (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-2eoe23o6/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"><img class="pow-video-overlay-img-inactive" src="/static/hash-2eoe23o6/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=ebYDOadpPcI&amp;list=PLjxrf2q8roU1quF6ny8oFHJ2gBdrYN_AK" rel="noopener" target="_blank" title="firebase_vertexi on pub.dev → https://goo.gle/3z3Im8P " data-ga-click-event="package-of-the-week-video"><img class="pow-video-thumbnail" src="https://i.ytimg.com/vi/ebYDOadpPcI/hqdefault.jpg" alt="firebase_vertexai (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-2eoe23o6/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"><img class="pow-video-overlay-img-inactive" src="/static/hash-2eoe23o6/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-2eoe23o6/img/youtube-play-red.png" alt="" width="76" height="53" loading="lazy" role="presentation"><img class="pow-video-overlay-img-inactive" src="/static/hash-2eoe23o6/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-2eoe23o6/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?body=URL%3A+https%3A%2F%2Fpub.dev%2F%0A%0A%3CDescribe+your+issue+or+suggestion+here%3E&amp;title=%3CSummarize+your+issues+here%3E&amp;labels=Area%3A+site+feedback"><img class="inline-icon" src="/static/hash-2eoe23o6/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><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_7.part.js"></script><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_13.part.js"></script><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_14.part.js"></script><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_5.part.js"></script><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_3.part.js"></script><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_2.part.js"></script><script type="text/javascript" src="https://pub.dev/static/hash-2eoe23o6/js/script.dart.js_12.part.js"></script></body></html>