Crawler Report for dart.dev

Summary

Website Quality Score

7.0 Good
Performance
10.0
SEO
7.2
Security
6.5
Accessibility
5.0
Best Practices
6.1
  • ⛔ Skipped URLs - 819 skipped URLs found.
  • ⛔ Redirects - 21 redirects found.
  • ⛔ 1 page(s) without <h1> heading.
  • ⛔ Security - 121 pages(s) with critical finding(s).
  • ⚠️ 121 page(s) do not support Brotli compression.
  • ⚠️ No WebP image found on the website.
  • ⚠️ No AVIF image found on the website.
  • ⚠️ 122 page(s) with large inline SVGs (> 5120 bytes).
  • ⚠️ 21 page(s) with skipped heading levels.
  • ⚠️ 2 page(s) with non-clickable (non-interactive) phone numbers.
  • ⚠️ 121 page(s) without form labels.
  • ⚠️ 121 page(s) without aria labels.
  • ⚠️ 121 page(s) without role attributes.
  • ⏩ Loaded robots.txt for domain 'dart.dev': status code 200, size 63 B and took 79 ms.
  • ⏩ External URLs - 819 external URL(s) found.
  • ⏩ DNS IPv6: domain dart.dev does not support IPv6 (DNS server: 127.0.0.53).
  • ✅ 404 OK - all pages exists, no non-existent pages found.
  • ✅ SSL/TLS certificate is valid until Jun 4 06:31:18 2026 GMT. Issued by C = US, O = Google Trust Services, CN = WR3. Subject is CN = dart.dev.
  • ✅ SSL/TLS certificate issued by 'C = US, O = Google Trust Services, CN = WR3'.
  • ✅ Performance OK - all non-media URLs are faster than 3 seconds.
  • ✅ HTTP headers - found 20 unique headers.
  • ✅ All 120 unique title(s) are within the allowed 10% duplicity. Highest duplicity title has 1%.
  • ✅ All 116 description(s) are within the allowed 10% duplicity. Highest duplicity description has 4%.
  • ✅ All pages have quoted attributes.
  • ✅ All pages have inline SVGs with less than 5 duplicates.
  • ✅ All pages have valid or none inline SVGs.
  • ✅ All pages without multiple <h1> headings.
  • ✅ All pages have DOM depth less than 30.
  • ✅ All pages have valid HTML.
  • ✅ All pages have image alt attributes.
  • ✅ All pages have lang attribute.
  • ✅ DNS IPv4 OK: domain dart.dev resolved to 199.36.158.100 (DNS server: 127.0.0.53).

Visited URLs

Found 143 row(s).
URLStatusTypeTime (s)SizeCache
/guides301 Redirect8 ms 75 BNone
/docs200 HTML10 ms 76 kB60 min
/libraries/dart-convert200 HTML130 ms123 kB60 min
/community200 HTML123 ms83 kB60 min
/language/dot-shorthands200 HTML177 ms179 kB60 min
/resources/dart-3-migration200 HTML148 ms153 kB60 min
/null-safety200 HTML151 ms85 kB60 min
/security200 HTML169 ms85 kB60 min
/language/async200 HTML120 ms112 kB60 min
/interop/js-interop200 HTML134 ms81 kB60 min
/overview200 HTML10 ms 96 kB60 min
/language/classes200 HTML147 ms179 kB60 min
/libraries/dart-core200 HTML164 ms417 kB60 min
/terms200 HTML135 ms76 kB60 min
/language/enums200 HTML125 ms119 kB60 min
/language/branches200 HTML235 ms151 kB60 min
/language/generics200 HTML9 ms 146 kB60 min
/web/wasm200 HTML166 ms86 kB60 min
/language/functions200 HTML9 ms 247 kB60 min
/web200 HTML165 ms76 kB60 min
/language/mixins200 HTML131 ms133 kB60 min
/libraries/async/async-await200 HTML10 ms 188 kB60 min
/language/pattern-types200 HTML162 ms193 kB60 min
/interop/c-interop200 HTML161 ms128 kB60 min
/libraries200 HTML9 ms 98 kB60 min
/interop/js-interop/package-web200 HTML172 ms166 kB60 min
/language200 HTML10 ms 222 kB60 min
/web/get-started200 HTML161 ms115 kB60 min
/language/extension-methods200 HTML117 ms144 kB60 min
/200 HTML10 ms 79 kB60 min
/libraries/core/environment-declarations200 HTML139 ms104 kB60 min
/language/error-handling200 HTML11 ms 128 kB60 min
/interop/js-interop/js-types200 HTML170 ms131 kB60 min
/language/type-system200 HTML10 ms 222 kB60 min
/changelog200 HTML175 ms770 kB60 min
/language/built-in-types200 HTML79 ms 161 kB60 min
/web/libraries200 HTML150 ms79 kB60 min
/resources/glossary200 HTML184 ms399 kB60 min
/language/extension-types200 HTML190 ms202 kB60 min
/resources/language/number-representation200 HTML148 ms109 kB60 min
/libraries/async/creating-streams200 HTML162 ms181 kB60 min
/language/class-modifiers-for-apis200 HTML135 ms128 kB60 min
/resources/whats-new200 HTML157 ms190 kB60 min
/language/concurrency200 HTML139 ms156 kB60 min
/language/records200 HTML21 ms 188 kB60 min
/language/loops200 HTML159 ms173 kB60 min
/language/libraries200 HTML126 ms105 kB60 min
/effective-dart/documentation200 HTML43 ms 194 kB60 min
/language/class-modifiers200 HTML9 ms 141 kB60 min
/effective-dart/design200 HTML11 ms 520 kB60 min
/learn200 HTML15 ms 79 kB60 min
/server200 HTML143 ms81 kB60 min
/interop/js-interop/past-js-interop200 HTML118 ms94 kB60 min
/interop/js-interop/usage200 HTML160 ms193 kB60 min
/resources/language/spec200 HTML133 ms82 kB60 min
/libraries/dart-async200 HTML125 ms209 kB60 min
/language/extend200 HTML134 ms99 kB60 min
/libraries/collections/iterables200 HTML204 ms206 kB60 min
/resources/books200 HTML156 ms83 kB60 min
/language/constructors200 HTML12 ms 207 kB60 min
/resources/videos200 HTML153 ms80 kB60 min
/server/google-cloud200 HTML122 ms85 kB60 min
/language/typedefs200 HTML123 ms91 kB60 min
/get-dart200 HTML10 ms 129 kB60 min
/libraries/async/futures-error-handling200 HTML151 ms205 kB60 min
/web/debugging200 HTML132 ms102 kB60 min
/language/collections200 HTML168 ms286 kB60 min
/server/fetch-data200 HTML157 ms191 kB60 min
/language/modifier-reference200 HTML113 ms88 kB60 min
/libraries/async/using-streams200 HTML156 ms204 kB60 min
/language/versioning200 HTML122 ms91 kB60 min
/libraries/dart-math200 HTML158 ms102 kB60 min
/language/keywords200 HTML126 ms85 kB60 min
/libraries/serialization/json200 HTML161 ms79 kB60 min
/effective-dart/usage200 HTML140 ms557 kB60 min
/language/callable-objects200 HTML193 ms78 kB60 min
/language/variables200 HTML10 ms 147 kB60 min
/language/isolates200 HTML155 ms374 kB60 min
/language/operators200 HTML10 ms 208 kB60 min
/language/comments200 HTML9 ms 93 kB60 min
/effective-dart200 HTML10 ms 127 kB60 min
/interop/objective-c-interop200 HTML155 ms216 kB60 min
/null-safety/understanding-null-safety200 HTML137 ms387 kB60 min
/server/libraries200 HTML128 ms85 kB60 min
/web/deployment200 HTML140 ms87 kB60 min
/resources/useful-packages200 HTML145 ms92 kB60 min
/interop/java-interop200 HTML145 ms99 kB60 min
/multiplatform-apps200 HTML134 ms76 kB60 min
/language/patterns200 HTML131 ms190 kB60 min
/effective-dart/style200 HTML161 ms192 kB60 min
/interop/js-interop/tutorials200 HTML140 ms78 kB60 min
/language/methods200 HTML161 ms124 kB60 min
/libraries/dart-io200 HTML111 ms150 kB60 min
/resources/google-apis200 HTML155 ms81 kB60 min
/learn/tutorial200 HTML184 ms53 kB60 min
/language/metadata200 HTML9 ms 102 kB60 min
/search200 HTML144 ms74 kB60 min
/resources/dart-cheatsheet200 HTML155 ms377 kB60 min
/resources/language/evolution200 HTML127 ms198 kB60 min
/resources200 HTML164 ms76 kB60 min
/interop/js-interop/start200 HTML137 ms138 kB60 min
/interop200 HTML163 ms77 kB60 min
/interop/js-interop/mock200 HTML163 ms109 kB60 min
/brand200 HTML144 ms87 kB60 min
/interop/js-interop/package-web/301 Redirect101 ms127 BNone
/interop/js-interop/301 Redirect104 ms103 BNone
/libraries/async301 Redirect83 ms 107 BNone
/libraries/async/zones200 HTML142 ms253 kB60 min
/language/generics/301 Redirect98 ms 101 BNone
/go/next-gen-js-interop301 Redirect80 ms 103 BNone
/libraries/dart-html200 HTML202 ms177 kB60 min
/interop/c-interop/301 Redirect155 ms101 BNone
/articles/libraries/zones301 Redirect73 ms 109 BNone
/resources/language301 Redirect81 ms 83 BNone
/web/libraries/301 Redirect110 ms93 BNone
/jobs301 Redirect79 ms 123 BNone
/language/patterns/301 Redirect105 ms101 BNone
/effective-dart/usage/301 Redirect112 ms107 BNone
/language/operators/301 Redirect113 ms103 BNone
/language/constructors/301 Redirect108 ms109 BNone
/language/pattern-types/301 Redirect95 ms 111 BNone
/language/records/301 Redirect103 ms99 BNone
/interop/js-interop/js-types/301 Redirect90 ms 121 BNone
/resources/breaking-changes200 HTML161 ms231 kB60 min
/get-dart/archive200 HTML123 ms93 kB60 min
/to/spec-draft301 Redirect85 ms 207 BNone
/resources/dart-team-packages200 HTML185 ms78 kB60 min
/language/loops/301 Redirect99 ms 95 BNone
/learn/tutorial/advanced-oop200 HTML171 ms169 kB60 min
/learn/tutorial/data-and-json200 HTML165 ms199 kB60 min
/learn/tutorial/first-app200 HTML8 ms 87 kB60 min
/learn/tutorial/logging200 HTML157 ms261 kB60 min
/learn/tutorial/fetch-data200 HTML136 ms156 kB60 min
/learn/tutorial/object-oriented200 HTML147 ms210 kB60 min
/learn/tutorial/cli-polish200 HTML130 ms129 kB60 min
/learn/tutorial/testing200 HTML138 ms187 kB60 min
/learn/tutorial/interactivity200 HTML11 ms 147 kB60 min
/learn/tutorial/error-handling200 HTML158 ms167 kB60 min
/learn/tutorial/async200 HTML10 ms 151 kB60 min
/learn/tutorial/packages-libs200 HTML158 ms115 kB60 min
/search-all200 HTML151 ms75 kB60 min
https://docs.flutter.dev/jobs200 HTML114 ms120 kB60 min
/resources/dart-3-migration/301 Redirect91 ms 119 BNone
No rows found, please edit your search term.

Best practices

Found 11 row(s).
Analysis nameOKNoticeWarningCritical
Duplicate inline SVGs (> 5 and > 1024 B)13000
Heading structure2220210
Invalid inline SVGs13000
Large inline SVGs (> 5120 B)11020
Non-clickable phone numbers0020
DOM depth (> 30)122000
Title uniqueness (> 10%)120000
Description uniqueness (> 10%)116000
Brotli support001210
WebP support0010
AVIF support0010
No rows found, please edit your search term.

Large inline SVGs

SeverityOccursDetailAffected URLs (max 5)
warning244<svg fill="none" viewBox="0 0 106 40" width="106px" height="40px"> ...URL 1, URL 2, URL 3, URL 4, URL 5

Duplicate inline SVGs

No problems found.


Invalid inline SVGs

No problems found.


Missing quotes on attributes

No problems found.


DOM depth

No problems found.


Heading structure

SeverityOccursDetailAffected URLs (max 5)
critical1No <h1> tag found in the HTML content./
warning14Heading structure is skipping levels: found an <h3> after an <h1>.URL 1, URL 2, URL 3, URL 4, URL 5
warning6Heading structure is skipping levels: found an <h4> after an <h2>.URL 1, URL 2, URL 3, URL 4, URL 5
warning1Heading structure is skipping levels: found an <h4> after an <h1>./language/pattern-types
warning1Heading structure is skipping levels: found an <h2> without a previous higher heading./

Non-clickable phone numbers

SeverityOccursDetailAffected URLs (max 5)
warning1415-555-0100/language/operators
warning1+------------/null-safety/understanding-null-safety

Title uniqueness

No problems found.


Description uniqueness

No problems found.

Accessibility

Analysis nameOKNoticeWarningCritical
Missing aria labels1220010710
Missing form labels0030
Missing roles00120
Missing image alt attributes53000
Missing html lang attribute1000

Valid HTML

No problems found.


Missing image alt attributes

No problems found.


Missing form labels

SeverityOccursDetailAffected URLs (max 5)
warning121<input class="search-*" id="q" name="q" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning121<input class="site-* search-*" id="search-side" name="q" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning2<input ***>URL 1, URL 2

Missing aria labels

Found 96 row(s).
SeverityOccursDetailAffected URLs (max 5)
critical1<input id="filter-fixed" name="filter-fixed" *** >/changelog
critical1<input id="filter-removed" name="filter-removed" *** >/changelog
critical1<input id="filter-experimental" name="filter-experimental" *** >/changelog
critical1<input id="open-filter-toggle" *** >/changelog
critical1<input id="filter-deprecated" name="filter-deprecated" *** >/changelog
critical1<select id="stable-versions">/get-dart/archive
critical1<input id="filter-changed" name="filter-changed" *** >/changelog
critical1<input id="filter-new" name="filter-new" *** >/changelog
critical1<input id="filter-versioned" name="filter-versioned" *** >/changelog
critical1<select id="dev-versions">/get-dart/archive
critical1<input id="filter-breaking" name="filter-breaking" *** >/changelog
critical1<select id="stable-os">/get-dart/archive
critical1<select id="beta-versions">/get-dart/archive
critical1<select id="dev-os">/get-dart/archive
critical1<select id="beta-os">/get-dart/archive
warning17121<a class="nav-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning6372<a ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning2881<button class="nav-* collapsible collapsed" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning1459<button class="text-* icon-* copy-* hidden" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning698<a class="text-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning361<button class="dropdown-* text-* icon-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning333<a class="nav-* active" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning324<button class="nav-* collapsible" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning240<button class="text-* icon-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning143<button class="nav-* active collapsible" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning121<a class="jaspr-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning121<a class="brand" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning121<a class="filled-*" id="skip-to-main" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning121<button class="filled-*">URL 1, URL 2, URL 3, URL 4, URL 5
warning120<button class="text-*">URL 1, URL 2, URL 3, URL 4, URL 5
warning117<a class="filled-*" *** >/resources/glossary
warning89<a id="return-to-top" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning61<a class="next" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning59<a class="prev" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning32<a class="card filled-*" *** >URL 1, URL 2, URL 3, URL 4
warning12<button class="filled-* quiz-* secondary" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning12<a class="tooltip-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning12<button class="filled-* quiz-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning6<a class="lite-*" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning2<a class="outlined-*" *** >/learn
warning1<a id="the-main-function" *** >/language/functions
warning1<a id="default-parameters">/language/functions
warning1<button class="text-* icon-* close-*">/changelog
warning1<a id="do-name-libraries-and-source-files-using-lowercase_with_underscores">/effective-dart/style
warning1<a id="1-provide-an-extended-interface-to-an-existing-type" *** >/language/extension-types
warning1<a id="do-use-curly-braces-for-all-flow-control-structures">/effective-dart/style
warning1<a id="native-assets" *** >/interop/c-interop
warning1<a id="switch">/language/branches
warning1<button class="text-* icon-* info-*" *** >/changelog
warning1<a id="prefer-starting-function-or-method-comments-with-third-person-verbs" *** >/effective-dart/documentation
warning1<a id="exporting-dart-functions-and-objects-to-js" *** >/interop/js-interop/usage
warning1<a id="control-flow-operators" *** >/language/collections
warning1<a class="filled-* large-*" *** >/web
warning1<a id="prefer-using-_-__-etc-for-unused-callback-parameters" *** >/effective-dart/style
warning1<a id="where-to-learn-more" *** >/null-safety
warning1<a id="spread-operators" *** >/language/collections
warning1<a id="creating-variables" *** >/null-safety
warning1<a id="optional-named-parameters">/resources/dart-cheatsheet
warning1<a id="per-library-language-version-selection" *** >/resources/language/evolution
warning1<a id="do-use-mixin-to-define-a-mixin-type" *** >/effective-dart/design
warning1<a id="do-document-if-your-class-supports-being-used-as-an-interface" *** >/effective-dart/design
warning1<a id="web">/language/concurrency
warning1<a id="digit-separators">/language/built-in-types
warning1<a id="do-document-if-your-class-supports-being-extended" *** >/effective-dart/design
warning1<a id="avoid-lines-longer-than-80-characters">/effective-dart/style
warning1<a name="use-proper-param-types">/language/type-system
warning1<a id="introduction-through-examples" *** >/null-safety
warning1<a class="debian-*" *** >/get-dart
warning1<a id="the-sealed-modifer">/language/class-modifiers-for-apis
warning1<a id="pattern-uses">/language/patterns
warning1<a name="operators">/language/operators
warning1<a class="nav-*" id="2-tab" *** >/get-dart
warning1<a id="string-interpolation">/language/built-in-types
warning1<a id="enable-null-safety" *** >/null-safety
warning1<a id="2-provide-a-different-interface-to-an-existing-type" *** >/language/extension-types
warning1<a class="nav-*" id="1-tab" *** >/get-dart
warning1<a id="trailing-comma">/language/collections
warning1<a id="transparency" *** >/language/extension-types
warning1<button class="text-*" *** >/changelog
warning1<a id="null-assertion-operator" *** >/null-safety/understanding-null-safety
warning1<a class="frontanchor" id="try-dart" *** >/
warning1<a id="dart-3-and-null-safety" *** >/null-safety
warning1<button class="text-* icon-* show-*">/changelog
warning1<a id="covariant-keyword" *** >/language/type-system
warning1<a id="non-null-assertion-operator" *** >/null-safety/understanding-null-safety
warning1<a class="nav-* active" id="0-tab" *** >/get-dart
warning1<a id="next-generation-js-interop" *** >/interop/js-interop
warning1<a id="prefer-using--to-convert-null-to-a-boolean-value">/effective-dart/usage
warning1<a id="or-pattern-switch">/language/patterns
warning1<a id="language-version-numbers" *** >/resources/language/evolution
warning1<a id="avoid-mixing-in-a-class-that-isnt-intended-to-be-a-mixin" *** >/effective-dart/design
warning1<a name="use-proper-return-types">/language/type-system
warning1<a id="deprecated-features" *** >/interop/js-interop
warning1<a id="switch-share">/language/branches
warning1<a id="when">/language/branches
warning1<a id="collection-operators" *** >/language/collections
No rows found, please edit your search term.

Missing roles

Found 13 row(s).
SeverityOccursDetailAffected URLs (max 5)
warning171<aside class="alert alert-*">URL 1, URL 2, URL 3, URL 4, URL 5
warning121<nav class="navbar">URL 1, URL 2, URL 3, URL 4, URL 5
warning121<header class="always-*" id="site-header">URL 1, URL 2, URL 3, URL 4, URL 5
warning121<footer id="page-footer" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning120<main id="page-content">URL 1, URL 2, URL 3, URL 4, URL 5
warning120<header class="wrap" id="site-content-title">URL 1, URL 2, URL 3, URL 4, URL 5
warning113<header>URL 1, URL 2, URL 3, URL 4, URL 5
warning106<nav class="breadcrumbs" *** >URL 1, URL 2, URL 3, URL 4, URL 5
warning89<nav class="site-*" id="toc-side">URL 1, URL 2, URL 3, URL 4, URL 5
warning89<aside id="side-menu">URL 1, URL 2, URL 3, URL 4, URL 5
warning65<nav id="site-prev-next">URL 1, URL 2, URL 3, URL 4, URL 5
warning34<header class="card-*">URL 1, URL 2, URL 3, URL 4, URL 5
warning1<main class="focused" id="page-content">/
No rows found, please edit your search term.

Missing html lang attribute

No problems found.

Security

HeaderOKNoticeWarningCriticalRecommendation
Content-Security-Policy000121Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks.
Feature-Policy001210Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.
Permissions-Policy001210Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.
X-XSS-Protection012100X-XSS-Protection header is set but deprecated. Consider removing it and using Content-Security-Policy instead.
Strict-Transport-Security121000
X-Frame-Options121000
X-Content-Type-Options121000
Referrer-Policy121000
Server121000Server header is not set or empty. This is recommended.

Security headers

SeverityOccursDetailAffected URLs (max 5)
critical121Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks.URL 1, URL 2, URL 3, URL 4, URL 5
warning121Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.URL 1, URL 2, URL 3, URL 4, URL 5
warning121Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.URL 1, URL 2, URL 3, URL 4, URL 5
notice121X-XSS-Protection header is set but deprecated. Consider removing it and using Content-Security-Policy instead.URL 1, URL 2, URL 3, URL 4, URL 5
notice121Server header is not set or empty. This is recommended.URL 1, URL 2, URL 3, URL 4, URL 5

TOP non-unique titles

Count 🔽Title
2Fetch data from the internet

TOP non-unique descriptions

Count 🔽Description
6Learn about the major features in Dart

SEO metadata

Found 121 row(s).
URL 🔼IndexingTitleH1DescriptionKeywords
/AllowedDart programming languageMissing H1Dart is an approachable, portable, and productive language for high-quality apps on any platform.
/brandAllowedDart brand guidelinesDart brand guidelinesThe guidelines governing the usage of the Dart trademarks and assets.
/changelogAllowedDart changelogDart changelogA complete changelog for Dart.
/communityAllowedCommunity and supportCommunity and supportCommunities, mailing lists, and bug databases for the Dart project.
/docsAllowedDart documentationDart documentationLearn to use the Dart language and libraries.
/effective-dartAllowedEffective DartEffective DartBest practices for building consistent, maintainable, and efficient Dart libraries.
/effective-dart/designAllowedEffective Dart: DesignEffective Dart: DesignDesign consistent, usable libraries.
/effective-dart/documentationAllowedEffective Dart: DocumentationEffective Dart: DocumentationClear, helpful comments and documentation.
/effective-dart/styleAllowedEffective Dart: StyleEffective Dart: StyleFormatting and naming rules for consistent, readable code.
/effective-dart/usageAllowedEffective Dart: UsageEffective Dart: UsageGuidelines for using language features to write maintainable code.
/get-dartAllowedGet the Dart SDKGet the Dart SDKGet the libraries and command-line tools that you need to develop Dart web, command-line, and server apps.
/get-dart/archiveAllowedDart SDK archiveDart SDK archiveDownload specific stable, beta, dev, and main channel versions of the Dart SDK and the Dart API documentation.
/interopDENY (meta)Native interop with DartNative interop with DartLearn to interact with native code and other programming languages from Dart.
/interop/c-interopAllowedC interop using dart:ffiC interop using dart:ffiTo use C code in your Dart program, use the dart:ffi library.
/interop/java-interopAllowedJava interop using package:jnigenJava interop using package:jnigenTo use Java in your Dart program, use package:jnigen.
/interop/js-interopAllowedJavaScript interoperabilityJavaScript interoperabilityIntegrate JavaScript code into your Dart web app.
/interop/js-interop/js-typesAllowedJS typesJS typesUsage information about the core types in JS interop.
/interop/js-interop/mockAllowedHow to mock JavaScript interop objectsHow to mock JavaScript interop objectsLearn how to mock JS interop objects in Dart for testing.
/interop/js-interop/package-webAllowedMigrate to package:webMigrate to package:webHow to migrate web interop code from dart:html to package:web.
/interop/js-interop/past-js-interopAllowedPast JS interopPast JS interopArchive of Dart's previous JS interop support.
/interop/js-interop/startAllowedGetting started with JavaScript interopGetting started with JavaScript interopA basic example of using browser APIs and a bundled JS library.
/interop/js-interop/tutorialsAllowedJS interop tutorialsJS interop tutorialsTutorials for common JavaScript interop use cases in Dart.
/interop/js-interop/usageAllowedJS interop usageJS interop usageHow to declare and use JS interop members.
/interop/objective-c-interopAllowedObjective-C and Swift interop using package:ffigenObjective-C and Swift interop using package:ffigenTo use Objective-C and Swift code in your Dart program, use package:ffigen.
/languageAllowedIntroduction to DartIntroduction to DartA brief introduction to Dart programs and important concepts.
/language/asyncAllowedAsynchronous programmingAsynchronous programmingInformation on writing asynchronous code in Dart.
/language/branchesAllowedBranchesBranchesLearn how to use branches to control the flow of your Dart code.
/language/built-in-typesAllowedBuilt-in typesBuilt-in typesInformation on the types Dart supports.
/language/callable-objectsAllowedCallable objectsCallable objectsLearn how to create and use callable objects in Dart.
/language/class-modifiersAllowedClass modifiersClass modifiersModifier keywords for class declarations to control external library access.
/language/class-modifiers-for-apisAllowedClass modifiers for API maintainersClass modifiers for API maintainersHow to use the class modifiers added in Dart 3.0 to make your package's API more robust and maintainable.
/language/classesAllowedClassesClassesSummary of classes, class instances, and their members.
/language/collectionsAllowedCollectionsCollectionsSummary of the different types of collections in Dart.
/language/commentsAllowedCommentsCommentsThe different comment types in Dart.
/language/concurrencyAllowedConcurrency in DartConcurrency in DartUse isolates to enable parallel code execution on multiple processor cores.
/language/constructorsAllowedConstructorsConstructorsEverything about using constructors in Dart.
/language/dot-shorthandsAllowedDot shorthandsDot shorthandsLearn about the dot shorthand syntax in Dart.
/language/enumsAllowedEnumerated typesEnumerated typesLearn about the enum type in Dart.
/language/error-handlingAllowedError handlingError handlingLearn about handling errors and exceptions in Dart.
/language/extendAllowedExtend a classExtend a classLearn how to create subclasses from a superclass.
/language/extension-methodsAllowedExtension methodsExtension methodsLearn how to add to existing APIs.
/language/extension-typesAllowedExtension typesExtension typesLearn how to write a static-only interface for an existing type.
/language/functionsAllowedFunctionsFunctionsEverything about functions in Dart.
/language/genericsAllowedGenericsGenericsLearn about generic types in Dart.
/language/isolatesAllowedIsolatesIsolatesInformation on writing isolates in Dart.
/language/keywordsAllowedKeywordsKeywordsKeywords in Dart.
/language/librariesAllowedLibraries & importsLibraries & importsGuidance on importing and implementing libraries.
/language/loopsAllowedLoopsLoopsLearn how to use loops to control the flow of your Dart code.
/language/metadataAllowedMetadataMetadataMetadata and annotations in Dart.
/language/methodsAllowedMethodsMethodsLearn about methods in Dart.
/language/mixinsAllowedMixinsMixinsLearn how to add to features to a class in Dart.
/language/modifier-referenceAllowedClass modifiers referenceClass modifiers referenceThe allowed and disallowed combinations of class modifiers.
/language/operatorsAllowedOperatorsOperatorsLearn about the operators Dart supports.
/language/pattern-typesAllowedPattern typesPattern typesPattern type reference in Dart.
/language/patternsAllowedPatternsPatternsSummary of patterns in Dart.
/language/recordsAllowedRecordsRecordsSummary of the record data structure in Dart.
/language/type-systemAllowedThe Dart type systemThe Dart type systemWhy and how to write sound Dart code.
/language/typedefsAllowedTypedefsTypedefsLearn about type aliases in Dart.
/language/variablesAllowedVariablesVariablesLearn about variables in Dart.
/language/versioningAllowedLanguage versioningLanguage versioningLearn how language versioning in Dart enables evolution of the language and how to configure the language versions of your project and its libraries.
/learnAllowedLearn DartLearn DartFind everything you need to start learning the Dart programming language.
/learn/tutorialAllowedDart tutorialDart tutorialBegin your Dart learning journey by building an interactive CLI app.
/learn/tutorial/advanced-oopAllowedExtend your app with enums and extensionsExtend your app with enums and extensionsEnhance your Dart skills by exploring advanced features like enhanced enums and extensions. Improve your application's output formatting and color, making it more user-friendly.
/learn/tutorial/asyncAllowedWrite asynchronous codeWrite asynchronous codeLearn about asynchronous programming in Dart and how to make HTTP requests.
/learn/tutorial/cli-polishAllowedPolish your CLI appPolish your CLI appImprove the HelpCommand to provide more detailed information and add an onOutput argument for flexible output handling.
/learn/tutorial/data-and-jsonAllowedWork with JSON dataWork with JSON dataLearn about JSON deserialization in Dart, including how to use `dart:convert`, `jsonDecode`, and pattern matching to work with JSON data from the Wikipedia API.
/learn/tutorial/error-handlingAllowedHandle errors gracefullyHandle errors gracefullyImprove app robustness by handling errors. Learn about exceptions, errors, `try/catch`, `throw`, and `rethrow`.
/learn/tutorial/fetch-dataAllowedFetch data from the internetFetch data from the internetRefactor your application to use a robust, production-ready API client for the Wikipedia CLI.
/learn/tutorial/first-appAllowedBuild your first appBuild your first appCreate, run, and make your first change to a Dart command-line program.
/learn/tutorial/interactivityAllowedAdd interactivity to your appAdd interactivity to your appAdd simple commands to your cli application. Learn the fundamentals of Dart syntax including control flow, collections, variables, functions, and more.
/learn/tutorial/loggingAllowedAdd logging for debugging and monitoringAdd logging for debugging and monitoringLearn how to add logging to your Dart application to help with debugging and monitoring.
/learn/tutorial/object-orientedAllowedDefine relationships with classesDefine relationships with classesLearn about object-oriented programming in Dart, including abstract classes, inheritance, overrides, and enums. Build a framework for well-architected CLI apps.
/learn/tutorial/packages-libsAllowedOrganize Dart code with packages and librariesOrganize Dart code with packages and librariesLearn how to organize your Dart code into reusable libraries and packages.
/learn/tutorial/testingAllowedTest your app & codeTest your app & codeLearn how to write tests for your Dart code using the `package:test` library.
/librariesAllowedDart's core librariesDart's core librariesLearn about Dart's core libraries and APIs.
/libraries/async/async-awaitAllowedAsynchronous programming: futures, async, awaitAsynchronous programming: futures, async, awaitLearn about and practice writing asynchronous code in DartPad!
/libraries/async/creating-streamsAllowedCreating streams in DartCreating streams in DartA stream is a sequence of results; learn how to create your own.
/libraries/async/futures-error-handlingAllowedFutures and error handlingFutures and error handlingEverything you wanted to know about handling errors and exceptions when writing asynchronous code. And then some.
/libraries/async/using-streamsAllowedAsynchronous programming: StreamsAsynchronous programming: StreamsLearn how to consume single-subscriber and broadcast streams.
/libraries/async/zonesAllowedZonesZonesManage your asynchronous code: handle uncaught errors, override behavior (such as printing and scheduling tasks), and more.
/libraries/collections/iterablesAllowedIterable collectionsIterable collectionsAn interactive guide to using Iterable objects such as lists and sets.
/libraries/core/environment-declarationsAllowedConfiguring apps with compilation environment declarationsConfiguring apps with compilation environment declarationsLearn about using compilation environment declarations to customize application behavior.
/libraries/dart-asyncAlloweddart:asyncdart:asyncLearn about the major features in Dart's dart:async library.
/libraries/dart-convertAlloweddart:convertdart:convertLearn about the major features in Dart's dart:convert library.
/libraries/dart-coreAlloweddart:coredart:coreLearn about the major features in Dart's dart:core library.
/libraries/dart-htmlAlloweddart:htmldart:htmlLearn about the major features in Dart's dart:html library.
/libraries/dart-ioAlloweddart:iodart:ioLearn about the major features in Dart's dart:io library.
/libraries/dart-mathAlloweddart:mathdart:mathLearn about the major features in Dart's dart:math library.
/libraries/serialization/jsonAllowedUsing JSONUsing JSONDart solutions for reading and writing JSON.
/multiplatform-appsAllowedMulti-platform appsMulti-platform appsUse the Flutter framework to build beautiful native apps for many platforms and operating systems from a single codebase.
/null-safetyAllowedSound null safetySound null safetyAn introduction to null safety in Dart.
/null-safety/understanding-null-safetyAllowedUnderstanding null safetyUnderstanding null safetyA deep dive into Dart language and library changes related to null safety.
/overviewAllowedDart overviewDart overviewA short introduction to Dart.
/resourcesAllowedResourcesResourcesLanding page for Dart language resources.
/resources/booksAllowedBooks about DartBooks about DartRead all about it! Here's a collection of books about Dart.
/resources/breaking-changesAllowedBreaking changes and deprecationsBreaking changes and deprecationsA list of breaking changes by release in Dart.
/resources/dart-3-migrationAllowedDart 3 migration guideDart 3 migration guideHow to migrate existing Dart code to be compatible with Dart 3.
/resources/dart-cheatsheetAllowedDart cheatsheetDart cheatsheetInteractively learn (or relearn) some of Dart's unique features.
/resources/dart-team-packagesAllowedDart team packagesDart team packagesThe Dart team publishes packages under the verified publishers: dart.dev, tools.dart.dev, and labs.dart.dev.
/resources/glossaryAllowedGlossaryGlossaryA glossary reference for terminology used across dart.dev.
/resources/google-apisAllowedUsing Google APIsUsing Google APIsYour Dart apps can use Firebase and Google client APIs.
/resources/language/evolutionAllowedDart language evolutionDart language evolutionNotable changes and additions to the Dart programming language.
/resources/language/number-representationAllowedNumbers in DartNumbers in DartLearn how Dart numbers are slightly different on the web, when that might matter, and how you might adjust your code.
/resources/language/specAllowedDart language specificationDart language specificationThe formal specification for the Dart language.
/resources/useful-packagesAllowedCommonly used packagesCommonly used packagesSome of the most useful and popular packages, and where you can learn more.
/resources/videosAllowedDart videosDart videosLearn by watching! Here's a collection of videos about Dart.
/resources/whats-newAllowedWhat's newWhat's newA list of what's new on dart.dev and related sites.
/searchAllowedSearch dart.devSearch dart.devSearch for documentation on dart.dev.
/search-allAllowedSearch more sitesSearch more sitesSearch dart.dev, api.dart.dev, the old www.dartlang.org site, flutter.dev, and more.
/securityAllowedSecuritySecurityAn overview of the Dart team's philosophy and processes for security.
/serverAllowedCommand-line and server appsCommand-line and server appsAll things relating to command-line and server apps.
/server/fetch-dataAllowedFetch data from the internetFetch data from the internetFetch data over the internet using the http package.
/server/google-cloudAllowedUsing Google CloudUsing Google CloudYour Dart app can use many Google Cloud services: Firebase, Google Cloud Platform, and more.
/server/librariesAllowedCommand-line and server libraries and packagesCommand-line and server libraries and packagesLibraries and packages that can help you write Dart command-line & server apps.
/termsAllowedTerms of useTerms of useThe terms of use for dart.dev.
/webAllowedWeb platformWeb platformResources for developing Dart web apps.
/web/debuggingAllowedDebugging Dart web appsDebugging Dart web appsLearn how to debug your Dart web app.
/web/deploymentAllowedWeb deploymentWeb deploymentLearn how to build your Dart web app for production deployment.
/web/get-startedAllowedBuild a web app with DartBuild a web app with DartGet started writing web apps in Dart.
/web/librariesAllowedWeb libraries and packagesWeb libraries and packagesLibraries and packages that can help you write Dart web apps.
/web/wasmAllowedWebAssembly (Wasm) compilationWebAssembly (Wasm) compilationLearn how to compile your Dart web app to WebAssembly.
No rows found, please edit your search term.

OpenGraph metadata

Found 121 row(s).
URL 🔼OG TitleOG DescriptionOG ImageTwitter TitleTwitter DescriptionTwitter Image
/Dart programming languageDart is an approachable, portable, and productive language for high-quality apps on any platform./assets/img/logo/dart-logo-for-shares.pngDart programming languageDart is an approachable, portable, and productive language for high-quality apps on any platform.
/brandDart brand guidelinesThe guidelines governing the usage of the Dart trademarks and assets./assets/img/logo/dart-logo-for-shares.pngDart brand guidelinesThe guidelines governing the usage of the Dart trademarks and assets.
/changelogDart changelogA complete changelog for Dart./assets/img/logo/dart-logo-for-shares.pngDart changelogA complete changelog for Dart.
/communityCommunity and supportCommunities, mailing lists, and bug databases for the Dart project./assets/img/logo/dart-logo-for-shares.pngCommunity and supportCommunities, mailing lists, and bug databases for the Dart project.
/docsDart documentationLearn to use the Dart language and libraries./assets/img/logo/dart-logo-for-shares.pngDart documentationLearn to use the Dart language and libraries.
/effective-dartEffective DartBest practices for building consistent, maintainable, and efficient Dart libraries./assets/img/logo/dart-logo-for-shares.pngEffective DartBest practices for building consistent, maintainable, and efficient Dart libraries.
/effective-dart/designEffective Dart: DesignDesign consistent, usable libraries./assets/img/logo/dart-logo-for-shares.pngEffective Dart: DesignDesign consistent, usable libraries.
/effective-dart/documentationEffective Dart: DocumentationClear, helpful comments and documentation./assets/img/logo/dart-logo-for-shares.pngEffective Dart: DocumentationClear, helpful comments and documentation.
/effective-dart/styleEffective Dart: StyleFormatting and naming rules for consistent, readable code./assets/img/logo/dart-logo-for-shares.pngEffective Dart: StyleFormatting and naming rules for consistent, readable code.
/effective-dart/usageEffective Dart: UsageGuidelines for using language features to write maintainable code./assets/img/logo/dart-logo-for-shares.pngEffective Dart: UsageGuidelines for using language features to write maintainable code.
/get-dartGet the Dart SDKGet the libraries and command-line tools that you need to develop Dart web, command-line, and server apps./assets/img/logo/dart-logo-for-shares.pngGet the Dart SDKGet the libraries and command-line tools that you need to develop Dart web, command-line, and server apps.
/get-dart/archiveDart SDK archiveDownload specific stable, beta, dev, and main channel versions of the Dart SDK and the Dart API documentation./assets/img/logo/dart-logo-for-shares.pngDart SDK archiveDownload specific stable, beta, dev, and main channel versions of the Dart SDK and the Dart API documentation.
/interopNative interop with DartLearn to interact with native code and other programming languages from Dart./assets/img/logo/dart-logo-for-shares.pngNative interop with DartLearn to interact with native code and other programming languages from Dart.
/interop/c-interopC interop using dart:ffiTo use C code in your Dart program, use the dart:ffi library./assets/img/logo/dart-logo-for-shares.pngC interop using dart:ffiTo use C code in your Dart program, use the dart:ffi library.
/interop/java-interopJava interop using package:jnigenTo use Java in your Dart program, use package:jnigen./assets/img/logo/dart-logo-for-shares.pngJava interop using package:jnigenTo use Java in your Dart program, use package:jnigen.
/interop/js-interopJavaScript interoperabilityIntegrate JavaScript code into your Dart web app./assets/img/logo/dart-logo-for-shares.pngJavaScript interoperabilityIntegrate JavaScript code into your Dart web app.
/interop/js-interop/js-typesJS typesUsage information about the core types in JS interop./assets/img/logo/dart-logo-for-shares.pngJS typesUsage information about the core types in JS interop.
/interop/js-interop/mockHow to mock JavaScript interop objectsLearn how to mock JS interop objects in Dart for testing./assets/img/logo/dart-logo-for-shares.pngHow to mock JavaScript interop objectsLearn how to mock JS interop objects in Dart for testing.
/interop/js-interop/package-webMigrate to package:webHow to migrate web interop code from dart:html to package:web./assets/img/logo/dart-logo-for-shares.pngMigrate to package:webHow to migrate web interop code from dart:html to package:web.
/interop/js-interop/past-js-interopPast JS interopArchive of Dart's previous JS interop support./assets/img/logo/dart-logo-for-shares.pngPast JS interopArchive of Dart's previous JS interop support.
/interop/js-interop/startGetting started with JavaScript interopA basic example of using browser APIs and a bundled JS library./assets/img/logo/dart-logo-for-shares.pngGetting started with JavaScript interopA basic example of using browser APIs and a bundled JS library.
/interop/js-interop/tutorialsJS interop tutorialsTutorials for common JavaScript interop use cases in Dart./assets/img/logo/dart-logo-for-shares.pngJS interop tutorialsTutorials for common JavaScript interop use cases in Dart.
/interop/js-interop/usageJS interop usageHow to declare and use JS interop members./assets/img/logo/dart-logo-for-shares.pngJS interop usageHow to declare and use JS interop members.
/interop/objective-c-interopObjective-C and Swift interop using package:ffigenTo use Objective-C and Swift code in your Dart program, use package:ffigen./assets/img/logo/dart-logo-for-shares.pngObjective-C and Swift interop using package:ffigenTo use Objective-C and Swift code in your Dart program, use package:ffigen.
/languageIntroduction to DartA brief introduction to Dart programs and important concepts./assets/img/logo/dart-logo-for-shares.pngIntroduction to DartA brief introduction to Dart programs and important concepts.
/language/asyncAsynchronous programmingInformation on writing asynchronous code in Dart./assets/img/logo/dart-logo-for-shares.pngAsynchronous programmingInformation on writing asynchronous code in Dart.
/language/branchesBranchesLearn how to use branches to control the flow of your Dart code./assets/img/logo/dart-logo-for-shares.pngBranchesLearn how to use branches to control the flow of your Dart code.
/language/built-in-typesBuilt-in typesInformation on the types Dart supports./assets/img/logo/dart-logo-for-shares.pngBuilt-in typesInformation on the types Dart supports.
/language/callable-objectsCallable objectsLearn how to create and use callable objects in Dart./assets/img/logo/dart-logo-for-shares.pngCallable objectsLearn how to create and use callable objects in Dart.
/language/class-modifiersClass modifiersModifier keywords for class declarations to control external library access./assets/img/logo/dart-logo-for-shares.pngClass modifiersModifier keywords for class declarations to control external library access.
/language/class-modifiers-for-apisClass modifiers for API maintainersHow to use the class modifiers added in Dart 3.0 to make your package's API more robust and maintainable./assets/img/logo/dart-logo-for-shares.pngClass modifiers for API maintainersHow to use the class modifiers added in Dart 3.0 to make your package's API more robust and maintainable.
/language/classesClassesSummary of classes, class instances, and their members./assets/img/logo/dart-logo-for-shares.pngClassesSummary of classes, class instances, and their members.
/language/collectionsCollectionsSummary of the different types of collections in Dart./assets/img/logo/dart-logo-for-shares.pngCollectionsSummary of the different types of collections in Dart.
/language/commentsCommentsThe different comment types in Dart./assets/img/logo/dart-logo-for-shares.pngCommentsThe different comment types in Dart.
/language/concurrencyConcurrency in DartUse isolates to enable parallel code execution on multiple processor cores./assets/img/logo/dart-logo-for-shares.pngConcurrency in DartUse isolates to enable parallel code execution on multiple processor cores.
/language/constructorsConstructorsEverything about using constructors in Dart./assets/img/logo/dart-logo-for-shares.pngConstructorsEverything about using constructors in Dart.
/language/dot-shorthandsDot shorthandsLearn about the dot shorthand syntax in Dart./assets/img/logo/dart-logo-for-shares.pngDot shorthandsLearn about the dot shorthand syntax in Dart.
/language/enumsEnumerated typesLearn about the enum type in Dart./assets/img/logo/dart-logo-for-shares.pngEnumerated typesLearn about the enum type in Dart.
/language/error-handlingError handlingLearn about handling errors and exceptions in Dart./assets/img/logo/dart-logo-for-shares.pngError handlingLearn about handling errors and exceptions in Dart.
/language/extendExtend a classLearn how to create subclasses from a superclass./assets/img/logo/dart-logo-for-shares.pngExtend a classLearn how to create subclasses from a superclass.
/language/extension-methodsExtension methodsLearn how to add to existing APIs./assets/img/logo/dart-logo-for-shares.pngExtension methodsLearn how to add to existing APIs.
/language/extension-typesExtension typesLearn how to write a static-only interface for an existing type./assets/img/logo/dart-logo-for-shares.pngExtension typesLearn how to write a static-only interface for an existing type.
/language/functionsFunctionsEverything about functions in Dart./assets/img/logo/dart-logo-for-shares.pngFunctionsEverything about functions in Dart.
/language/genericsGenericsLearn about generic types in Dart./assets/img/logo/dart-logo-for-shares.pngGenericsLearn about generic types in Dart.
/language/isolatesIsolatesInformation on writing isolates in Dart./assets/img/logo/dart-logo-for-shares.pngIsolatesInformation on writing isolates in Dart.
/language/keywordsKeywordsKeywords in Dart./assets/img/logo/dart-logo-for-shares.pngKeywordsKeywords in Dart.
/language/librariesLibraries & importsGuidance on importing and implementing libraries./assets/img/logo/dart-logo-for-shares.pngLibraries & importsGuidance on importing and implementing libraries.
/language/loopsLoopsLearn how to use loops to control the flow of your Dart code./assets/img/logo/dart-logo-for-shares.pngLoopsLearn how to use loops to control the flow of your Dart code.
/language/metadataMetadataMetadata and annotations in Dart./assets/img/logo/dart-logo-for-shares.pngMetadataMetadata and annotations in Dart.
/language/methodsMethodsLearn about methods in Dart./assets/img/logo/dart-logo-for-shares.pngMethodsLearn about methods in Dart.
/language/mixinsMixinsLearn how to add to features to a class in Dart./assets/img/logo/dart-logo-for-shares.pngMixinsLearn how to add to features to a class in Dart.
/language/modifier-referenceClass modifiers referenceThe allowed and disallowed combinations of class modifiers./assets/img/logo/dart-logo-for-shares.pngClass modifiers referenceThe allowed and disallowed combinations of class modifiers.
/language/operatorsOperatorsLearn about the operators Dart supports./assets/img/logo/dart-logo-for-shares.pngOperatorsLearn about the operators Dart supports.
/language/pattern-typesPattern typesPattern type reference in Dart./assets/img/logo/dart-logo-for-shares.pngPattern typesPattern type reference in Dart.
/language/patternsPatternsSummary of patterns in Dart./assets/img/logo/dart-logo-for-shares.pngPatternsSummary of patterns in Dart.
/language/recordsRecordsSummary of the record data structure in Dart./assets/img/logo/dart-logo-for-shares.pngRecordsSummary of the record data structure in Dart.
/language/type-systemThe Dart type systemWhy and how to write sound Dart code./assets/img/logo/dart-logo-for-shares.pngThe Dart type systemWhy and how to write sound Dart code.
/language/typedefsTypedefsLearn about type aliases in Dart./assets/img/logo/dart-logo-for-shares.pngTypedefsLearn about type aliases in Dart.
/language/variablesVariablesLearn about variables in Dart./assets/img/logo/dart-logo-for-shares.pngVariablesLearn about variables in Dart.
/language/versioningLanguage versioningLearn how language versioning in Dart enables evolution of the language and how to configure the language versions of your project and its libraries./assets/img/logo/dart-logo-for-shares.pngLanguage versioningLearn how language versioning in Dart enables evolution of the language and how to configure the language versions of your project and its libraries.
/learnLearn DartFind everything you need to start learning the Dart programming language./assets/img/logo/dart-logo-for-shares.pngLearn DartFind everything you need to start learning the Dart programming language.
/learn/tutorialDart tutorialBegin your Dart learning journey by building an interactive CLI app./assets/img/logo/dart-logo-for-shares.pngDart tutorialBegin your Dart learning journey by building an interactive CLI app.
/learn/tutorial/advanced-oopExtend your app with enums and extensionsEnhance your Dart skills by exploring advanced features like enhanced enums and extensions. Improve your application's output formatting and color, making it more user-friendly./assets/img/logo/dart-logo-for-shares.pngExtend your app with enums and extensionsEnhance your Dart skills by exploring advanced features like enhanced enums and extensions. Improve your application's output formatting and color, making it more user-friendly.
/learn/tutorial/asyncWrite asynchronous codeLearn about asynchronous programming in Dart and how to make HTTP requests./assets/img/logo/dart-logo-for-shares.pngWrite asynchronous codeLearn about asynchronous programming in Dart and how to make HTTP requests.
/learn/tutorial/cli-polishPolish your CLI appImprove the HelpCommand to provide more detailed information and add an onOutput argument for flexible output handling./assets/img/logo/dart-logo-for-shares.pngPolish your CLI appImprove the HelpCommand to provide more detailed information and add an onOutput argument for flexible output handling.
/learn/tutorial/data-and-jsonWork with JSON dataLearn about JSON deserialization in Dart, including how to use `dart:convert`, `jsonDecode`, and pattern matching to work with JSON data from the Wikipedia API./assets/img/logo/dart-logo-for-shares.pngWork with JSON dataLearn about JSON deserialization in Dart, including how to use `dart:convert`, `jsonDecode`, and pattern matching to work with JSON data from the Wikipedia API.
/learn/tutorial/error-handlingHandle errors gracefullyImprove app robustness by handling errors. Learn about exceptions, errors, `try/catch`, `throw`, and `rethrow`./assets/img/logo/dart-logo-for-shares.pngHandle errors gracefullyImprove app robustness by handling errors. Learn about exceptions, errors, `try/catch`, `throw`, and `rethrow`.
/learn/tutorial/fetch-dataFetch data from the internetRefactor your application to use a robust, production-ready API client for the Wikipedia CLI./assets/img/logo/dart-logo-for-shares.pngFetch data from the internetRefactor your application to use a robust, production-ready API client for the Wikipedia CLI.
/learn/tutorial/first-appBuild your first appCreate, run, and make your first change to a Dart command-line program./assets/img/logo/dart-logo-for-shares.pngBuild your first appCreate, run, and make your first change to a Dart command-line program.
/learn/tutorial/interactivityAdd interactivity to your appAdd simple commands to your cli application. Learn the fundamentals of Dart syntax including control flow, collections, variables, functions, and more./assets/img/logo/dart-logo-for-shares.pngAdd interactivity to your appAdd simple commands to your cli application. Learn the fundamentals of Dart syntax including control flow, collections, variables, functions, and more.
/learn/tutorial/loggingAdd logging for debugging and monitoringLearn how to add logging to your Dart application to help with debugging and monitoring./assets/img/logo/dart-logo-for-shares.pngAdd logging for debugging and monitoringLearn how to add logging to your Dart application to help with debugging and monitoring.
/learn/tutorial/object-orientedDefine relationships with classesLearn about object-oriented programming in Dart, including abstract classes, inheritance, overrides, and enums. Build a framework for well-architected CLI apps./assets/img/logo/dart-logo-for-shares.pngDefine relationships with classesLearn about object-oriented programming in Dart, including abstract classes, inheritance, overrides, and enums. Build a framework for well-architected CLI apps.
/learn/tutorial/packages-libsOrganize Dart code with packages and librariesLearn how to organize your Dart code into reusable libraries and packages./assets/img/logo/dart-logo-for-shares.pngOrganize Dart code with packages and librariesLearn how to organize your Dart code into reusable libraries and packages.
/learn/tutorial/testingTest your app & codeLearn how to write tests for your Dart code using the `package:test` library./assets/img/logo/dart-logo-for-shares.pngTest your app & codeLearn how to write tests for your Dart code using the `package:test` library.
/librariesDart's core librariesLearn about Dart's core libraries and APIs./assets/img/logo/dart-logo-for-shares.pngDart's core librariesLearn about Dart's core libraries and APIs.
/libraries/async/async-awaitAsynchronous programming: futures, async, awaitLearn about and practice writing asynchronous code in DartPad!/assets/img/logo/dart-logo-for-shares.pngAsynchronous programming: futures, async, awaitLearn about and practice writing asynchronous code in DartPad!
/libraries/async/creating-streamsCreating streams in DartA stream is a sequence of results; learn how to create your own./assets/img/logo/dart-logo-for-shares.pngCreating streams in DartA stream is a sequence of results; learn how to create your own.
/libraries/async/futures-error-handlingFutures and error handlingEverything you wanted to know about handling errors and exceptions when writing asynchronous code. And then some./assets/img/logo/dart-logo-for-shares.pngFutures and error handlingEverything you wanted to know about handling errors and exceptions when writing asynchronous code. And then some.
/libraries/async/using-streamsAsynchronous programming: StreamsLearn how to consume single-subscriber and broadcast streams./assets/img/logo/dart-logo-for-shares.pngAsynchronous programming: StreamsLearn how to consume single-subscriber and broadcast streams.
/libraries/async/zonesZonesManage your asynchronous code: handle uncaught errors, override behavior (such as printing and scheduling tasks), and more./assets/img/logo/dart-logo-for-shares.pngZonesManage your asynchronous code: handle uncaught errors, override behavior (such as printing and scheduling tasks), and more.
/libraries/collections/iterablesIterable collectionsAn interactive guide to using Iterable objects such as lists and sets./assets/img/logo/dart-logo-for-shares.pngIterable collectionsAn interactive guide to using Iterable objects such as lists and sets.
/libraries/core/environment-declarationsConfiguring apps with compilation environment declarationsLearn about using compilation environment declarations to customize application behavior./assets/img/logo/dart-logo-for-shares.pngConfiguring apps with compilation environment declarationsLearn about using compilation environment declarations to customize application behavior.
/libraries/dart-asyncdart:asyncLearn about the major features in Dart's dart:async library./assets/img/logo/dart-logo-for-shares.pngdart:asyncLearn about the major features in Dart's dart:async library.
/libraries/dart-convertdart:convertLearn about the major features in Dart's dart:convert library./assets/img/logo/dart-logo-for-shares.pngdart:convertLearn about the major features in Dart's dart:convert library.
/libraries/dart-coredart:coreLearn about the major features in Dart's dart:core library./assets/img/logo/dart-logo-for-shares.pngdart:coreLearn about the major features in Dart's dart:core library.
/libraries/dart-htmldart:htmlLearn about the major features in Dart's dart:html library./assets/img/logo/dart-logo-for-shares.pngdart:htmlLearn about the major features in Dart's dart:html library.
/libraries/dart-iodart:ioLearn about the major features in Dart's dart:io library./assets/img/logo/dart-logo-for-shares.pngdart:ioLearn about the major features in Dart's dart:io library.
/libraries/dart-mathdart:mathLearn about the major features in Dart's dart:math library./assets/img/logo/dart-logo-for-shares.pngdart:mathLearn about the major features in Dart's dart:math library.
/libraries/serialization/jsonUsing JSONDart solutions for reading and writing JSON./assets/img/logo/dart-logo-for-shares.pngUsing JSONDart solutions for reading and writing JSON.
/multiplatform-appsMulti-platform appsUse the Flutter framework to build beautiful native apps for many platforms and operating systems from a single codebase./assets/img/logo/dart-logo-for-shares.pngMulti-platform appsUse the Flutter framework to build beautiful native apps for many platforms and operating systems from a single codebase.
/null-safetySound null safetyAn introduction to null safety in Dart./assets/img/logo/dart-logo-for-shares.pngSound null safetyAn introduction to null safety in Dart.
/null-safety/understanding-null-safetyUnderstanding null safetyA deep dive into Dart language and library changes related to null safety./assets/img/logo/dart-logo-for-shares.pngUnderstanding null safetyA deep dive into Dart language and library changes related to null safety.
/overviewDart overviewA short introduction to Dart./assets/img/logo/dart-logo-for-shares.pngDart overviewA short introduction to Dart.
/resourcesResourcesLanding page for Dart language resources./assets/img/logo/dart-logo-for-shares.pngResourcesLanding page for Dart language resources.
/resources/booksBooks about DartRead all about it! Here's a collection of books about Dart./assets/img/logo/dart-logo-for-shares.pngBooks about DartRead all about it! Here's a collection of books about Dart.
/resources/breaking-changesBreaking changes and deprecationsA list of breaking changes by release in Dart./assets/img/logo/dart-logo-for-shares.pngBreaking changes and deprecationsA list of breaking changes by release in Dart.
/resources/dart-3-migrationDart 3 migration guideHow to migrate existing Dart code to be compatible with Dart 3./assets/img/logo/dart-logo-for-shares.pngDart 3 migration guideHow to migrate existing Dart code to be compatible with Dart 3.
/resources/dart-cheatsheetDart cheatsheetInteractively learn (or relearn) some of Dart's unique features./assets/img/logo/dart-logo-for-shares.pngDart cheatsheetInteractively learn (or relearn) some of Dart's unique features.
/resources/dart-team-packagesDart team packagesThe Dart team publishes packages under the verified publishers: dart.dev, tools.dart.dev, and labs.dart.dev./assets/img/logo/dart-logo-for-shares.pngDart team packagesThe Dart team publishes packages under the verified publishers: dart.dev, tools.dart.dev, and labs.dart.dev.
/resources/glossaryGlossaryA glossary reference for terminology used across dart.dev./assets/img/logo/dart-logo-for-shares.pngGlossaryA glossary reference for terminology used across dart.dev.
/resources/google-apisUsing Google APIsYour Dart apps can use Firebase and Google client APIs./assets/img/logo/dart-logo-for-shares.pngUsing Google APIsYour Dart apps can use Firebase and Google client APIs.
/resources/language/evolutionDart language evolutionNotable changes and additions to the Dart programming language./assets/img/logo/dart-logo-for-shares.pngDart language evolutionNotable changes and additions to the Dart programming language.
/resources/language/number-representationNumbers in DartLearn how Dart numbers are slightly different on the web, when that might matter, and how you might adjust your code./assets/img/logo/dart-logo-for-shares.pngNumbers in DartLearn how Dart numbers are slightly different on the web, when that might matter, and how you might adjust your code.
/resources/language/specDart language specificationThe formal specification for the Dart language./assets/img/logo/dart-logo-for-shares.pngDart language specificationThe formal specification for the Dart language.
/resources/useful-packagesCommonly used packagesSome of the most useful and popular packages, and where you can learn more./assets/img/logo/dart-logo-for-shares.pngCommonly used packagesSome of the most useful and popular packages, and where you can learn more.
/resources/videosDart videosLearn by watching! Here's a collection of videos about Dart./assets/img/logo/dart-logo-for-shares.pngDart videosLearn by watching! Here's a collection of videos about Dart.
/resources/whats-newWhat's newA list of what's new on dart.dev and related sites./assets/img/logo/dart-logo-for-shares.pngWhat's newA list of what's new on dart.dev and related sites.
/searchSearch dart.devSearch for documentation on dart.dev./assets/img/logo/dart-logo-for-shares.pngSearch dart.devSearch for documentation on dart.dev.
/search-allSearch more sitesSearch dart.dev, api.dart.dev, the old www.dartlang.org site, flutter.dev, and more./assets/img/logo/dart-logo-for-shares.pngSearch more sitesSearch dart.dev, api.dart.dev, the old www.dartlang.org site, flutter.dev, and more.
/securitySecurityAn overview of the Dart team's philosophy and processes for security./assets/img/logo/dart-logo-for-shares.pngSecurityAn overview of the Dart team's philosophy and processes for security.
/serverCommand-line and server appsAll things relating to command-line and server apps./assets/img/logo/dart-logo-for-shares.pngCommand-line and server appsAll things relating to command-line and server apps.
/server/fetch-dataFetch data from the internetFetch data over the internet using the http package./assets/img/logo/dart-logo-for-shares.pngFetch data from the internetFetch data over the internet using the http package.
/server/google-cloudUsing Google CloudYour Dart app can use many Google Cloud services: Firebase, Google Cloud Platform, and more./assets/img/logo/dart-logo-for-shares.pngUsing Google CloudYour Dart app can use many Google Cloud services: Firebase, Google Cloud Platform, and more.
/server/librariesCommand-line and server libraries and packagesLibraries and packages that can help you write Dart command-line & server apps./assets/img/logo/dart-logo-for-shares.pngCommand-line and server libraries and packagesLibraries and packages that can help you write Dart command-line & server apps.
/termsTerms of useThe terms of use for dart.dev./assets/img/logo/dart-logo-for-shares.pngTerms of useThe terms of use for dart.dev.
/webWeb platformResources for developing Dart web apps./assets/img/logo/dart-logo-for-shares.pngWeb platformResources for developing Dart web apps.
/web/debuggingDebugging Dart web appsLearn how to debug your Dart web app./assets/img/logo/dart-logo-for-shares.pngDebugging Dart web appsLearn how to debug your Dart web app.
/web/deploymentWeb deploymentLearn how to build your Dart web app for production deployment./assets/img/logo/dart-logo-for-shares.pngWeb deploymentLearn how to build your Dart web app for production deployment.
/web/get-startedBuild a web app with DartGet started writing web apps in Dart./assets/img/logo/dart-logo-for-shares.pngBuild a web app with DartGet started writing web apps in Dart.
/web/librariesWeb libraries and packagesLibraries and packages that can help you write Dart web apps./assets/img/logo/dart-logo-for-shares.pngWeb libraries and packagesLibraries and packages that can help you write Dart web apps.
/web/wasmWebAssembly (Wasm) compilationLearn how to compile your Dart web app to WebAssembly./assets/img/logo/dart-logo-for-shares.pngWebAssembly (Wasm) compilationLearn how to compile your Dart web app to WebAssembly.
No rows found, please edit your search term.

Heading structure

Found 121 row(s).
Heading structureCountErrors 🔽URL
  • <h1> Books about Dart [#document-title]
    • <h3> Dart Apprentice: Fundamentals [#dart-apprentice-fundamentals]
    • <h3> Dart Apprentice: Beyond the Basics [#dart-apprentice-beyond-the-basics]
    • <h3> Data Structures & Algorithms in Dart [#data-structures-algorithms-in-dart]
    • <h3> The Art of Dart: Master the Dart Programming Language [#the-art-of-dart-master-the-dart-programming-language]
    • <h3> O guia de Dart [#o-guia-de-dart]
    • <h3> Основы Dart [#основы-dart]
76/resources/books
  • <h2> Try Dart in your browser
    • <h3> Want more practice? Learn the language, explore the core libraries, or build a command-line app.
22/
  • <h1> Dart tutorial [#document-title]
    • <h3> Before you begin [#before-you-begin]
    • <h2> Lessons [#lessons]
31/learn/tutorial
  • <h1> Extend your app with enums and extensions [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Enhance the console color enum [#task-1-enhance-the-console-color-enum]
      • <h3> Task 2: Create a String extension [#task-2-create-a-string-extension]
      • <h3> Task 3: Update command_runner package [#task-3-update-command_runner-package]
      • <h3> Task 4: Implement colorful echo command [#task-4-implement-colorful-echo-command]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
131/learn/tutorial/advanced-oop
  • <h1> Work with JSON data [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Create the Wikipedia package [#task-1-create-the-wikipedia-package]
      • <h3> Task 2: Configure a Dart workspace [#task-2-configure-a-dart-workspace]
      • <h3> Task 3: Create the Summary class [#task-3-create-the-summary-class]
      • <h3> Task 4: Create the TitleSet class [#task-4-create-the-titleset-class]
      • <h3> Task 5: Create the Article class [#task-5-create-the-article-class]
      • <h3> Task 6: Create the SearchResults class [#task-6-create-the-searchresults-class]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
151/learn/tutorial/data-and-json
  • <h1> Build your first app [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Confirm your Dart setup [#task-1-confirm-your-dart-setup]
      • <h3> Task 2: Create a new Dart project [#task-2-create-a-new-dart-project]
      • <h3> Task 3: Run your first Dart program [#task-3-run-your-first-dart-program]
      • <h3> Task 4: Make your first code change [#task-4-make-your-first-code-change]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
131/learn/tutorial/first-app
  • <h1> Add logging for debugging and monitoring [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Add the logging package [#task-1-add-the-logging-package]
      • <h3> Task 2: Create a logger [#task-2-create-a-logger]
      • <h3> Task 3: Use the logger in cli.dart [#task-3-use-the-logger-in-cli-dart]
      • <h3> Task 4: Create the SearchCommand command [#task-4-create-the-searchcommand-command]
      • <h3> Task 5: Create the GetArticleCommand command [#task-5-create-the-getarticlecommand-command]
      • <h3> Task 6: Run the application and check the logs [#task-6-run-the-application-and-check-the-logs]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
151/learn/tutorial/logging
  • <h1> Fetch data from the internet [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Add the http dependency to the wikipedia package [#task-1-add-the-http-dependency-to-the-wikipedia-package]
      • <h3> Task 2: Implement Wikipedia API calls [#task-2-implement-wikipedia-api-calls]
      • <h3> Task 3: Export the API functions [#task-3-export-the-api-functions]
    • <h2> Task 4: Verify with tests [#task-4-verify-with-tests]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
131/learn/tutorial/fetch-data
  • <h1> Define relationships with classes [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Define the argument hierarchy [#task-1-define-the-argument-hierarchy]
      • <h3> Task 2: Update the CommandRunner class [#task-2-update-the-commandrunner-class]
      • <h3> Task 3: Create a HelpCommand [#task-3-create-a-helpcommand]
      • <h3> Task 4: Update cli.dart to use the new CommandRunner [#task-4-update-cli-dart-to-use-the-new-commandrunner]
      • <h3> Task 5: Run the application [#task-5-run-the-application]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
141/learn/tutorial/object-oriented
  • <h1> Polish your CLI app [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1 Improve the HelpCommand output [#task-1-improve-the-helpcommand-output]
      • <h3> Task 2 Add an onOutput callback [#task-2-add-an-onoutput-callback]
      • <h3> Task 3 Use the onOutput callback [#task-3-use-the-onoutput-callback]
      • <h3> Task 4 Test the changes [#task-4-test-the-changes]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
131/learn/tutorial/cli-polish
  • <h1> Test your app & code [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Add the test dependency [#task-1-add-the-test-dependency]
      • <h3> Task 2: Create a test file and add imports [#task-2-create-a-test-file-and-add-imports]
      • <h3> Task 3: Create the test data files [#task-3-create-the-test-data-files]
      • <h3> Task 4: Write tests for JSON deserialization [#task-4-write-tests-for-json-deserialization]
      • <h3> Task 5: Run the tests [#task-5-run-the-tests]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
141/learn/tutorial/testing
  • <h1> Add interactivity to your app [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Implement version and help commands [#task-1-implement-version-and-help-commands]
      • <h3> Task 2: Implement the search command [#task-2-implement-the-search-command]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
111/learn/tutorial/interactivity
  • <h1> Handle errors gracefully [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Create a custom ArgumentException [#task-1-create-a-custom-argumentexception]
    • <h2> Task 2: Implement error handling in CommandRunner [#task-2-implement-error-handling-in-commandrunner]
      • <h3> Task 3: Update cli.dart to use the new error handling [#task-3-update-cli-dart-to-use-the-new-error-handling]
      • <h3> Task 4: Update command_runner library exports [#task-4-update-command_runner-library-exports]
      • <h3> Task 5: Test the new error handling [#task-5-test-the-new-error-handling]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
141/learn/tutorial/error-handling
  • <h1> Write asynchronous code [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Add the http dependency [#task-1-add-the-http-dependency]
      • <h3> Task 2: Import the http package [#task-2-import-the-http-package]
      • <h3> Task 3: Implement the getWikipediaArticle function [#task-3-implement-the-getwikipediaarticle-function]
      • <h3> Task 4: Integrate the API call into searchWikipedia [#task-4-integrate-the-api-call-into-searchwikipedia]
      • <h3> Task 5: Update main to call searchWikipedia [#task-5-update-main-to-call-searchwikipedia]
      • <h3> Task 6: Run the application [#task-6-run-the-application]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
151/learn/tutorial/async
  • <h1> Organize Dart code with packages and libraries [#document-title]
    • <h3> What you'll accomplish
    • <h2> Prerequisites [#prerequisites]
    • <h2> Tasks [#tasks]
      • <h3> Task 1: Create the command_runner package [#task-1-create-the-command_runner-package]
      • <h3> Task 2: Implement the CommandRunner class [#task-2-implement-the-commandrunner-class]
      • <h3> Task 3: Add command_runner as a dependency [#task-3-add-command_runner-as-a-dependency]
      • <h3> Task 4: Import and use the command_runner package [#task-4-import-and-use-the-command_runner-package]
      • <h3> Task 5: Run the application [#task-5-run-the-application]
    • <h2> Review [#review]
      • <h3> What you accomplished
    • <h2> Quiz [#quiz]
      • <h3> Check your understanding
    • <h2> Next lesson [#next-lesson]
141/learn/tutorial/packages-libs
  • <h1> Dart documentation [#document-title]
10/docs
  • <h1> dart:convert [#document-title]
    • <h2> Decoding and encoding JSON [#decoding-and-encoding-json]
    • <h2> Decoding and encoding UTF-8 characters [#decoding-and-encoding-utf-8-characters]
    • <h2> Other functionality [#other-functionality]
40/libraries/dart-convert
  • <h1> Community and support [#document-title]
    • <h2> Stay informed [#stay-informed]
    • <h2> Contribute [#contribute]
    • <h2> Join the conversation [#join-the-conversation]
      • <h3> Communities [#communities]
      • <h3> Google Groups [#google-groups]
60/community
  • <h1> Dot shorthands [#document-title]
    • <h2> Overview [#overview]
    • <h2> The role of context type [#the-role-of-context-type]
    • <h2> Lexical structure and syntax [#lexical-structure-and-syntax]
      • <h3> Enums [#enums]
      • <h3> Named constructors [#named-constructors]
      • <h3> Unnamed constructors [#unnamed-constructors]
      • <h3> Static members [#static-members]
      • <h3> Constant expressions [#constant-expressions]
    • <h2> Rules and limitations [#rules-and-limitations]
      • <h3> Clear context type required in chains [#clear-context-type-required-in-chains]
      • <h3> Asymmetric equality checks [#asymmetric-equality-checks]
      • <h3> Expression statements can't start with . [#expression-statements-cant-start-with]
      • <h3> Limited handling of union types [#limited-handling-of-union-types]
140/language/dot-shorthands
  • <h1> Dart 3 migration guide [#document-title]
    • <h2> Introduction [#introduction]
      • <h3> Unversioned vs versioned changes [#unversioned-vs-versioned-changes]
      • <h3> Dart 3 backwards compatibility [#dart-3-backwards-compatibility]
      • <h3> Testing for impact [#testing-for-impact]
    • <h2> Dart 3 language changes [#dart-3-language-changes]
      • <h3> 100% sound null safety [#100-sound-null-safety]
      • <h3> Colon-syntax for default values [#colon-syntax-for-default-values]
      • <h3> mixin [#mixin]
      • <h3> switch [#switch]
      • <h3> continue [#continue]
    • <h2> Dart 3 core library changes [#dart-3-core-library-changes]
      • <h3> APIs removed [#apis-removed]
      • <h3> Extends & implements [#extends-implements]
    • <h2> Dart 3 tools changes [#dart-3-tools-changes]
      • <h3> Removed tools [#removed-tools]
      • <h3> Null safety migration tools [#null-safety-migration-tools]
      • <h3> Analyzer config [#analyzer-config]
      • <h3> Other tools changes [#other-tools-changes]
190/resources/dart-3-migration
  • <h1> Sound null safety [#document-title]
    • <h2> Examples [#examples]
    • <h2> Null safety principles [#null-safety-principles]
    • <h2> Historical migration resources [#migrate]
40/null-safety
  • <h1> Security [#document-title]
    • <h2> Security philosophy [#security-philosophy]
    • <h2> Reporting vulnerabilities [#reporting-vulnerabilities]
    • <h2> Flagging existing issues as security-related [#flagging-existing-issues-as-security-related]
    • <h2> Supported versions [#supported-versions]
    • <h2> Expectations [#expectations]
    • <h2> Receiving security updates [#receiving-security-updates]
    • <h2> Best practices [#best-practices]
80/security
  • <h1> Asynchronous programming [#document-title]
    • <h2> Handling Futures [#handling-futures]
    • <h2> Declaring async functions [#declaring-async-functions]
    • <h2> Handling Streams [#handling-streams]
40/language/async
  • <h1> JavaScript interoperability [#document-title]
    • <h2> Overview [#overview]
    • <h2> Additional resources [#additional-resources]
30/interop/js-interop
  • <h1> Dart overview [#document-title]
    • <h2> Dart: The language [#language]
    • <h2> Dart: The libraries [#libraries]
    • <h2> Dart: The platforms [#platform]
    • <h2> Learning Dart [#learning-dart]
50/overview
  • <h1> Classes [#document-title]
    • <h2> Using class members [#using-class-members]
    • <h2> Using constructors [#using-constructors]
    • <h2> Getting an object's type [#getting-an-objects-type]
    • <h2> Instance variables [#instance-variables]
    • <h2> Implicit interfaces [#implicit-interfaces]
    • <h2> Class variables and methods [#class-variables-and-methods]
      • <h3> Static variables [#static-variables]
      • <h3> Static methods [#static-methods]
90/language/classes
  • <h1> dart:core [#document-title]
    • <h2> Printing to the console [#printing-to-the-console]
    • <h2> Numbers [#numbers]
    • <h2> Strings and regular expressions [#strings-and-regular-expressions]
      • <h3> Searching inside a string [#searching-inside-a-string]
      • <h3> Extracting data from a string [#extracting-data-from-a-string]
      • <h3> Converting to uppercase or lowercase [#converting-to-uppercase-or-lowercase]
      • <h3> Trimming and empty strings [#trimming-and-empty-strings]
      • <h3> Replacing part of a string [#replacing-part-of-a-string]
      • <h3> Building a string [#building-a-string]
      • <h3> Regular expressions [#regular-expressions]
      • <h3> More information [#more-information]
    • <h2> Collections [#collections]
      • <h3> Lists [#lists]
      • <h3> Sets [#sets]
      • <h3> Maps [#maps]
      • <h3> Common collection methods [#common-collection-methods]
    • <h2> URIs [#uris]
      • <h3> Encoding and decoding fully qualified URIs [#encoding-and-decoding-fully-qualified-uris]
      • <h3> Encoding and decoding URI components [#encoding-and-decoding-uri-components]
      • <h3> Parsing URIs [#parsing-uris]
      • <h3> Building URIs [#building-uris]
    • <h2> Dates and times [#dates-and-times]
    • <h2> Utility classes [#utility-classes]
      • <h3> Comparing objects [#comparing-objects]
      • <h3> Implementing map keys [#implementing-map-keys]
      • <h3> Iteration [#iteration]
    • <h2> Exceptions [#exceptions]
    • <h2> Weak references and finalizers [#weak-references-and-finalizers]
290/libraries/dart-core
  • <h1> Terms of use [#document-title]
10/terms
  • <h1> Enumerated types [#document-title]
    • <h2> Declaring simple enums [#declaring-simple-enums]
    • <h2> Declaring enhanced enums [#declaring-enhanced-enums]
    • <h2> Using enums [#using-enums]
40/language/enums
  • <h1> Branches [#document-title]
    • <h2> If [#if]
      • <h3> If-case [#if-case]
    • <h2> Switch statements [#switch-statements]
      • <h3> Switch expressions [#switch-expressions]
      • <h3> Exhaustiveness checking [#exhaustiveness-checking]
    • <h2> Guard clause [#guard-clause]
70/language/branches
  • <h1> Generics [#document-title]
    • <h2> Why use generics? [#why-use-generics]
    • <h2> Using collection literals [#using-collection-literals]
    • <h2> Using parameterized types with constructors [#using-parameterized-types-with-constructors]
    • <h2> Generic collections and the types they contain [#generic-collections-and-the-types-they-contain]
    • <h2> Restricting the parameterized type [#restricting-the-parameterized-type]
      • <h3> Self-referential type parameter restrictions (F-bounds) [#f-bounds]
    • <h2> Using generic methods [#using-generic-methods]
80/language/generics
  • <h1> WebAssembly (Wasm) compilation [#document-title]
    • <h2> WebAssembly support [#webassembly-support]
      • <h3> Supported packages [#supported-packages]
    • <h2> Compiling your web app to Wasm [#compiling-to-wasm]
40/web/wasm
  • <h1> Functions [#document-title]
    • <h2> Parameters [#parameters]
      • <h3> Named parameters [#named-parameters]
      • <h3> Optional positional parameters [#optional-positional-parameters]
    • <h2> The main() function [#main]
    • <h2> Functions as first-class objects [#functions-as-first-class-objects]
    • <h2> Function types [#function-types]
    • <h2> Anonymous functions [#anonymous-functions]
    • <h2> Lexical scope [#lexical-scope]
    • <h2> Lexical closures [#lexical-closures]
    • <h2> Tear-offs [#tear-offs]
    • <h2> Testing functions for equality [#testing-functions-for-equality]
    • <h2> Return values [#return-values]
    • <h2> Getters and setters [#getters-and-setters]
    • <h2> Generators [#generators]
    • <h2> External functions [#external]
160/language/functions
  • <h1> Web platform [#document-title]
10/web
  • <h1> Mixins [#document-title]
    • <h2> Specify members a mixin can call on itself [#specify-members-a-mixin-can-call-on-itself]
      • <h3> Define abstract members in the mixin [#define-abstract-members-in-the-mixin]
      • <h3> Implement an interface [#implement-an-interface]
      • <h3> Use the on clause to declare a superclass [#use-the-on-clause-to-declare-a-superclass]
    • <h2> class, mixin, or mixin class? [#class-mixin-or-mixin-class]
60/language/mixins
  • <h1> Asynchronous programming: futures, async, await [#document-title]
    • <h2> Why asynchronous code matters [#why-asynchronous-code-matters]
      • <h3> Example: Incorrectly using an asynchronous function [#example-incorrectly-using-an-asynchronous-function]
    • <h2> What is a future? [#what-is-a-future]
      • <h3> Uncompleted [#uncompleted]
      • <h3> Completed [#completed]
      • <h3> Example: Introducing futures [#example-introducing-futures]
      • <h3> Example: Completing with an error [#example-completing-with-an-error]
    • <h2> Working with futures: async and await [#working-with-futures-async-and-await]
      • <h3> Execution flow with async and await [#execution-flow-with-async-and-await]
      • <h3> Example: Execution within async functions [#example-execution-within-async-functions]
      • <h3> Exercise: Practice using async and await [#exercise-practice-using-async-and-await]
    • <h2> Handling errors [#handling-errors]
      • <h3> Example: async and await with try-catch [#example-async-and-await-with-try-catch]
      • <h3> Exercise: Practice handling errors [#exercise-practice-handling-errors]
    • <h2> Exercise: Putting it all together [#exercise-putting-it-all-together]
    • <h2> Which lints work for futures? [#which-lints-work-for-futures]
    • <h2> What's next? [#whats-next]
180/libraries/async/async-await
  • <h1> Pattern types [#document-title]
    • <h2> Logical-or [#logical-or]
    • <h2> Logical-and [#logical-and]
    • <h2> Relational [#relational]
    • <h2> Cast [#cast]
    • <h2> Null-check [#null-check]
    • <h2> Null-assert [#null-assert]
    • <h2> Constant [#constant]
    • <h2> Variable [#variable]
    • <h2> Identifier [#identifier]
    • <h2> Parenthesized [#parenthesized]
    • <h2> List [#list]
      • <h3> Rest element [#rest-element]
    • <h2> Map [#map]
    • <h2> Record [#record]
    • <h2> Object [#object]
    • <h2> Wildcard [#wildcard]
170/language/pattern-types
  • <h1> C interop using dart:ffi [#document-title]
    • <h2> Download example files [#download-example-files]
      • <h3> Review the hello_world example [#review-the-hello_world-example]
    • <h2> Bundle and load C libraries [#bundle-and-load-c-libraries]
    • <h2> Interface with native types [#interface-with-native-types]
      • <h3> Can instantiate these type signature markers [#can-instantiate-these-type-signature-markers]
      • <h3> Serve as type signature markers only [#serve-as-type-signature-markers-only]
    • <h2> Generate FFI bindings with package:ffigen [#generate-ffi-bindings-with-package-ffigen]
    • <h2> Build and bundle native code [#build-hooks]
90/interop/c-interop
  • <h1> Dart's core libraries [#document-title]
    • <h2> Library tour [#library-tour]
    • <h2> Multi-platform libraries [#multi-platform-libraries]
    • <h2> Native platform libraries [#native-platform-libraries]
    • <h2> Web platform libraries [#web-platform-libraries]
50/libraries
  • <h1> Migrate to package:web [#document-title]
    • <h2> package:web vs dart:html [#package-web-vs-dart-html]
    • <h2> Migrating from dart:html [#migrating-from-dart-html]
      • <h3> Renames [#renames]
      • <h3> Element and HTMLElement [#element-and-htmlelement]
      • <h3> List operations [#list-operations]
      • <h3> Common DOM manipulation examples [#common-dom-manipulation-examples]
      • <h3> Type tests [#type-tests]
      • <h3> Type signatures [#type-signatures]
      • <h3> Conditional imports [#conditional-imports]
      • <h3> Virtual dispatch and mocking [#virtual-dispatch-and-mocking]
      • <h3> Non-native APIs [#non-native-apis]
      • <h3> Zones [#zones]
    • <h2> Helpers [#helpers]
    • <h2> Examples [#examples]
150/interop/js-interop/package-web
  • <h1> Introduction to Dart [#document-title]
    • <h2> Hello World [#hello-world]
    • <h2> Variables [#variables]
    • <h2> Control flow statements [#control-flow-statements]
    • <h2> Functions [#functions]
    • <h2> Comments [#comments]
    • <h2> Imports [#imports]
    • <h2> Classes [#classes]
    • <h2> Enums [#enums]
    • <h2> Inheritance [#inheritance]
    • <h2> Mixins [#mixins]
    • <h2> Interfaces and abstract classes [#interfaces-and-abstract-classes]
    • <h2> Async [#async]
    • <h2> Exceptions [#exceptions]
    • <h2> Important concepts [#important-concepts]
    • <h2> Additional resources [#additional-resources]
160/language
  • <h1> Build a web app with Dart [#document-title]
    • <h2> 1. Install Dart [#install-dart]
    • <h2> 2. Get CLI tools or an IDE (or both) [#tools]
    • <h2> 3. Create a web app [#create]
    • <h2> 4. Run the app [#run]
    • <h2> 5. Add custom code to the app [#add-code]
    • <h2> 6. Use Dart DevTools to inspect the app [#devtools]
    • <h2> 7. Build and deploy your web app [#deploy]
    • <h2> What next? [#what-next]
90/web/get-started
  • <h1> Extension methods [#document-title]
    • <h2> Overview [#overview]
    • <h2> Using extension methods [#using-extension-methods]
      • <h3> Static types and dynamic [#static-types-and-dynamic]
      • <h3> API conflicts [#api-conflicts]
    • <h2> Implementing extension methods [#implementing-extension-methods]
      • <h3> Unnamed extensions [#unnamed-extensions]
    • <h2> Implementing generic extensions [#implementing-generic-extensions]
    • <h2> Resources [#resources]
90/language/extension-methods
  • <h1> Configuring apps with compilation environment declarations [#document-title]
    • <h2> Accessing environment declarations [#accessing-environment-declarations]
    • <h2> Specifying environment declarations [#specifying-environment-declarations]
      • <h3> Dart CLI [#dart-cli]
      • <h3> Visual Studio Code [#visual-studio-code]
      • <h3> JetBrains IDEs [#jetbrains-ides]
      • <h3> Flutter [#flutter]
70/libraries/core/environment-declarations
  • <h1> Error handling [#document-title]
    • <h2> Exceptions [#exceptions]
      • <h3> Throw [#throw]
      • <h3> Catch [#catch]
      • <h3> Finally [#finally]
    • <h2> Assert [#assert]
60/language/error-handling
  • <h1> JS types [#document-title]
    • <h2> Type hierarchy [#type-hierarchy]
    • <h2> Conversions [#conversions]
    • <h2> Requirements on external declarations and Function.toJS [#requirements-on-external-declarations-and-function-tojs]
    • <h2> Compatibility, type checks, and casts [#compatibility-type-checks-and-casts]
    • <h2> null vs undefined [#null-vs-undefined]
    • <h2> JSBoxedDartObject vs ExternalDartReference [#jsboxeddartobject-vs-externaldartreference]
70/interop/js-interop/js-types
  • <h1> The Dart type system [#document-title]
    • <h2> What is soundness? [#what-is-soundness]
    • <h2> The benefits of soundness [#the-benefits-of-soundness]
    • <h2> Tips for passing static analysis [#tips-for-passing-static-analysis]
      • <h3> Use sound return types when overriding methods [#use-sound-return-types-when-overriding-methods]
      • <h3> Use sound parameter types when overriding methods [#use-sound-parameter-types-when-overriding-methods]
      • <h3> Don't use a dynamic list as a typed list [#dont-use-a-dynamic-list-as-a-typed-list]
    • <h2> Runtime checks [#runtime-checks]
      • <h3> Implicit downcasts from dynamic [#implicit-downcasts-from-dynamic]
    • <h2> Type inference [#type-inference]
      • <h3> Field and method inference [#field-and-method-inference]
      • <h3> Static field inference [#static-field-inference]
      • <h3> Local variable inference [#local-variable-inference]
      • <h3> Type argument inference [#type-argument-inference]
    • <h2> Substituting types [#substituting-types]
      • <h3> Simple type assignment [#simple-type-assignment]
      • <h3> Generic type assignment [#generic-type-assignment]
      • <h3> Methods [#methods]
    • <h2> Other resources [#other-resources]
190/language/type-system
  • <h1> Dart changelog [#document-title]
    • <h2> 3.11
    • <h2> 3.10
    • <h2> 3.9
    • <h2> 3.8
    • <h2> 3.7
    • <h2> 3.6
    • <h2> 3.5
    • <h2> 3.4
    • <h2> 3.3
    • <h2> 3.2
    • <h2> 3.1
    • <h2> 3.0
    • <h2> 2.19
    • <h2> 2.18
    • <h2> 2.17
    • <h2> 2.16
    • <h2> 2.15
    • <h2> 2.14
    • <h2> 2.13
    • <h2> 2.12
    • <h2> 2.10
    • <h2> 2.9
    • <h2> 2.8
    • <h2> 2.7
    • <h2> 2.6
    • <h2> 2.5
    • <h2> 2.4
    • <h2> 2.3
    • <h2> 2.2
    • <h2> 2.1
    • <h2> 2.0
      • <h3> Types of changes
330/changelog
  • <h1> Built-in types [#document-title]
    • <h2> Numbers [#numbers]
    • <h2> Strings [#strings]
    • <h2> Booleans [#booleans]
    • <h2> Runes and grapheme clusters [#runes-and-grapheme-clusters]
    • <h2> Symbols [#symbols]
60/language/built-in-types
  • <h1> Web libraries and packages [#document-title]
    • <h2> Web solutions [#web-solutions]
20/web/libraries
  • <h1> Glossary [#document-title]
    • <h2> AOT
      • <h3> Related docs and resources
    • <h2> Application package
      • <h3> Related docs and resources
    • <h2> Assist
      • <h3> Related docs and resources
    • <h2> Asynchronous
      • <h3> Related docs and resources
    • <h2> Bottom type
      • <h3> Related docs and resources
    • <h2> Callback
      • <h3> Related docs and resources
    • <h2> Closurization
      • <h3> Related docs and resources
    • <h2> Code asset
      • <h3> Related docs and resources
    • <h2> Combinator
      • <h3> Related docs and resources
    • <h2> Constant context
      • <h3> Related docs and resources
    • <h2> Context type
      • <h3> Related docs and resources
    • <h2> Dart SDK constraint
      • <h3> Related docs and resources
    • <h2> Definite assignment
      • <h3> Related docs and resources
    • <h2> Dependency
      • <h3> Related docs and resources
    • <h2> Dependency graph
      • <h3> Related docs and resources
    • <h2> Dependency source
      • <h3> Related docs and resources
    • <h2> Entrypoint
      • <h3> Related docs and resources
    • <h2> Entrypoint directory
      • <h3> Related docs and resources
    • <h2> Function
      • <h3> Related docs and resources
    • <h2> Immediate dependency
      • <h3> Related docs and resources
    • <h2> Immutable
      • <h3> Related docs and resources
    • <h2> Interop
      • <h3> Related docs and resources
    • <h2> Irrefutable pattern
      • <h3> Related docs and resources
    • <h2> Just-in-Time compilation (JIT)
      • <h3> Related docs and resources
    • <h2> Late
      • <h3> Related docs and resources
    • <h2> Library
      • <h3> Related docs and resources
    • <h2> Lockfile
      • <h3> Related docs and resources
    • <h2> Mixin application
      • <h3> Related docs and resources
    • <h2> Null safety
      • <h3> Related docs and resources
    • <h2> Obviously typed
      • <h3> Obviously typed expressions [#obviously-typed-expressions]
      • <h3> Related docs and resources
    • <h2> Override inference
      • <h3> Related docs and resources
    • <h2> Package
      • <h3> Related docs and resources
    • <h2> Package uploader
      • <h3> Related docs and resources
    • <h2> Part file
      • <h3> Related docs and resources
    • <h2> Potentially non-nullable
      • <h3> Related docs and resources
    • <h2> Pub content hash
      • <h3> Related docs and resources
    • <h2> Pub system cache
      • <h3> Related docs and resources
    • <h2> Pub workspace
      • <h3> Related docs and resources
    • <h2> Public library
      • <h3> Related docs and resources
    • <h2> Quick fix
      • <h3> Related docs and resources
    • <h2> Refactor
      • <h3> Related docs and resources
    • <h2> Refutable pattern
      • <h3> Related docs and resources
    • <h2> Reified generics
      • <h3> Related docs and resources
    • <h2> Scope
      • <h3> Related docs and resources
    • <h2> Shadowing
      • <h3> Example [#example]
    • <h2> Sound
      • <h3> Related docs and resources
    • <h2> Subclass
      • <h3> Related docs and resources
    • <h2> Subtype
      • <h3> Related docs and resources
    • <h2> Top type
      • <h3> Related docs and resources
    • <h2> Transitive dependency
      • <h3> Related docs and resources
    • <h2> Tree shaking
      • <h3> Related docs and resources
    • <h2> Type alias
      • <h3> Examples [#examples]
      • <h3> Related docs and resources
    • <h2> Variance and variance positions
      • <h3> Related docs and resources
    • <h2> Verified publisher
      • <h3> Related docs and resources
    • <h2> Version constraint
      • <h3> Related docs and resources
    • <h2> Wildcard
      • <h3> Related docs and resources
    • <h2> Zone
      • <h3> Related docs and resources
1170/resources/glossary
  • <h1> Extension types [#document-title]
    • <h2> Syntax [#syntax]
      • <h3> Declaration [#declaration]
      • <h3> Constructors [#constructors]
      • <h3> Members [#members]
      • <h3> Implements [#implements]
    • <h2> Usage [#usage]
      • <h3> 1. Provide an extended interface to an existing type [#provide-extended-interface]
      • <h3> 2. Provide a different interface to an existing type [#provide-different-interface]
    • <h2> Type considerations [#type-considerations]
100/language/extension-types
  • <h1> Numbers in Dart [#document-title]
    • <h2> Dart number representation [#dart-number-representation]
    • <h2> Differences in behavior [#differences-in-behavior]
      • <h3> Precision [#precision]
      • <h3> Identity [#identity]
      • <h3> Types and type checking [#types-and-type-checking]
      • <h3> Bitwise operations [#bitwise-operations]
      • <h3> String representation [#string-representation]
    • <h2> What should you do? [#what-should-you-do]
90/resources/language/number-representation
  • <h1> Creating streams in Dart [#document-title]
    • <h2> Transforming an existing stream [#transforming-an-existing-stream]
    • <h2> Creating a stream from scratch [#creating-a-stream-from-scratch]
    • <h2> Using a StreamController [#using-a-streamcontroller]
      • <h3> Waiting for a subscription [#waiting-for-a-subscription]
      • <h3> Honoring the pause state [#honoring-the-pause-state]
    • <h2> Final hints [#final-hints]
70/libraries/async/creating-streams
  • <h1> Class modifiers for API maintainers [#document-title]
    • <h2> The mixin modifier on classes [#the-mixin-modifier-on-classes]
      • <h3> Migrating classes as mixins [#migrating-classes-as-mixins]
    • <h2> Other opt-in modifiers [#other-opt-in-modifiers]
    • <h2> The interface modifier [#the-interface-modifier]
    • <h2> The base modifier [#the-base-modifier]
      • <h3> Base transitivity [#base-transitivity]
    • <h2> The final modifier [#the-final-modifier]
    • <h2> The sealed modifier [#the-sealed-modifier]
      • <h3> sealed versus final [#sealed-versus-final]
    • <h2> Summary [#summary]
110/language/class-modifiers-for-apis
  • <h1> What's new [#document-title]
    • <h2> 3.11 release [#3-11-release]
      • <h3> Documentation updates [#documentation-updates]
    • <h2> 3.10 release [#3-10-release]
      • <h3> Documentation updates [#documentation-updates]
      • <h3> Site improvements [#site-improvements]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 3.9 release [#3-9-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 3.8 release [#3-8-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Site changes for dart.dev [#site-changes-for-dart-dev]
    • <h2> 3.7 release [#3-7-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 3.6 release [#3-6-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 3.5 release [#3-5-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 3.4 release [#3-4-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 3.3 release [#3-3-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 3.2 release [#3-2-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 3.1 release [#3-1-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 3.0 release [#3-0-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
      • <h3> Videos released by the Dart team [#videos-released-by-the-dart-team]
    • <h2> 2.19 + 3.0 alpha releases [#2-19-3-0-alpha-releases]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 2.18 release [#2-18-release]
    • <h2> 2.17 release [#2-17-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 2.16 release [#2-16-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 2.15 release [#2-15-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
    • <h2> 2.14 release [#2-14-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 2.13 release [#2-13-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 2.12 release [#2-12-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
    • <h2> 2.10 release [#2-10-release]
      • <h3> Docs updated or added to dart.dev [#docs-updated-or-added-to-dart-dev]
      • <h3> Articles added to the Dart blog [#articles-added-to-the-dart-blog]
550/resources/whats-new
  • <h1> Concurrency in Dart [#document-title]
    • <h2> Event Loop [#event-loop]
    • <h2> Asynchronous programming [#asynchronous-programming]
      • <h3> Futures [#futures]
      • <h3> The async-await syntax [#the-async-await-syntax]
      • <h3> Streams [#streams]
    • <h2> Isolates [#isolates]
      • <h3> The main isolate [#the-main-isolate]
      • <h3> The isolate life cycle [#the-isolate-life-cycle]
      • <h3> Event handling [#event-handling]
      • <h3> Background workers [#background-workers]
      • <h3> Using isolates [#using-isolates]
      • <h3> Performance and isolate groups [#performance-and-isolate-groups]
      • <h3> Limitations of isolates [#limitations-of-isolates]
    • <h2> Concurrency on the web [#concurrency-on-the-web]
    • <h2> Additional resources [#additional-resources]
160/language/concurrency
  • <h1> Records [#document-title]
    • <h2> Record syntax [#record-syntax]
    • <h2> Record fields [#record-fields]
    • <h2> Record types [#record-types]
    • <h2> Record equality [#record-equality]
    • <h2> Multiple returns [#multiple-returns]
    • <h2> Records as simple data structures [#records-as-simple-data-structures]
      • <h3> Records and typedefs [#records-and-typedefs]
80/language/records
  • <h1> Loops [#document-title]
    • <h2> For loops [#for-loops]
    • <h2> While and do-while [#while-and-do-while]
    • <h2> Break and continue [#break-and-continue]
    • <h2> Labels [#labels]
      • <h3> Labels in for loop using break [#labels-in-for-loop-using-break]
      • <h3> Labels in for loop using continue [#labels-in-for-loop-using-continue]
      • <h3> Labels in while loop using break [#labels-in-while-loop-using-break]
      • <h3> Labels in while loop using continue [#labels-in-while-loop-using-continue]
      • <h3> Labels in do-while loop using break [#labels-in-do-while-loop-using-break]
      • <h3> Labels in do-while loop using continue [#labels-in-do-while-loop-using-continue]
110/language/loops
  • <h1> Libraries & imports [#document-title]
    • <h2> Using libraries [#using-libraries]
      • <h3> Specifying a library prefix [#specifying-a-library-prefix]
      • <h3> Importing only part of a library [#importing-only-part-of-a-library]
      • <h3> The library directive [#library-directive]
    • <h2> Implementing libraries [#implementing-libraries]
60/language/libraries
  • <h1> Effective Dart: Documentation [#document-title]
    • <h2> Comments [#comments]
      • <h3> DO format comments like sentences [#do-format-comments-like-sentences]
      • <h3> DON'T use block comments for documentation [#dont-use-block-comments-for-documentation]
    • <h2> Doc comments [#doc-comments]
      • <h3> DO use /// doc comments to document members and types [#do-use-doc-comments-to-document-members-and-types]
      • <h3> PREFER writing doc comments for public APIs [#prefer-writing-doc-comments-for-public-apis]
      • <h3> CONSIDER writing a library-level doc comment [#consider-writing-a-library-level-doc-comment]
      • <h3> CONSIDER writing doc comments for private APIs [#consider-writing-doc-comments-for-private-apis]
      • <h3> DO start doc comments with a single-sentence summary [#do-start-doc-comments-with-a-single-sentence-summary]
      • <h3> DO separate the first sentence of a doc comment into its own paragraph [#do-separate-the-first-sentence-of-a-doc-comment-into-its-own-paragraph]
      • <h3> AVOID redundancy with the surrounding context [#avoid-redundancy-with-the-surrounding-context]
      • <h3> PREFER starting comments of a function or method with third-person verbs if its main purpose is a side effect [#prefer-starting-comments-of-a-function-or-method-with-third-person-verbs-if-its-main-purpose-is-a-side-effect]
      • <h3> PREFER starting a non-boolean variable or property comment with a noun phrase [#prefer-starting-a-non-boolean-variable-or-property-comment-with-a-noun-phrase]
      • <h3> PREFER starting a boolean variable or property comment with "Whether" followed by a noun or gerund phrase [#prefer-starting-a-boolean-variable-or-property-comment-with-whether-followed-by-a-noun-or-gerund-phrase]
      • <h3> PREFER a noun phrase or non-imperative verb phrase for a function or method if returning a value is its primary purpose [#prefer-a-noun-phrase-or-non-imperative-verb-phrase-for-a-function-or-method-if-returning-a-value-is-its-primary-purpose]
      • <h3> DON'T write documentation for both the getter and setter of a property [#dont-write-documentation-for-both-the-getter-and-setter-of-a-property]
      • <h3> PREFER starting library or type comments with noun phrases [#prefer-starting-library-or-type-comments-with-noun-phrases]
      • <h3> CONSIDER including code samples in doc comments [#consider-including-code-samples-in-doc-comments]
      • <h3> DO use square brackets in doc comments to refer to in-scope identifiers [#do-use-square-brackets-in-doc-comments-to-refer-to-in-scope-identifiers]
      • <h3> DO use prose to explain parameters, return values, and exceptions [#do-use-prose-to-explain-parameters-return-values-and-exceptions]
      • <h3> DO put doc comments before metadata annotations [#do-put-doc-comments-before-metadata-annotations]
    • <h2> Markdown [#markdown]
      • <h3> AVOID using markdown excessively [#avoid-using-markdown-excessively]
      • <h3> AVOID using HTML for formatting [#avoid-using-html-for-formatting]
      • <h3> PREFER backtick fences for code blocks [#prefer-backtick-fences-for-code-blocks]
    • <h2> Writing [#writing]
      • <h3> PREFER brevity [#prefer-brevity]
      • <h3> AVOID abbreviations and acronyms unless they are obvious [#avoid-abbreviations-and-acronyms-unless-they-are-obvious]
      • <h3> PREFER using "this" instead of "the" to refer to a member's instance [#prefer-using-this-instead-of-the-to-refer-to-a-members-instance]
300/effective-dart/documentation
  • <h1> Class modifiers [#document-title]
    • <h2> No modifier [#no-modifier]
    • <h2> abstract [#abstract]
    • <h2> base [#base]
    • <h2> interface [#interface]
      • <h3> abstract interface [#abstract-interface]
    • <h2> final [#final]
    • <h2> sealed [#sealed]
    • <h2> Combining modifiers [#combining-modifiers]
90/language/class-modifiers
  • <h1> Effective Dart: Design [#document-title]
    • <h2> Names [#names]
      • <h3> DO use terms consistently [#do-use-terms-consistently]
      • <h3> AVOID abbreviations [#avoid-abbreviations]
      • <h3> PREFER putting the most descriptive noun last [#prefer-putting-the-most-descriptive-noun-last]
      • <h3> CONSIDER making the code read like a sentence [#consider-making-the-code-read-like-a-sentence]
      • <h3> PREFER a noun phrase for a non-boolean property or variable [#prefer-a-noun-phrase-for-a-non-boolean-property-or-variable]
      • <h3> PREFER a non-imperative verb phrase for a boolean property or variable [#prefer-a-non-imperative-verb-phrase-for-a-boolean-property-or-variable]
      • <h3> CONSIDER omitting the verb for a named boolean parameter [#consider-omitting-the-verb-for-a-named-boolean-parameter]
      • <h3> PREFER the "positive" name for a boolean property or variable [#prefer-the-positive-name-for-a-boolean-property-or-variable]
      • <h3> PREFER an imperative verb phrase for a function or method whose main purpose is a side effect [#prefer-an-imperative-verb-phrase-for-a-function-or-method-whose-main-purpose-is-a-side-effect]
      • <h3> PREFER a noun phrase or non-imperative verb phrase for a function or method if returning a value is its primary purpose [#prefer-a-noun-phrase-or-non-imperative-verb-phrase-for-a-function-or-method-if-returning-a-value-is-its-primary-purpose]
      • <h3> CONSIDER an imperative verb phrase for a function or method if you want to draw attention to the work it performs [#consider-an-imperative-verb-phrase-for-a-function-or-method-if-you-want-to-draw-attention-to-the-work-it-performs]
      • <h3> AVOID starting a method name with get [#avoid-starting-a-method-name-with-get]
      • <h3> PREFER naming a method to___() if it copies the object's state to a new object [#prefer-naming-a-method-to___-if-it-copies-the-objects-state-to-a-new-object]
      • <h3> PREFER naming a method as___() if it returns a different representation backed by the original object [#prefer-naming-a-method-as___-if-it-returns-a-different-representation-backed-by-the-original-object]
      • <h3> AVOID describing the parameters in the function's or method's name [#avoid-describing-the-parameters-in-the-functions-or-methods-name]
      • <h3> DO follow existing mnemonic conventions when naming type parameters [#do-follow-existing-mnemonic-conventions-when-naming-type-parameters]
    • <h2> Libraries [#libraries]
      • <h3> PREFER making declarations private [#prefer-making-declarations-private]
      • <h3> CONSIDER declaring multiple classes in the same library [#consider-declaring-multiple-classes-in-the-same-library]
    • <h2> Classes and mixins [#classes-and-mixins]
      • <h3> AVOID defining a one-member abstract class when a simple function will do [#avoid-defining-a-one-member-abstract-class-when-a-simple-function-will-do]
      • <h3> AVOID defining a class that contains only static members [#avoid-defining-a-class-that-contains-only-static-members]
      • <h3> AVOID extending a class that isn't intended to be subclassed [#avoid-extending-a-class-that-isnt-intended-to-be-subclassed]
      • <h3> DO use class modifiers to control if your class can be extended [#do-use-class-modifiers-to-control-if-your-class-can-be-extended]
      • <h3> AVOID implementing a class that isn't intended to be an interface [#avoid-implementing-a-class-that-isnt-intended-to-be-an-interface]
      • <h3> DO use class modifiers to control if your class can be an interface [#do-use-class-modifiers-to-control-if-your-class-can-be-an-interface]
      • <h3> PREFER defining a pure mixin or pure class to a mixin class [#prefer-defining-a-pure-mixin-or-pure-class-to-a-mixin-class]
    • <h2> Constructors [#constructors]
      • <h3> CONSIDER making your constructor const if the class supports it [#consider-making-your-constructor-const-if-the-class-supports-it]
    • <h2> Members [#members]
      • <h3> PREFER making fields and top-level variables final [#prefer-making-fields-and-top-level-variables-final]
      • <h3> DO use getters for operations that conceptually access properties [#do-use-getters-for-operations-that-conceptually-access-properties]
      • <h3> DO use setters for operations that conceptually change properties [#do-use-setters-for-operations-that-conceptually-change-properties]
      • <h3> DON'T define a setter without a corresponding getter [#dont-define-a-setter-without-a-corresponding-getter]
      • <h3> AVOID using runtime type tests to fake overloading [#avoid-using-runtime-type-tests-to-fake-overloading]
      • <h3> AVOID public late final fields without initializers [#avoid-public-late-final-fields-without-initializers]
      • <h3> AVOID returning nullable Future, Stream, and collection types [#avoid-returning-nullable-future-stream-and-collection-types]
      • <h3> AVOID returning this from methods just to enable a fluent interface [#avoid-returning-this-from-methods-just-to-enable-a-fluent-interface]
    • <h2> Types [#types]
      • <h3> DO type annotate variables without initializers [#do-type-annotate-variables-without-initializers]
      • <h3> DO type annotate fields and top-level variables if the type isn't obvious [#do-type-annotate-fields-and-top-level-variables-if-the-type-isnt-obvious]
      • <h3> DON'T redundantly type annotate initialized local variables [#dont-redundantly-type-annotate-initialized-local-variables]
      • <h3> DO annotate return types on function declarations [#do-annotate-return-types-on-function-declarations]
      • <h3> DO annotate parameter types on function declarations [#do-annotate-parameter-types-on-function-declarations]
      • <h3> DON'T annotate inferred parameter types on function expressions [#dont-annotate-inferred-parameter-types-on-function-expressions]
      • <h3> DON'T type annotate initializing formals [#dont-type-annotate-initializing-formals]
      • <h3> DO write type arguments on generic invocations that aren't inferred [#do-write-type-arguments-on-generic-invocations-that-arent-inferred]
      • <h3> DON'T write type arguments on generic invocations that are inferred [#dont-write-type-arguments-on-generic-invocations-that-are-inferred]
      • <h3> AVOID writing incomplete generic types [#avoid-writing-incomplete-generic-types]
      • <h3> DO annotate with dynamic instead of letting inference fail [#do-annotate-with-dynamic-instead-of-letting-inference-fail]
      • <h3> PREFER signatures in function type annotations [#prefer-signatures-in-function-type-annotations]
      • <h3> DON'T specify a return type for a setter [#dont-specify-a-return-type-for-a-setter]
      • <h3> DON'T use the legacy typedef syntax [#dont-use-the-legacy-typedef-syntax]
      • <h3> PREFER inline function types over typedefs [#prefer-inline-function-types-over-typedefs]
      • <h3> PREFER using function type syntax for parameters [#prefer-using-function-type-syntax-for-parameters]
      • <h3> AVOID using dynamic unless you want to disable static checking [#avoid-using-dynamic-unless-you-want-to-disable-static-checking]
      • <h3> DO use Future<void> as the return type of asynchronous members that do not produce values [#do-use-futurevoid-as-the-return-type-of-asynchronous-members-that-do-not-produce-values]
      • <h3> AVOID using FutureOr<T> as a return type [#avoid-using-futureort-as-a-return-type]
    • <h2> Parameters [#parameters]
      • <h3> AVOID positional boolean parameters [#avoid-positional-boolean-parameters]
      • <h3> AVOID optional positional parameters if the user may want to omit earlier parameters [#avoid-optional-positional-parameters-if-the-user-may-want-to-omit-earlier-parameters]
      • <h3> AVOID mandatory parameters that accept a special "no argument" value [#avoid-mandatory-parameters-that-accept-a-special-no-argument-value]
      • <h3> DO use inclusive start and exclusive end parameters to accept a range [#do-use-inclusive-start-and-exclusive-end-parameters-to-accept-a-range]
    • <h2> Equality [#equality]
      • <h3> DO override hashCode if you override == [#do-override-hashcode-if-you-override]
      • <h3> DO make your == operator obey the mathematical rules of equality [#do-make-your-operator-obey-the-mathematical-rules-of-equality]
      • <h3> AVOID defining custom equality for mutable classes [#avoid-defining-custom-equality-for-mutable-classes]
      • <h3> DON'T make the parameter to == nullable [#dont-make-the-parameter-to-nullable]
700/effective-dart/design
  • <h1> Learn Dart [#document-title]
    • <h2> Learn Dart [#learn-dart]
    • <h2> Learn Dart and Flutter together [#learn-dart-and-flutter-together]
30/learn
  • <h1> Command-line and server apps [#document-title]
    • <h2> Tools [#tools]
    • <h2> Frameworks [#frameworks]
    • <h2> Samples [#samples]
    • <h2> More resources [#more-resources]
50/server
  • <h1> Past JS interop [#document-title]
    • <h2> The evolution of JavaScript interop [#next-generation-js-interop]
    • <h2> dart:js [#dart-js]
    • <h2> package:js [#package-js]
      • <h3> @staticInterop [#staticinterop]
    • <h2> dart:js_util [#dart-js_util]
60/interop/js-interop/past-js-interop
  • <h1> JS interop usage [#document-title]
    • <h2> Interop types [#interop-types]
    • <h2> Interop members [#interop-members]
      • <h3> Top-level interop members [#top-level-interop-members]
      • <h3> Interop type members [#interop-type-members]
      • <h3> Extension members on interop types [#extension-members-on-interop-types]
      • <h3> Parameters [#parameters]
    • <h2> @JS() [#js]
    • <h2> Export Dart functions and objects to JS [#export]
    • <h2> dart:js_interop and dart:js_interop_unsafe [#dart-js_interop-and-dart-js_interop_unsafe]
100/interop/js-interop/usage
  • <h1> Dart language specification [#document-title]
    • <h2> Dart 3 [#dart-3]
    • <h2> Dart 2 [#dart-2]
    • <h2> Dart 1.x [#dart-1-x]
40/resources/language/spec
  • <h1> dart:async [#document-title]
    • <h2> Future [#future]
      • <h3> Using await [#using-await]
      • <h3> Basic usage [#basic-usage]
      • <h3> Chaining multiple asynchronous methods [#chaining-multiple-asynchronous-methods]
      • <h3> Waiting for multiple futures [#waiting-for-multiple-futures]
      • <h3> Handling errors for multiple futures [#handling-errors-for-multiple-futures]
    • <h2> Stream [#stream]
      • <h3> Using an asynchronous for loop [#using-an-asynchronous-for-loop]
      • <h3> Listening for stream data [#listening-for-stream-data]
      • <h3> Transforming stream data [#transforming-stream-data]
      • <h3> Handling errors and completion [#handling-errors-and-completion]
    • <h2> More information [#more-information]
130/libraries/dart-async
  • <h1> Extend a class [#document-title]
    • <h2> Overriding members [#overriding-members]
    • <h2> noSuchMethod() [#nosuchmethod]
30/language/extend
  • <h1> Iterable collections [#document-title]
    • <h2> What are collections? [#what-are-collections]
    • <h2> What is an Iterable? [#what-is-an-iterable]
    • <h2> Reading elements [#reading-elements]
      • <h3> Example: Using a for-in loop [#example-using-a-for-in-loop]
      • <h3> Example: Using first and last [#example-using-first-and-last]
      • <h3> Example: Using firstWhere() [#example-using-firstwhere]
      • <h3> Exercise: Practice writing a test predicate [#exercise-practice-writing-a-test-predicate]
    • <h2> Checking conditions [#checking-conditions]
      • <h3> Example: Using any() and every() [#example-using-any-and-every]
      • <h3> Exercise: Verify that an Iterable satisfies a condition [#exercise-verify-that-an-iterable-satisfies-a-condition]
    • <h2> Filtering [#filtering]
      • <h3> Example: Using where() [#example-using-where]
      • <h3> Example: Using takeWhile [#example-using-takewhile]
      • <h3> Exercise: Filtering elements from a list [#exercise-filtering-elements-from-a-list]
    • <h2> Mapping [#mapping]
      • <h3> Example: Using map to change elements [#example-using-map-to-change-elements]
      • <h3> Exercise: Mapping to a different type [#exercise-mapping-to-a-different-type]
    • <h2> Exercise: Putting it all together [#exercise-putting-it-all-together]
    • <h2> What's next [#whats-next]
200/libraries/collections/iterables
  • <h1> Constructors [#document-title]
    • <h2> Types of constructors [#types-of-constructors]
      • <h3> Generative constructors [#generative-constructors]
      • <h3> Default constructors [#default-constructors]
      • <h3> Named constructors [#named-constructors]
      • <h3> Constant constructors [#constant-constructors]
      • <h3> Redirecting constructors [#redirecting-constructors]
      • <h3> Factory constructors [#factory-constructors]
      • <h3> Redirecting factory constructors [#redirecting-factory-constructors]
      • <h3> Constructor tear-offs [#constructor-tear-offs]
    • <h2> Instance variable initialization [#instance-variable-initialization]
      • <h3> Initialize instance variables in the declaration [#initialize-instance-variables-in-the-declaration]
      • <h3> Use initializing formal parameters [#use-initializing-formal-parameters]
      • <h3> Use an initializer list [#use-an-initializer-list]
    • <h2> Constructor inheritance [#constructor-inheritance]
      • <h3> Non-default superclass constructors [#non-default-superclass-constructors]
      • <h3> Super parameters [#super-parameters]
170/language/constructors
  • <h1> Dart videos [#document-title]
    • <h2> Dart videos from Google [#dart-videos-from-google]
    • <h2> Dart training course in Brazilian Portuguese [#dart-training-course-in-brazilian-portuguese]
30/resources/videos
  • <h1> Using Google Cloud [#document-title]
    • <h2> Recommended solutions [#recommended-solutions]
      • <h3> Cloud Run [#cloud-run]
      • <h3> Functions Framework for Dart [#functions-framework-for-dart]
    • <h2> Other solutions [#other-solutions]
      • <h3> Compute Engine [#compute-engine]
      • <h3> Kubernetes [#kubernetes]
      • <h3> App Engine [#app-engine]
80/server/google-cloud
  • <h1> Typedefs [#document-title]
10/language/typedefs
  • <h1> Get the Dart SDK [#document-title]
    • <h2> System requirements [#system-requirements]
    • <h2> Choose an installation option [#choose-an-installation-option]
    • <h2> Install the Dart SDK [#install]
      • <h3> Install using Chocolatey [#install-using-chocolatey]
      • <h3> Change default install path [#change-default-install-path]
      • <h3> Verify your PATH includes Dart [#verify-your-path-includes-dart]
      • <h3> Upgrade using Chocolatey [#upgrade-using-chocolatey]
      • <h3> Uninstall using Chocolatey [#uninstall-using-chocolatey]
      • <h3> Install using a Linux package manager [#install-using-a-linux-package-manager]
      • <h3> Install using the apt-get package manager [#install-using-the-apt-get-package-manager]
      • <h3> Install as a Debian package [#install-as-a-debian-package]
    • <h2> Upgrade the Dart SDK [#upgrade-the-dart-sdk]
      • <h3> Upgrade using apt-get [#upgrade-using-apt-get]
      • <h3> Upgrade using dpkg [#upgrade-using-dpkg]
    • <h2> Uninstall the Dart SDK [#uninstall-the-dart-sdk]
      • <h3> Uninstall using apt-get [#uninstall-using-apt-get]
      • <h3> Uninstall using dpkg [#uninstall-using-dpkg]
      • <h3> Install using Homebrew [#install-using-homebrew]
      • <h3> Verify PATH includes Homebrew [#verify-path-includes-homebrew]
      • <h3> Upgrade using Homebrew [#upgrade-using-homebrew]
      • <h3> Switch Dart versions [#switch-dart-versions]
      • <h3> List installed Dart versions [#list-installed-dart-versions]
      • <h3> Uninstall using Homebrew [#uninstall-using-homebrew]
    • <h2> Release channel reference [#release-channels]
      • <h3> Stable channel [#stable-channel]
      • <h3> Beta channel [#beta-channel]
      • <h3> Dev channel [#dev-channel]
280/get-dart
  • <h1> Futures and error handling [#document-title]
    • <h2> The Future API and callbacks [#the-future-api-and-callbacks]
    • <h2> Examples of using then() with catchError() [#examples-of-using-then-with-catcherror]
      • <h3> catchError() as a comprehensive error handler [#catcherror-as-a-comprehensive-error-handler]
      • <h3> Error handling within then() [#error-handling-within-then]
      • <h3> Errors in the middle of a long chain [#errors-in-the-middle-of-a-long-chain]
      • <h3> Handling specific errors [#handling-specific-errors]
    • <h2> Async try-catch-finally using whenComplete() [#async-try-catch-finally-using-whencomplete]
      • <h3> Completing the Future returned by whenComplete() [#completing-the-future-returned-by-whencomplete]
      • <h3> Errors originating within whenComplete() [#errors-originating-within-whencomplete]
    • <h2> Potential problem: failing to register error handlers early [#potential-problem-failing-to-register-error-handlers-early]
    • <h2> Potential problem: accidentally mixing synchronous and asynchronous errors [#potential-problem-accidentally-mixing-synchronous-and-asynchronous-errors]
      • <h3> Solution: Using Future.sync() to wrap your code [#solution-using-future-sync-to-wrap-your-code]
    • <h2> More information [#more-information]
140/libraries/async/futures-error-handling
  • <h1> Debugging Dart web apps [#document-title]
    • <h2> Overview [#overview]
    • <h2> Getting started with Dart DevTools [#using-dart-devtools]
    • <h2> Getting command-line tool packages [#getting-command-line-tool-packages]
    • <h2> Debugging production code [#debugging]
      • <h3> Chrome [#dart2js-debugging-chrome]
      • <h3> Edge [#dart2js-debugging-ie]
      • <h3> Firefox [#dart2js-debugging-firefox]
      • <h3> Safari [#dart2js-debugging-safari]
    • <h2> Resources [#resources]
100/web/debugging
  • <h1> Collections [#document-title]
    • <h2> Lists [#lists]
    • <h2> Sets [#sets]
    • <h2> Maps [#maps]
    • <h2> Collection elements [#collection-elements]
      • <h3> Expression elements [#expression-element]
      • <h3> Map entry elements [#map-entry-element]
      • <h3> Null-aware elements [#null-aware-element]
      • <h3> Spread elements [#spread-element]
      • <h3> Null-aware spread elements [#null-spread-element]
      • <h3> If elements [#if-element]
      • <h3> For elements [#for-element]
      • <h3> Nest control flow elements [#nesting-elements]
130/language/collections
  • <h1> Fetch data from the internet [#document-title]
    • <h2> Background concepts [#background-concepts]
      • <h3> JSON [#json]
      • <h3> HTTP requests [#http-requests]
      • <h3> URIs and URLs [#uris-and-urls]
    • <h2> Retrieve the necessary dependencies [#retrieve-the-necessary-dependencies]
    • <h2> Build a URL [#build-a-url]
    • <h2> Make a network request [#make-a-network-request]
      • <h3> Make multiple requests [#make-multiple-requests]
    • <h2> Decode the retrieved data [#decode-the-retrieved-data]
      • <h3> Create a structured class to store the data [#create-a-structured-class-to-store-the-data]
      • <h3> Encode the data into your class [#encode-the-data-into-your-class]
      • <h3> Convert the response to an object of your structured class [#convert-the-response-to-an-object-of-your-structured-class]
    • <h2> Utilize the converted data [#utilize-the-converted-data]
    • <h2> What next? [#what-next]
150/server/fetch-data
  • <h1> Class modifiers reference [#document-title]
    • <h2> Valid combinations [#valid-combinations]
    • <h2> Invalid combinations [#invalid-combinations]
30/language/modifier-reference
  • <h1> Asynchronous programming: Streams [#document-title]
    • <h2> Receiving stream events [#receiving-stream-events]
    • <h2> Error events [#error-events]
    • <h2> Working with streams [#working-with-streams]
    • <h2> Two kinds of streams [#two-kinds-of-streams]
      • <h3> Single subscription streams [#single-subscription-streams]
      • <h3> Broadcast streams [#broadcast-streams]
    • <h2> Methods that process a stream [#process-stream-methods]
    • <h2> Methods that modify a stream [#modify-stream-methods]
      • <h3> The transform() function [#transform-function]
      • <h3> Reading and decoding a file [#reading-decoding-file]
    • <h2> The listen() method [#listen-method]
    • <h2> Other resources [#other-resources]
130/libraries/async/using-streams
  • <h1> Language versioning [#document-title]
    • <h2> Overview [#overview]
    • <h2> Language version numbers [#language-version-numbers]
    • <h2> Per-library language version selection [#library-override]
    • <h2> Language-versioned changes [#language-versioned-changes]
50/language/versioning
  • <h1> dart:math [#document-title]
    • <h2> Trigonometry [#trigonometry]
    • <h2> Maximum and minimum [#maximum-and-minimum]
    • <h2> Math constants [#math-constants]
    • <h2> Random numbers [#random-numbers]
    • <h2> More information [#more-information]
60/libraries/dart-math
  • <h1> Keywords [#document-title]
10/language/keywords
  • <h1> Using JSON [#document-title]
    • <h2> Libraries [#libraries]
    • <h2> Flutter resources [#flutter-resources]
    • <h2> Web app resources [#web-app-resources]
40/libraries/serialization/json
  • <h1> Effective Dart: Usage [#document-title]
    • <h2> Libraries [#libraries]
      • <h3> DO use strings in part of directives [#do-use-strings-in-part-of-directives]
      • <h3> DON'T import libraries that are inside the src directory of another package [#dont-import-libraries-that-are-inside-the-src-directory-of-another-package]
      • <h3> DON'T allow an import path to reach into or out of lib [#dont-allow-an-import-path-to-reach-into-or-out-of-lib]
      • <h3> PREFER relative import paths [#prefer-relative-import-paths]
    • <h2> Null [#null]
      • <h3> DON'T explicitly initialize variables to null [#dont-explicitly-initialize-variables-to-null]
      • <h3> DON'T use an explicit default value of null [#dont-use-an-explicit-default-value-of-null]
      • <h3> DON'T use true or false in equality operations [#dont-use-true-or-false-in-equality-operations]
      • <h3> AVOID late variables if you need to check whether they are initialized [#avoid-late-variables-if-you-need-to-check-whether-they-are-initialized]
      • <h3> CONSIDER type promotion or null-check patterns for using nullable types [#consider-type-promotion-or-null-check-patterns-for-using-nullable-types]
    • <h2> Strings [#strings]
      • <h3> DO use adjacent strings to concatenate string literals [#do-use-adjacent-strings-to-concatenate-string-literals]
      • <h3> PREFER using interpolation to compose strings and values [#prefer-using-interpolation-to-compose-strings-and-values]
      • <h3> AVOID using curly braces in interpolation when not needed [#avoid-using-curly-braces-in-interpolation-when-not-needed]
    • <h2> Collections [#collections]
      • <h3> DO use collection literals when possible [#do-use-collection-literals-when-possible]
      • <h3> DON'T use .length to see if a collection is empty [#dont-use-length-to-see-if-a-collection-is-empty]
      • <h3> AVOID using Iterable.forEach() with a function literal [#avoid-using-iterable-foreach-with-a-function-literal]
      • <h3> DON'T use List.from() unless you intend to change the type of the result [#dont-use-list-from-unless-you-intend-to-change-the-type-of-the-result]
      • <h3> DO use whereType() to filter a collection by type [#do-use-wheretype-to-filter-a-collection-by-type]
      • <h3> DON'T use cast() when a nearby operation will do [#dont-use-cast-when-a-nearby-operation-will-do]
      • <h3> AVOID using cast() [#avoid-using-cast]
    • <h2> Functions [#functions]
      • <h3> DO use a function declaration to bind a function to a name [#do-use-a-function-declaration-to-bind-a-function-to-a-name]
      • <h3> DON'T create a lambda when a tear-off will do [#dont-create-a-lambda-when-a-tear-off-will-do]
    • <h2> Variables [#variables]
      • <h3> DO follow a consistent rule for var and final on local variables [#do-follow-a-consistent-rule-for-var-and-final-on-local-variables]
      • <h3> AVOID storing what you can calculate [#avoid-storing-what-you-can-calculate]
    • <h2> Members [#members]
      • <h3> DON'T wrap a field in a getter and setter unnecessarily [#dont-wrap-a-field-in-a-getter-and-setter-unnecessarily]
      • <h3> PREFER using a final field to make a read-only property [#prefer-using-a-final-field-to-make-a-read-only-property]
      • <h3> CONSIDER using => for simple members [#consider-using-for-simple-members]
      • <h3> DON'T use this. except to redirect to a named constructor or to avoid shadowing [#dont-use-this-when-not-needed-to-avoid-shadowing]
      • <h3> DO initialize fields at their declaration when possible [#do-initialize-fields-at-their-declaration-when-possible]
    • <h2> Constructors [#constructors]
      • <h3> DO use initializing formals when possible [#do-use-initializing-formals-when-possible]
      • <h3> DON'T use late when a constructor initializer list will do [#dont-use-late-when-a-constructor-initializer-list-will-do]
      • <h3> DO use ; instead of {} for empty constructor bodies [#do-use-instead-of-for-empty-constructor-bodies]
      • <h3> DON'T use new [#dont-use-new]
      • <h3> DON'T use const redundantly [#dont-use-const-redundantly]
    • <h2> Error handling [#error-handling]
      • <h3> AVOID catches without on clauses [#avoid-catches-without-on-clauses]
      • <h3> DON'T discard errors from catches without on clauses [#dont-discard-errors-from-catches-without-on-clauses]
      • <h3> DO throw objects that implement Error only for programmatic errors [#do-throw-objects-that-implement-error-only-for-programmatic-errors]
      • <h3> DON'T explicitly catch Error or types that implement it [#dont-explicitly-catch-error-or-types-that-implement-it]
      • <h3> DO use rethrow to rethrow a caught exception [#do-use-rethrow-to-rethrow-a-caught-exception]
    • <h2> Asynchrony [#asynchrony]
      • <h3> PREFER async/await over using raw futures [#prefer-asyncawait-over-using-raw-futures]
      • <h3> DON'T use async when it has no useful effect [#dont-use-async-when-it-has-no-useful-effect]
      • <h3> CONSIDER using higher-order methods to transform a stream [#consider-using-higher-order-methods-to-transform-a-stream]
      • <h3> AVOID using Completer directly [#avoid-using-completer-directly]
      • <h3> DO test for Future<T> when disambiguating a FutureOr<T> whose type argument could be Object [#do-test-for-futuret-when-disambiguating-a-futureort-whose-type-argument-could-be-object]
540/effective-dart/usage
  • <h1> Callable objects [#document-title]
10/language/callable-objects
  • <h1> Variables [#document-title]
    • <h2> Null safety [#null-safety]
    • <h2> Default value [#default-value]
    • <h2> Late variables [#late-variables]
    • <h2> Final and const [#final-and-const]
    • <h2> Wildcard variables [#wildcard-variables]
60/language/variables
  • <h1> Isolates [#document-title]
    • <h2> Implementing a simple worker isolate [#implementing-a-simple-worker-isolate]
      • <h3> Running an existing method in a new isolate [#running-an-existing-method-in-a-new-isolate]
      • <h3> Sending closures with isolates [#sending-closures-with-isolates]
    • <h2> Sending multiple messages between isolates with ports [#sending-multiple-messages-between-isolates-with-ports]
      • <h3> ReceivePort and SendPort [#receiveport-and-sendport]
      • <h3> Basic ports example [#basic-ports-example]
      • <h3> Robust ports example [#robust-ports-example]
80/language/isolates
  • <h1> Operators [#document-title]
    • <h2> Operator precedence example [#operator-precedence-example]
    • <h2> Arithmetic operators [#arithmetic-operators]
    • <h2> Equality and relational operators [#equality-and-relational-operators]
    • <h2> Type test operators [#type-test-operators]
    • <h2> Assignment operators [#assignment-operators]
    • <h2> Logical operators [#logical-operators]
    • <h2> Bitwise and shift operators [#bitwise-and-shift-operators]
    • <h2> Conditional expressions [#conditional-expressions]
    • <h2> Cascade notation [#cascade-notation]
    • <h2> Spread operators [#spread-operators]
    • <h2> Other operators [#other-operators]
120/language/operators
  • <h1> Comments [#document-title]
    • <h2> Single-line comments [#single-line-comments]
    • <h2> Multi-line comments [#multi-line-comments]
    • <h2> Documentation comments [#documentation-comments]
40/language/comments
  • <h1> Effective Dart [#document-title]
    • <h2> The guides [#the-guides]
    • <h2> How to read the guides [#how-to-read-the-guides]
    • <h2> Glossary [#glossary]
    • <h2> Summary of all rules [#summary-of-all-rules]
      • <h3> Style [#style]
      • <h3> Documentation [#documentation]
      • <h3> Usage [#usage]
      • <h3> Design [#design]
90/effective-dart
  • <h1> Objective-C and Swift interop using package:ffigen [#document-title]
    • <h2> Objective-C example [#objective-c-example]
      • <h3> Configure FFIgen for Objective-C [#configure-ffigen-for-objective-c]
      • <h3> Generate the Objective-C bindings [#generate-the-objective-c-bindings]
      • <h3> Use the Objective-C bindings [#use-the-objective-c-bindings]
      • <h3> Callbacks and multithreading limitations [#callbacks-and-multithreading-limitations]
    • <h2> Swift example [#swift-example]
      • <h3> Generating the Objective-C wrapper header [#generating-the-objective-c-wrapper-header]
      • <h3> Configuring FFIgen for Swift [#configuring-ffigen-for-swift]
      • <h3> Generating the Swift bindings [#generating-the-swift-bindings]
      • <h3> Using the Swift bindings [#using-the-swift-bindings]
110/interop/objective-c-interop
  • <h1> Understanding null safety [#document-title]
    • <h2> Nullability in the type system [#nullability-in-the-type-system]
      • <h3> Non-nullable and nullable types [#non-nullable-and-nullable-types]
      • <h3> Using nullable types [#using-nullable-types]
      • <h3> Top and bottom [#top-and-bottom]
    • <h2> Ensuring correctness [#ensuring-correctness]
      • <h3> Invalid returns [#invalid-returns]
      • <h3> Uninitialized variables [#uninitialized-variables]
    • <h2> Flow analysis [#flow-analysis]
      • <h3> Reachability analysis [#reachability-analysis]
      • <h3> Never for unreachable code [#never-for-unreachable-code]
      • <h3> Definite assignment analysis [#definite-assignment-analysis]
      • <h3> Type promotion on null checks [#type-promotion-on-null-checks]
      • <h3> Unnecessary code warnings [#unnecessary-code-warnings]
    • <h2> Working with nullable types [#working-with-nullable-types]
      • <h3> Smarter null-aware methods [#smarter-null-aware-methods]
      • <h3> Not-null assertion operator [#not-null-assertion-operator]
      • <h3> Late variables [#late-variables]
      • <h3> Lazy initialization [#lazy-initialization]
      • <h3> Late final variables [#late-final-variables]
      • <h3> Required named parameters [#required-named-parameters]
      • <h3> Abstract fields [#abstract-fields]
      • <h3> Working with nullable fields [#working-with-nullable-fields]
      • <h3> Nullability and generics [#nullability-and-generics]
    • <h2> Core library changes [#core-library-changes]
      • <h3> The Map index operator is nullable [#the-map-index-operator-is-nullable]
      • <h3> No unnamed List constructor [#no-unnamed-list-constructor]
      • <h3> Cannot set a larger length on non-nullable lists [#cannot-set-a-larger-length-on-non-nullable-lists]
      • <h3> Cannot access Iterator.current before or after iteration [#cannot-access-iterator-current-before-or-after-iteration]
    • <h2> Summary [#summary]
300/null-safety/understanding-null-safety
  • <h1> Command-line and server libraries and packages [#document-title]
    • <h2> SDK libraries [#sdk-libraries]
    • <h2> Community packages [#community-packages]
      • <h3> Command-line packages [#command-line-packages]
      • <h3> Server packages [#server-packages]
50/server/libraries
  • <h1> Web deployment [#document-title]
    • <h2> Building your app [#compiling-to-javascript]
      • <h3> Compile using webdev [#compile-using-webdev]
      • <h3> Make your app smaller, faster, and more reliable [#make-your-app-smaller-faster-and-more-reliable]
    • <h2> Serving your app [#serving-your-app]
      • <h3> GitHub Pages [#github-pages]
      • <h3> Firebase [#firebase]
70/web/deployment
  • <h1> Commonly used packages [#document-title]
    • <h2> General-purpose packages [#general-purpose-packages]
    • <h2> Packages that expand on Dart core libraries [#packages-that-correspond-to-sdk-libraries]
    • <h2> Specialized packages [#specialized-packages]
      • <h3> Flutter packages [#flutter-packages]
      • <h3> Web packages [#web-packages]
      • <h3> Command-line and server packages [#command-line-and-server-packages]
70/resources/useful-packages
  • <h1> Java interop using package:jnigen [#document-title]
    • <h2> Simple Java example [#simple-java-example]
      • <h3> Prerequisites [#prerequisites]
      • <h3> Configure jnigen [#configure-jnigen]
      • <h3> Generate the Dart bindings [#generate-the-dart-bindings]
      • <h3> Use the bindings [#use-the-bindings]
      • <h3> Run the example [#run-the-example]
    • <h2> More examples [#more-examples]
80/interop/java-interop
  • <h1> Multi-platform apps [#document-title]
10/multiplatform-apps
  • <h1> Patterns [#document-title]
    • <h2> What patterns do [#what-patterns-do]
      • <h3> Matching [#matching]
      • <h3> Destructuring [#destructuring]
    • <h2> Places patterns can appear [#places-patterns-can-appear]
      • <h3> Variable declaration [#variable-declaration]
      • <h3> Variable assignment [#variable-assignment]
      • <h3> Switch statements and expressions [#switch-statements-and-expressions]
      • <h3> For and for-in loops [#for-and-for-in-loops]
    • <h2> Use cases for patterns [#use-cases-for-patterns]
      • <h3> Destructuring multiple returns [#destructuring-multiple-returns]
      • <h3> Destructuring class instances [#destructuring-class-instances]
      • <h3> Algebraic data types [#algebraic-data-types]
      • <h3> Validating incoming JSON [#validating-incoming-json]
140/language/patterns
  • <h1> Effective Dart: Style [#document-title]
    • <h2> Identifiers [#identifiers]
      • <h3> DO name types using UpperCamelCase [#do-name-types-using-uppercamelcase]
      • <h3> DO name extensions using UpperCamelCase [#do-name-extensions-using-uppercamelcase]
      • <h3> DO name packages, directories, and source files using lowercase_with_underscores [#do-name-packages-and-file-system-entities-using-lowercase-with-underscores]
      • <h3> DO name import prefixes using lowercase_with_underscores [#do-name-import-prefixes-using-lowercase_with_underscores]
      • <h3> DO name other identifiers using lowerCamelCase [#do-name-other-identifiers-using-lowercamelcase]
      • <h3> PREFER using lowerCamelCase for constant names [#prefer-using-lowercamelcase-for-constant-names]
      • <h3> DO capitalize acronyms and abbreviations longer than two letters like words [#do-capitalize-acronyms-and-abbreviations-longer-than-two-letters-like-words]
      • <h3> PREFER using wildcards for unused callback parameters [#prefer-using-wildcards-for-unused-callback-parameters]
      • <h3> DON'T use a leading underscore for identifiers that aren't private [#dont-use-a-leading-underscore-for-identifiers-that-arent-private]
      • <h3> DON'T use prefix letters [#dont-use-prefix-letters]
      • <h3> DON'T explicitly name libraries [#dont-explicitly-name-libraries]
    • <h2> Ordering [#ordering]
      • <h3> DO place dart: imports before other imports [#do-place-dart-imports-before-other-imports]
      • <h3> DO place package: imports before relative imports [#do-place-package-imports-before-relative-imports]
      • <h3> DO specify exports in a separate section after all imports [#do-specify-exports-in-a-separate-section-after-all-imports]
      • <h3> DO sort sections alphabetically [#do-sort-sections-alphabetically]
    • <h2> Formatting [#formatting]
      • <h3> DO format your code using dart format [#do-format-your-code-using-dart-format]
      • <h3> CONSIDER changing your code to make it more formatter-friendly [#consider-changing-your-code-to-make-it-more-formatter-friendly]
      • <h3> PREFER lines 80 characters or fewer [#prefer-lines-80-characters-or-fewer]
      • <h3> DO use curly braces for all flow control statements [#do-use-curly-braces-for-all-flow-control-statements]
230/effective-dart/style
  • <h1> JS interop tutorials [#document-title]
    • <h2> Tutorials [#tutorials]
      • <h3> Getting started with Javascript interop [#getting-started-with-javascript-interop]
      • <h3> How to mock JavaScript interop in Dart [#how-to-mock-javascript-interop-in-dart]
40/interop/js-interop/tutorials
  • <h1> Methods [#document-title]
    • <h2> Instance methods [#instance-methods]
    • <h2> Operators [#operators]
    • <h2> Getters and setters [#getters-and-setters]
    • <h2> Abstract methods [#abstract-methods]
50/language/methods
  • <h1> dart:io [#document-title]
    • <h2> Files and directories [#files-and-directories]
      • <h3> Reading a file as text [#reading-a-file-as-text]
      • <h3> Reading a file as binary [#reading-a-file-as-binary]
      • <h3> Handling errors [#handling-errors]
      • <h3> Streaming file contents [#streaming-file-contents]
      • <h3> Writing file contents [#writing-file-contents]
      • <h3> Listing files in a directory [#listing-files-in-a-directory]
      • <h3> Other common functionality [#other-common-functionality]
    • <h2> HTTP clients and servers [#http-clients-and-servers]
      • <h3> HTTP server [#http-server]
      • <h3> HTTP client [#http-client]
    • <h2> More information [#more-information]
130/libraries/dart-io
  • <h1> Using Google APIs [#document-title]
    • <h2> Firebase [#firebase]
    • <h2> Google client APIs [#google-client-apis]
30/resources/google-apis
  • <h1> Metadata [#document-title]
    • <h2> Built-in annotations [#built-in-annotations]
    • <h2> Analyzer-supported annotations [#analyzer-supported-annotations]
    • <h2> Custom annotations [#custom-annotations]
      • <h3> Specifying supported targets [#specifying-supported-targets]
50/language/metadata
  • <h1> Search dart.dev [#document-title]
10/search
  • <h1> Dart cheatsheet [#document-title]
    • <h2> String interpolation [#string-interpolation]
      • <h3> Exercise [#exercise]
    • <h2> Nullable variables [#nullable-variables]
      • <h3> Exercise [#exercise]
    • <h2> Null-aware operators [#null-aware-operators]
      • <h3> Exercise [#exercise]
    • <h2> Conditional property access [#conditional-property-access]
      • <h3> Exercise [#exercise]
    • <h2> Collection literals [#collection-literals]
      • <h3> Exercise [#exercise]
    • <h2> Arrow syntax [#arrow-syntax]
      • <h3> Exercise [#exercise]
    • <h2> Cascades [#cascades]
      • <h3> Exercise [#exercise]
    • <h2> Getters and setters [#getters-and-setters]
      • <h3> Exercise [#exercise]
    • <h2> Optional positional parameters [#optional-positional-parameters]
      • <h3> Exercise [#exercise]
    • <h2> Named parameters [#named-parameters]
      • <h3> Exercise [#exercise]
    • <h2> Exceptions [#exceptions]
      • <h3> Exercise [#exercise]
    • <h2> Using this in a constructor [#using-this-in-a-constructor]
      • <h3> Exercise [#exercise]
    • <h2> Initializer lists [#initializer-lists]
      • <h3> Exercise [#exercise]
    • <h2> Named constructors [#named-constructors]
      • <h3> Exercise [#exercise]
    • <h2> Factory constructors [#factory-constructors]
      • <h3> Exercise [#exercise]
    • <h2> Redirecting constructors [#redirecting-constructors]
      • <h3> Exercise [#exercise]
    • <h2> Const constructors [#const-constructors]
      • <h3> Exercise [#exercise]
    • <h2> What's next? [#whats-next]
360/resources/dart-cheatsheet
  • <h1> Dart language evolution [#document-title]
    • <h2> Changes in each release [#changes-in-each-release]
      • <h3> Dart 3.11 [#dart-3-11]
      • <h3> Dart 3.10 [#dart-3-10]
      • <h3> Dart 3.9 [#dart-3-9]
      • <h3> Dart 3.8 [#dart-3-8]
      • <h3> Dart 3.7 [#dart-3-7]
      • <h3> Dart 3.6 [#dart-3-6]
      • <h3> Dart 3.5 [#dart-3-5]
      • <h3> Dart 3.4 [#dart-3-4]
      • <h3> Dart 3.3 [#dart-3-3]
      • <h3> Dart 3.2 [#dart-3-2]
      • <h3> Dart 3.1 [#dart-3-1]
      • <h3> Dart 3.0 [#dart-3-0]
      • <h3> Dart 2.19 [#dart-2-19]
      • <h3> Dart 2.18 [#dart-2-18]
      • <h3> Dart 2.17 [#dart-2-17]
      • <h3> Dart 2.16 [#dart-2-16]
      • <h3> Dart 2.15 [#dart-2-15]
      • <h3> Dart 2.14 [#dart-2-14]
      • <h3> Dart 2.13 [#dart-2-13]
      • <h3> Dart 2.12 [#dart-2-12]
      • <h3> Dart 2.10 [#dart-2-10]
      • <h3> Dart 2.9 [#dart-2-9]
      • <h3> Dart 2.8 [#dart-2-8]
      • <h3> Dart 2.7 [#dart-2-7]
      • <h3> Dart 2.6 [#dart-2-6]
      • <h3> Dart 2.5 [#dart-2-5]
      • <h3> Dart 2.4 [#dart-2-4]
      • <h3> Dart 2.3 [#dart-2-3]
      • <h3> Dart 2.2 [#dart-2-2]
      • <h3> Dart 2.1 [#dart-2-1]
      • <h3> Dart 2.0 [#dart-2-0]
    • <h2> Language versioning [#language-versioning]
340/resources/language/evolution
  • <h1> Resources [#document-title]
10/resources
  • <h1> Getting started with JavaScript interop [#document-title]
    • <h2> Access and define a JavaScript object [#access-and-define-a-javascript-object]
    • <h2> Use automatic type conversions [#use-automatic-type-conversions]
    • <h2> Handle events and callbacks [#handle-events-and-callbacks]
    • <h2> Work with Promises and Arrays [#work-with-promises-and-arrays]
      • <h3> Promises and futures [#promises-and-futures]
      • <h3> Arrays and Lists [#arrays-and-lists]
    • <h2> Learn more [#learn-more]
80/interop/js-interop/start
  • <h1> Native interop with Dart [#document-title]
    • <h2> Community interop [#community-interop]
20/interop
  • <h1> How to mock JavaScript interop objects [#document-title]
    • <h2> Background and motivation [#background-and-motivation]
    • <h2> Mocking example [#mocking-example]
    • <h2> @JSExport and createJSInteropWrapper [#jsexport-and-createjsinteropwrapper]
40/interop/js-interop/mock
  • <h1> Dart brand guidelines [#document-title]
    • <h2> General rules that govern the use of the Dart trademarks [#general-rules-that-govern-the-use-of-the-dart-trademarks]
    • <h2> Specific rules for proper usage of the Dart trademarks [#specific-rules-for-proper-usage-of-the-dart-trademarks]
    • <h2> Community use exceptions [#community-use-exceptions]
40/brand
  • <h1> Zones [#document-title]
    • <h2> Asynchronous dynamic extents [#asynchronous-dynamic-extents]
    • <h2> Zone basics [#zone-basics]
    • <h2> Handling uncaught errors [#handling-uncaught-errors]
      • <h3> Example: Errors can't cross into error zones [#example-errors-cant-cross-into-error-zones]
      • <h3> Example: Errors can't leave error zones [#example-errors-cant-leave-error-zones]
    • <h2> Using zones with streams [#using-zones-with-streams]
      • <h3> Example: Using a stream with runZonedGuarded() [#example-using-a-stream-with-runzonedguarded]
    • <h2> Storing zone-local values [#storing-zone-local-values]
      • <h3> Example: Using a zone-local value for debug logs [#example-using-a-zone-local-value-for-debug-logs]
    • <h2> Overriding functionality [#overriding-functionality]
      • <h3> Example: Overriding print [#example-overriding-print]
      • <h3> Arguments to interceptors and delegates [#arguments-to-interceptors-and-delegates]
      • <h3> Example: Delegating to the parent zone [#example-delegating-to-the-parent-zone]
      • <h3> Example: Executing code when entering and leaving a zone [#example-executing-code-when-entering-and-leaving-a-zone]
      • <h3> Example: Handling callbacks [#example-handling-callbacks]
      • <h3> Implementing asynchronous callbacks [#implementing-asynchronous-callbacks]
    • <h2> Summary [#summary]
      • <h3> More resources [#more-resources]
      • <h3> More examples [#more-examples]
200/libraries/async/zones
  • <h1> dart:html [#document-title]
    • <h2> Manipulating the DOM [#manipulating-the-dom]
      • <h3> Finding elements [#finding-elements]
      • <h3> Manipulating elements [#manipulating-elements]
      • <h3> Creating elements [#creating-elements]
      • <h3> Adding, replacing, and removing nodes [#adding-replacing-and-removing-nodes]
      • <h3> Manipulating CSS styles [#manipulating-css-styles]
      • <h3> Handling events [#handling-events]
    • <h2> Using HTTP resources with HttpRequest [#using-http-resources-with-httprequest]
    • <h2> Sending and receiving real-time data with WebSockets [#sending-and-receiving-real-time-data-with-websockets]
      • <h3> Sending data [#sending-data]
      • <h3> Receiving data [#receiving-data]
      • <h3> Handling WebSocket events [#handling-websocket-events]
    • <h2> More information [#more-information]
140/libraries/dart-html
  • <h1> Breaking changes and deprecations [#document-title]
    • <h2> 3.11.0 [#3-11-0]
      • <h3> Tools [#tools]
    • <h2> 3.10.0 [#3-10-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 3.9.0 [#3-9-0]
      • <h3> Language [#language]
      • <h3> Tools [#tools]
    • <h2> 3.8.0 [#3-8-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 3.7.0 [#3-7-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 3.6.0 [#3-6-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 3.5.0 [#3-5-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Runtime [#runtime]
    • <h2> 3.4.0 [#3-4-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
      • <h3> Runtime [#runtime]
    • <h2> 3.3.0 [#3-3-0]
      • <h3> SDK [#sdk]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 3.2.0 [#3-2-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 3.1.0 [#3-1-0]
      • <h3> Libraries [#libraries]
    • <h2> 3.0.0 [#3-0-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
    • <h2> 2.19.0 [#2-19-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
    • <h2> 2.18.0 [#2-18-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.17.0 [#2-17-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.16.0 [#2-16-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.15.0 [#2-15-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.14.0 [#2-14-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.13.0 [#2-13-0]
      • <h3> Libraries [#libraries]
    • <h2> 2.12.0 [#2-12-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.10.0 [#2-10-0]
      • <h3> Tools [#tools]
    • <h2> 2.9.0 [#2-9-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.8.1 [#2-8-1]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.7.1 [#2-7-1]
    • <h2> 2.7.0 [#2-7-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
    • <h2> 2.6.0 [#2-6-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
    • <h2> 2.5.0 [#2-5-0]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.4.0 [#2-4-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
    • <h2> 2.2.0 [#2-2-0]
      • <h3> Libraries [#libraries]
    • <h2> 2.1.1 [#2-1-1]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
    • <h2> 2.1.0 [#2-1-0]
      • <h3> Language [#language]
      • <h3> Tools [#tools]
    • <h2> 2.0.0 [#2-0-0]
      • <h3> Language [#language]
      • <h3> Libraries [#libraries]
      • <h3> Tools [#tools]
1030/resources/breaking-changes
  • <h1> Dart SDK archive [#document-title]
    • <h2> Stable channel [#stable-channel]
    • <h2> Beta channel [#beta-channel]
    • <h2> Dev channel [#dev-channel]
    • <h2> Main channel [#main-channel]
    • <h2> Download URLs [#download-urls]
      • <h3> Stable, beta, and dev channel URL scheme [#stable-beta-and-dev-channel-url-scheme]
      • <h3> Main channel URL scheme [#main-channel-url-scheme]
80/get-dart/archive
  • <h1> Dart team packages [#document-title]
10/resources/dart-team-packages
  • <h1> Search more sites [#document-title]
10/search-all
No rows found, please edit your search term.

404 URLs

No 404 URLs found.

Redirected URLs

Found 21 row(s).

Skipped URLs Summary

Found 84 row(s).
ReasonDomainUnique URLs 🔽
Not allowed hostapi.dart.dev245
Not allowed hostgithub.com215
Not allowed hostpub.dev87
Not allowed hostblog.dart.dev61
Not allowed hosten.wikipedia.org28
Not allowed hostdocs.flutter.dev25
Not allowed hostdeveloper.mozilla.org13
Not allowed hostwww.youtube.com12
Not allowed hostdeveloper.apple.com12
Not allowed hostcloud.google.com7
Not allowed hostnews.dartlang.org6
Not allowed hostsupport.apple.com5
Not allowed hostgroups.google.com5
Not allowed hostdevelopers.google.com4
Not allowed hostflutter.dev4
Not allowed hostdeveloper.chrome.com4
Not allowed hostdartpad.dev3
Not allowed hostpolicies.google.com3
Not allowed hostfirebase.google.com3
Not allowed hostapi.flutter.dev3
Not allowed hostwww.google.com3
Not allowed hostwww.thewindowsclub.com2
Not allowed hostwww.kodeco.com2
Not allowed hostdart-review.googlesource.com2
Not allowed hostwww.microsoft.com2
Not allowed hoststackoverflow.com2
Not allowed hostwww.w3.org2
Not allowed hostmedium.com2
Not allowed hostweb.dev2
Not allowed hostgenkit.dev1
Not allowed hostfirefox-source-docs.mozilla.org1
Not allowed hostdocs.brew.sh1
Not allowed hostbit.ly1
Not allowed hostg.co1
Not allowed hostdocs.github.com1
Not allowed hostwww.json.org1
Not allowed hostwww.amazon.com1
Not allowed hostwiki.debian.org1
Not allowed hostwww.piter.com1
Not allowed hostsemver.org1
Not allowed hostfiliph.github.io1
Not allowed hostcodelabs.developers.google.com1
Not allowed hostdart.tw.gh.miniasp.com1
Not allowed hostforum.itsallwidgets.com1
Not allowed hostdocs.microsoft.com1
Not allowed hostdaringfireball.net1
Not allowed hosten.wikiversity.org1
Not allowed hostwikipedia.org1
Not allowed hostopensource.org1
Not allowed hosthub.docker.com1
Not allowed hostfirebase.flutter.dev1
Not allowed hostdeveloper.android.com1
Not allowed hostwww.postman.com1
Not allowed hostwww.infoq.com1
Not allowed hostchrome.google.com1
Not allowed hostpages.github.com1
Not allowed hostv8.dev1
Not allowed hostdiscord.gg1
Not allowed hostlocalhost1
Not allowed hostdocs.oracle.com1
Not allowed hostgist.github.com1
Not allowed hosttwitter.com1
Not allowed hostwebassembly.org1
Not allowed hostgrpc.io1
Not allowed hostwww.reddit.com1
Not allowed hostcode.visualstudio.com1
Not allowed hostunicode.org1
Not allowed hostdart-ko.dev1
Not allowed hosthttp1
Not allowed hostblog.codinghorror.com1
Not allowed hostwww.ecma-international.org1
Not allowed hostwww.casadocodigo.com.br1
Not allowed hostencoding.spec.whatwg.org1
Not allowed hostwww.udemy.com1
Not allowed hostwww.raywenderlich.com1
Not allowed hostdart-frog.dev1
Not allowed hostllvm.org1
Not allowed hostcloudevents.io1
Not allowed hostwww.jetbrains.com1
Not allowed hostcreativecommons.org1
Not allowed hostwww.debian.org1
Not allowed hostwiki.ubuntu.com1
Not allowed hostwww.npmjs.com1
Not allowed hostpdfbox.apache.org1
No rows found, please edit your search term.

Skipped URLs

Found 200 row(s).
ReasonSkipped URL 🔼SourceFound at URL
Not allowed host/dart-lang/site-www/issues/new?template=1_page_issue.yml&page-url=https://dart.dev/resources/glossary<a href>/resources/glossary
Not allowed host/dart-lang/site-www/issues/new?template=1_page_issue.yml&page-url=https://dart.dev/search&page-source=https://github.com/dart-lang/site-www/blob/main/src/content/search.html<a href>/search
Not allowed host/dart-lang/site-www/issues/new?template=1_page_issue.yml&page-url=https://dart.dev/search-all&page-source=https://github.com/dart-lang/site-www/blob/main/src/content/search-all.html<a href>/search-all
Not allowed hosthttp://en.wikipedia.org/api/rest_v1/<a href>/learn/tutorial/async
Not allowed hosthttp://http//127.0.0.1:8080<a href>/web/debugging
Not allowed hosthttp://localhost:8080/<a href>/web/get-started
Not allowed hosthttps://api.dart.dev/beta/2.19.0-255.2.beta/dart-developer/UserTag/maxUserTags-constant.html<a href>/changelog
Not allowed hosthttps://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.extend.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.implement.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.instantiate.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.mixin.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.optional.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.subclass.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/dart-async<a href>/resources/glossary
Not allowed hosthttps://api.dart.dev/dart-async/BroadcastStream-class.html<a href>/language/isolates
Not allowed hosthttps://api.dart.dev/dart-async/Completer-class.html<a href>/language/isolates
Not allowed hosthttps://api.dart.dev/dart-async/EventSink-class.html<a href>/libraries/async/creating-streams
Not allowed hosthttps://api.dart.dev/dart-async/Future-class.html<a href>/language/async
Not allowed hosthttps://api.dart.dev/dart-async/Future/then.html<a href>/effective-dart/usage
Not allowed hosthttps://api.dart.dev/dart-async/Future/wait.html<a href>/libraries/dart-async
Not allowed hosthttps://api.dart.dev/dart-async/FutureIterable/wait.html<a href>/libraries/dart-async
Not allowed hosthttps://api.dart.dev/dart-async/FutureRecord2/wait.html<a href>/libraries/dart-async
Not allowed hosthttps://api.dart.dev/dart-async/ParallelWaitError-class.html<a href>/libraries/dart-async
Not allowed hosthttps://api.dart.dev/dart-async/Stream-class.html<a href>/language/async
Not allowed hosthttps://api.dart.dev/dart-async/StreamController-class.html<a href>/libraries/async/creating-streams
Not allowed hosthttps://api.dart.dev/dart-async/StreamSubscription-class.html<a href>/libraries/async/using-streams
Not allowed hosthttps://api.dart.dev/dart-async/StreamTransformer-class.html<a href>/libraries/async/creating-streams
Not allowed hosthttps://api.dart.dev/dart-async/StreamTransformer/bind.html<a href>/libraries/async/using-streams
Not allowed hosthttps://api.dart.dev/dart-async/Zone-class.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/Zone/fork.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/Zone/runGuarded.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/ZoneDelegate-class.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/ZoneSpecification-class.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/ZoneSpecification/handleUncaughtError.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/dart-async-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-async/runZoned.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-async/runZonedGuarded.html<a href>/libraries/async/zones
Not allowed hosthttps://api.dart.dev/dart-collection/HashMap-class.html<a href>/libraries/collections/iterables
Not allowed hosthttps://api.dart.dev/dart-collection/dart-collection-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-convert<a href>/learn/tutorial/data-and-json
Not allowed hosthttps://api.dart.dev/dart-convert/JsonCodec/decode.html<a href>/server/fetch-data
Not allowed hosthttps://api.dart.dev/dart-convert/LineSplitter-class.html<a href>/libraries/async/using-streams
Not allowed hosthttps://api.dart.dev/dart-convert/Utf8Decoder-class.html<a href>/libraries/async/using-streams
Not allowed hosthttps://api.dart.dev/dart-convert/dart-convert-library.html<a href>/libraries/dart-convert
Not allowed hosthttps://api.dart.dev/dart-core/ArgumentError-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/ArgumentError/toString.html<a href>/libraries/async/async-await
Not allowed hosthttps://api.dart.dev/dart-core/AssertionError-class.html<a href>/language/error-handling
Not allowed hosthttps://api.dart.dev/dart-core/BigInt-class.html<a href>/resources/language/number-representation
Not allowed hosthttps://api.dart.dev/dart-core/Comparable-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/DateTime-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Deprecated-class.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/dart-core/Deprecated/message.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/Duration-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Enum-class.html<a href>/language/enums
Not allowed hosthttps://api.dart.dev/dart-core/Error-class.html<a href>/libraries/async/async-await
Not allowed hosthttps://api.dart.dev/dart-core/Exception-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Expando-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Finalizer-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Function-class.html<a href>/language/functions
Not allowed hosthttps://api.dart.dev/dart-core/Iterable-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Iterable/forEach.html<a href>/language/loops
Not allowed hosthttps://api.dart.dev/dart-core/Iterable/whereType.html<a href>/effective-dart/usage
Not allowed hosthttps://api.dart.dev/dart-core/Iterator-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/List-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/List/List.filled.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/List/List.from.html<a href>/effective-dart/usage
Not allowed hosthttps://api.dart.dev/dart-core/Map-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/MapEntry-class.html<a href>/language/patterns
Not allowed hosthttps://api.dart.dev/dart-core/Match-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/NoSuchMethodError-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/NoSuchMethodError/NoSuchMethodError.withInvocation.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/Object-class.html<a href>/language/classes
Not allowed hosthttps://api.dart.dev/dart-core/Object/hash.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Object/hashAll.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Object/hashAllUnordered.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/OutOfMemoryError-class.html<a href>/effective-dart/usage
Not allowed hosthttps://api.dart.dev/dart-core/Pattern-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/RegExp-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Runes-class.html<a href>/language/built-in-types
Not allowed hosthttps://api.dart.dev/dart-core/Set-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/StackOverflowError-class.html<a href>/effective-dart/usage
Not allowed hosthttps://api.dart.dev/dart-core/StackTrace-class.html<a href>/language/error-handling
Not allowed hosthttps://api.dart.dev/dart-core/StateError-class.html<a href>/language/pattern-types
Not allowed hosthttps://api.dart.dev/dart-core/String-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/String/String.fromEnvironment.html<a href>/libraries/core/environment-declarations
Not allowed hosthttps://api.dart.dev/dart-core/StringBuffer-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Symbol-class.html<a href>/language/built-in-types
Not allowed hosthttps://api.dart.dev/dart-core/Type-class.html<a href>/language/classes
Not allowed hosthttps://api.dart.dev/dart-core/TypeError-class.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/Uri-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Uri/Uri.http.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/Uri/Uri.https.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/WeakReference-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/bool/bool.fromEnvironment.html<a href>/libraries/core/environment-declarations
Not allowed hosthttps://api.dart.dev/dart-core/bool/bool.hasEnvironment.html<a href>/libraries/core/environment-declarations
Not allowed hosthttps://api.dart.dev/dart-core/dart-core-library.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/double-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/double/parse.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/identical.html<a href>/language/operators
Not allowed hosthttps://api.dart.dev/dart-core/int-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/int/int.fromEnvironment.html<a href>/libraries/core/environment-declarations
Not allowed hosthttps://api.dart.dev/dart-core/int/parse.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/num-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/num/parse.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/num/toStringAsFixed.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/num/toStringAsPrecision.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-core/num/tryParse.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-core/override-constant.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/dart-core/pragma-class.html<a href>/language/metadata
Not allowed hosthttps://api.dart.dev/dart-developer/UserTag-class.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-developer/UserTag/maxUserTags-constant.html<a href>/resources/dart-3-migration
Not allowed hosthttps://api.dart.dev/dart-developer/dart-developer-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-ffi/Abi-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/AbiSpecificInteger-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Array-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Bool-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/DefaultAsset-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Double-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/DynamicLibrary-class.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-ffi/Finalizable-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-ffi/Float-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Int-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Int16-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Int32-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Int64-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Int8-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/IntPtr-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Long-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/LongLong-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Native-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/NativeFinalizer-class.html<a href>/libraries/dart-core
Not allowed hosthttps://api.dart.dev/dart-ffi/NativeFunction-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/NativeType-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Opaque-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Pointer-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Short-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/SignedChar-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Size-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Struct-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Uint16-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Uint32-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Uint64-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Uint8-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/UintPtr-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Union-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/UnsignedChar-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/UnsignedInt-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/UnsignedLong-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/UnsignedLongLong-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/UnsignedShort-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/Void-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/WChar-class.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-ffi/dart-ffi-library.html<a href>/interop/c-interop
Not allowed hosthttps://api.dart.dev/dart-html/<a href>/interop/js-interop/past-js-interop
Not allowed hosthttps://api.dart.dev/dart-html/AnchorElement-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/Document-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/Element-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/HttpRequest-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/MessageEvent-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/Node-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/WebSocket-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/Window-class.html<a href>/libraries/dart-html
Not allowed hosthttps://api.dart.dev/dart-html/dart-html-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-indexed_db/<a href>/interop/js-interop/past-js-interop
Not allowed hosthttps://api.dart.dev/dart-indexed_db/dart-indexed_db-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-io/Directory-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/File-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/HttpClient-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/HttpServer-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/IOSink-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/Process-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/Socket-class.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-io/WebSocket-class.html<a href>/libraries/dart-io
Not allowed hosthttps://api.dart.dev/dart-io/dart-io-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-isolate/Isolate/exit.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/Isolate/run.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/Isolate/spawn.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/Isolate/spawnUri.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/RawReceivePort-class.html<a href>/language/isolates
Not allowed hosthttps://api.dart.dev/dart-isolate/ReceivePort-class.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/RemoteError-class.html<a href>/language/isolates
Not allowed hosthttps://api.dart.dev/dart-isolate/SendPort-class.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/SendPort/send.html<a href>/language/concurrency
Not allowed hosthttps://api.dart.dev/dart-isolate/dart-isolate-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-js/<a href>/interop/js-interop/past-js-interop
Not allowed hosthttps://api.dart.dev/dart-js/JsObject-class.html<a href>/interop/js-interop/past-js-interop
Not allowed hosthttps://api.dart.dev/dart-js/dart-js-library.html<a href>/libraries
Not allowed hosthttps://api.dart.dev/dart-js_interop/<a href>/interop/js-interop
Not allowed hosthttps://api.dart.dev/dart-js_interop/ExternalDartReference-extension-type.html<a href>/interop/js-interop/js-types
Not allowed hosthttps://api.dart.dev/dart-js_interop/ExternalDartReferenceToObject/toDartObject.html<a href>/interop/js-interop/js-types
Not allowed hosthttps://api.dart.dev/dart-js_interop/FunctionToJSExportedDartFunction/toJS.html<a href>/interop/js-interop/js-types
Not allowed hosthttps://api.dart.dev/dart-js_interop/JS-class.html<a href>/interop/js-interop/usage
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSAnyOperatorExtension.html<a href>/interop/js-interop/usage
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSAnyUtilityExtension.html<a href>/interop/js-interop/package-web
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/dartify.html<a href>/interop/js-interop/usage
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/instanceOfString.html<a href>/interop/js-interop/js-types
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/isA.html<a href>/interop/js-interop/package-web
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/typeofEquals.html<a href>/interop/js-interop/js-types
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSBoxedDartObject-extension-type.html<a href>/interop/js-interop/js-types
Not allowed hosthttps://api.dart.dev/dart-js_interop/JSExport-class.html<a href>/interop/js-interop/usage
You have reached the hard limit of 200 rows as a protection against very large output or exhausted memory. You can change this with --rows-limit.
No rows found, please edit your search term.

External URLs

819 external URL(s)
Found 200 row(s).
External URLPages 🔽Found on URL (max 5)
http://en.wikipedia.org/api/rest_v1/1/learn/tutorial/async
http://http//127.0.0.1:80801/web/debugging
http://localhost:8080/1/web/get-started
https://api.dart.dev/beta/2.19.0-255.2.beta/dart-developer/UserTag/maxUserTags-constant.html1/changelog
https://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.extend.html1/language/metadata
https://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.implement.html1/language/metadata
https://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.instantiate.html1/language/metadata
https://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.mixin.html1/language/metadata
https://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.optional.html1/language/metadata
https://api.dart.dev/beta/latest/dart-core/Deprecated/Deprecated.subclass.html1/language/metadata
https://api.dart.dev/dart-async1/resources/glossary
https://api.dart.dev/dart-async/BroadcastStream-class.html1/language/isolates
https://api.dart.dev/dart-async/Completer-class.html1/language/isolates
https://api.dart.dev/dart-async/EventSink-class.html1/libraries/async/creating-streams
https://api.dart.dev/dart-async/Future-class.html1/language/async
https://api.dart.dev/dart-async/Future/then.html1/effective-dart/usage
https://api.dart.dev/dart-async/Future/wait.html1/libraries/dart-async
https://api.dart.dev/dart-async/FutureIterable/wait.html1/libraries/dart-async
https://api.dart.dev/dart-async/FutureRecord2/wait.html1/libraries/dart-async
https://api.dart.dev/dart-async/ParallelWaitError-class.html1/libraries/dart-async
https://api.dart.dev/dart-async/Stream-class.html1/language/async
https://api.dart.dev/dart-async/StreamController-class.html1/libraries/async/creating-streams
https://api.dart.dev/dart-async/StreamSubscription-class.html1/libraries/async/using-streams
https://api.dart.dev/dart-async/StreamTransformer-class.html1/libraries/async/creating-streams
https://api.dart.dev/dart-async/StreamTransformer/bind.html1/libraries/async/using-streams
https://api.dart.dev/dart-async/Zone-class.html1/libraries/async/zones
https://api.dart.dev/dart-async/Zone/fork.html1/libraries/async/zones
https://api.dart.dev/dart-async/Zone/runGuarded.html1/libraries/async/zones
https://api.dart.dev/dart-async/ZoneDelegate-class.html1/libraries/async/zones
https://api.dart.dev/dart-async/ZoneSpecification-class.html1/libraries/async/zones
https://api.dart.dev/dart-async/ZoneSpecification/handleUncaughtError.html1/libraries/async/zones
https://api.dart.dev/dart-async/dart-async-library.html1/libraries
https://api.dart.dev/dart-async/runZoned.html1/libraries/async/zones
https://api.dart.dev/dart-async/runZonedGuarded.html1/libraries/async/zones
https://api.dart.dev/dart-collection/HashMap-class.html1/libraries/collections/iterables
https://api.dart.dev/dart-collection/dart-collection-library.html1/libraries
https://api.dart.dev/dart-convert1/learn/tutorial/data-and-json
https://api.dart.dev/dart-convert/JsonCodec/decode.html1/server/fetch-data
https://api.dart.dev/dart-convert/LineSplitter-class.html1/libraries/async/using-streams
https://api.dart.dev/dart-convert/Utf8Decoder-class.html1/libraries/async/using-streams
https://api.dart.dev/dart-convert/dart-convert-library.html1/libraries/dart-convert
https://api.dart.dev/dart-core/ArgumentError-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/ArgumentError/toString.html1/libraries/async/async-await
https://api.dart.dev/dart-core/AssertionError-class.html1/language/error-handling
https://api.dart.dev/dart-core/BigInt-class.html1/resources/language/number-representation
https://api.dart.dev/dart-core/Comparable-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/DateTime-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Deprecated-class.html1/language/metadata
https://api.dart.dev/dart-core/Deprecated/message.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/Duration-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Enum-class.html1/language/enums
https://api.dart.dev/dart-core/Error-class.html1/libraries/async/async-await
https://api.dart.dev/dart-core/Exception-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Expando-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Finalizer-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Function-class.html1/language/functions
https://api.dart.dev/dart-core/Iterable-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Iterable/forEach.html1/language/loops
https://api.dart.dev/dart-core/Iterable/whereType.html1/effective-dart/usage
https://api.dart.dev/dart-core/Iterator-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/List-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/List/List.filled.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/List/List.from.html1/effective-dart/usage
https://api.dart.dev/dart-core/Map-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/MapEntry-class.html1/language/patterns
https://api.dart.dev/dart-core/Match-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/NoSuchMethodError-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/NoSuchMethodError/NoSuchMethodError.withInvocation.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/Object-class.html1/language/classes
https://api.dart.dev/dart-core/Object/hash.html1/libraries/dart-core
https://api.dart.dev/dart-core/Object/hashAll.html1/libraries/dart-core
https://api.dart.dev/dart-core/Object/hashAllUnordered.html1/libraries/dart-core
https://api.dart.dev/dart-core/OutOfMemoryError-class.html1/effective-dart/usage
https://api.dart.dev/dart-core/Pattern-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/RegExp-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Runes-class.html1/language/built-in-types
https://api.dart.dev/dart-core/Set-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/StackOverflowError-class.html1/effective-dart/usage
https://api.dart.dev/dart-core/StackTrace-class.html1/language/error-handling
https://api.dart.dev/dart-core/StateError-class.html1/language/pattern-types
https://api.dart.dev/dart-core/String-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/String/String.fromEnvironment.html1/libraries/core/environment-declarations
https://api.dart.dev/dart-core/StringBuffer-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Symbol-class.html1/language/built-in-types
https://api.dart.dev/dart-core/Type-class.html1/language/classes
https://api.dart.dev/dart-core/TypeError-class.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/Uri-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/Uri/Uri.http.html1/libraries/dart-core
https://api.dart.dev/dart-core/Uri/Uri.https.html1/libraries/dart-core
https://api.dart.dev/dart-core/WeakReference-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/bool/bool.fromEnvironment.html1/libraries/core/environment-declarations
https://api.dart.dev/dart-core/bool/bool.hasEnvironment.html1/libraries/core/environment-declarations
https://api.dart.dev/dart-core/dart-core-library.html1/libraries/dart-core
https://api.dart.dev/dart-core/double-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/double/parse.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/identical.html1/language/operators
https://api.dart.dev/dart-core/int-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/int/int.fromEnvironment.html1/libraries/core/environment-declarations
https://api.dart.dev/dart-core/int/parse.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/num-class.html1/libraries/dart-core
https://api.dart.dev/dart-core/num/parse.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/num/toStringAsFixed.html1/libraries/dart-core
https://api.dart.dev/dart-core/num/toStringAsPrecision.html1/libraries/dart-core
https://api.dart.dev/dart-core/num/tryParse.html1/resources/dart-3-migration
https://api.dart.dev/dart-core/override-constant.html1/language/metadata
https://api.dart.dev/dart-core/pragma-class.html1/language/metadata
https://api.dart.dev/dart-developer/UserTag-class.html1/language/concurrency
https://api.dart.dev/dart-developer/UserTag/maxUserTags-constant.html1/resources/dart-3-migration
https://api.dart.dev/dart-developer/dart-developer-library.html1/libraries
https://api.dart.dev/dart-ffi/Abi-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/AbiSpecificInteger-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Array-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Bool-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/DefaultAsset-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Double-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/DynamicLibrary-class.html1/language/concurrency
https://api.dart.dev/dart-ffi/Finalizable-class.html1/libraries/dart-core
https://api.dart.dev/dart-ffi/Float-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Int-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Int16-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Int32-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Int64-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Int8-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/IntPtr-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Long-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/LongLong-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Native-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/NativeFinalizer-class.html1/libraries/dart-core
https://api.dart.dev/dart-ffi/NativeFunction-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/NativeType-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Opaque-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Pointer-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Short-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/SignedChar-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Size-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Struct-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Uint16-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Uint32-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Uint64-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Uint8-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/UintPtr-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Union-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/UnsignedChar-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/UnsignedInt-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/UnsignedLong-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/UnsignedLongLong-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/UnsignedShort-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/Void-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/WChar-class.html1/interop/c-interop
https://api.dart.dev/dart-ffi/dart-ffi-library.html1/interop/c-interop
https://api.dart.dev/dart-html/1/interop/js-interop/past-js-interop
https://api.dart.dev/dart-html/AnchorElement-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/Document-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/Element-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/HttpRequest-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/MessageEvent-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/Node-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/WebSocket-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/Window-class.html1/libraries/dart-html
https://api.dart.dev/dart-html/dart-html-library.html1/libraries
https://api.dart.dev/dart-indexed_db/1/interop/js-interop/past-js-interop
https://api.dart.dev/dart-indexed_db/dart-indexed_db-library.html1/libraries
https://api.dart.dev/dart-io/Directory-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/File-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/HttpClient-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/HttpServer-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/IOSink-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/Process-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/Socket-class.html1/language/concurrency
https://api.dart.dev/dart-io/WebSocket-class.html1/libraries/dart-io
https://api.dart.dev/dart-io/dart-io-library.html1/libraries
https://api.dart.dev/dart-isolate/Isolate/exit.html1/language/concurrency
https://api.dart.dev/dart-isolate/Isolate/run.html1/language/concurrency
https://api.dart.dev/dart-isolate/Isolate/spawn.html1/language/concurrency
https://api.dart.dev/dart-isolate/Isolate/spawnUri.html1/language/concurrency
https://api.dart.dev/dart-isolate/RawReceivePort-class.html1/language/isolates
https://api.dart.dev/dart-isolate/ReceivePort-class.html1/language/concurrency
https://api.dart.dev/dart-isolate/RemoteError-class.html1/language/isolates
https://api.dart.dev/dart-isolate/SendPort-class.html1/language/concurrency
https://api.dart.dev/dart-isolate/SendPort/send.html1/language/concurrency
https://api.dart.dev/dart-isolate/dart-isolate-library.html1/libraries
https://api.dart.dev/dart-js/1/interop/js-interop/past-js-interop
https://api.dart.dev/dart-js/JsObject-class.html1/interop/js-interop/past-js-interop
https://api.dart.dev/dart-js/dart-js-library.html1/libraries
https://api.dart.dev/dart-js_interop/1/interop/js-interop
https://api.dart.dev/dart-js_interop/ExternalDartReference-extension-type.html1/interop/js-interop/js-types
https://api.dart.dev/dart-js_interop/ExternalDartReferenceToObject/toDartObject.html1/interop/js-interop/js-types
https://api.dart.dev/dart-js_interop/FunctionToJSExportedDartFunction/toJS.html1/interop/js-interop/js-types
https://api.dart.dev/dart-js_interop/JS-class.html1/interop/js-interop/usage
https://api.dart.dev/dart-js_interop/JSAnyOperatorExtension.html1/interop/js-interop/usage
https://api.dart.dev/dart-js_interop/JSAnyUtilityExtension.html1/interop/js-interop/package-web
https://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/dartify.html1/interop/js-interop/usage
https://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/instanceOfString.html1/interop/js-interop/js-types
https://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/isA.html1/interop/js-interop/package-web
https://api.dart.dev/dart-js_interop/JSAnyUtilityExtension/typeofEquals.html1/interop/js-interop/js-types
https://api.dart.dev/dart-js_interop/JSBoxedDartObject-extension-type.html1/interop/js-interop/js-types
https://api.dart.dev/dart-js_interop/JSExport-class.html1/interop/js-interop/usage
https://api.dart.dev/dart-js_interop/JSObject-extension-type.html1/interop/js-interop/package-web
https://api.dart.dev/dart-js_interop/NullableObjectUtilExtension/jsify.html1/interop/js-interop/usage
https://api.dart.dev/dart-js_interop/ObjectToExternalDartReference/toExternalReference.html1/interop/js-interop/js-types
You have reached the hard limit of 200 rows as a protection against very large output or exhausted memory. You can change this with --rows-limit.
No rows found, please edit your search term.

TOP fastest URLs

Found 20 row(s).
Time 🔼StatusFast URL
8 ms 200 /learn/tutorial/first-app
8 ms 200 /language/comments
8 ms 200 /language/generics
9 ms 200 /language/class-modifiers
9 ms 200 /language/functions
9 ms 200 /language/metadata
9 ms 200 /libraries
9 ms 200 /language
9 ms 200 /
9 ms 200 /effective-dart
9 ms 200 /language/type-system
9 ms 200 /get-dart
9 ms 200 /learn/tutorial/async
10 ms 200 /docs
10 ms 200 /language/variables
10 ms 200 /overview
10 ms 200 /libraries/async/async-await
10 ms 200 /language/operators
10 ms 200 /learn/tutorial/interactivity
10 ms 200 /language/error-handling
No rows found, please edit your search term.

TOP slowest URLs

Found 20 row(s).

Content types

Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 30x
HTML12219 MB14 s121 ms 122 0
Redirect212 kB2 s94 ms 021

Content types (MIME types)

Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 30x
text/html; charset=utf-812219 MB14 s121 ms 122 0
text / html212 kB2 s94 ms 021

Source domains

DomainTotalsHTMLRedirect
dart.dev142 / 19MB / 16s121 / 19MB / 14s21 / 2kB / 2s
docs.flutter.dev1 / 120kB / 113ms1 / 120kB / 113ms

HTTP headers

Found 20 row(s).
Header 🔼OccursUniqueValues previewMin valueMax value
Accept-Ranges1421bytes
Alt-Svc1421h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
Cache-Control1211max-age=3600
Content-Length21-[ignored generic values]20 B86 B
Content-Security-Policy-Report-Only1421script-src 'self'
Content-Type1422text/html; charset=utf-8 (121) / text/html (21)
Date142-[ignored generic values]2026-03-242026-03-24
Etag121-[ignored generic values]
Last-Modified121-[ignored generic values]2026-03-242026-03-24
Location2120[see values below]
Referrer-Policy1421strict-origin-when-cross-origin
Strict-Transport-Security1211max-age=31556926
Vary1421x-fh-requested-host, accept-encoding
X-Cache1422MISS (115) / HIT (27)
X-Cache-Hits14220 (138) / 1 (4)
X-Content-Type-Options1421nosniff
X-Frame-Options1421DENY
X-Served-By1421cache-bma-essb1270033-BMA
X-Timer14220+[see values below]
X-XSS-Protection14211;mode=block
No rows found, please edit your search term.

HTTP header values

Found 57 row(s).
HeaderOccursValue
Accept-Ranges142bytes
Alt-Svc142h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400
Cache-Control121max-age=3600
Content-Security-Policy-Report-Only142script-src 'self'
Content-Type121text/html; charset=utf-8
Content-Type21text / html
Location2/interop/js-interop
Location1/language/patterns
Location1https://storage.googleapis.com/dart-specification/DartLangSpecDraft.pdf
Location1/language/generics
Location1/resources/dart-3-migration
Location1/language/operators
Location1/interop/js-interop/js-types
Location1/libraries/dart-async
Location1/language
Location1/docs
Location1/language/records
Location1/interop/c-interop
Location1/web/libraries
Location1/effective-dart/usage
Location1/language/constructors
Location1/language/loops
Location1https://docs.flutter.dev/jobs
Location1/libraries/async/zones
Location1/language/pattern-types
Location1/interop/js-interop/package-web
Referrer-Policy142strict-origin-when-cross-origin
Strict-Transport-Security121max-age=31556926
Vary142x-fh-requested-host, accept-encoding
X-Cache115MISS
X-Cache27HIT
X-Cache-Hits1380
X-Cache-Hits41
X-Content-Type-Options142nosniff
X-Frame-Options142DENY
X-Served-By142cache-bma-essb1270033-BMA
X-Timer1S1774357377.424172,VS0,VE1
X-Timer1S1774357378.625472,VS0,VE121
X-Timer1S1774357378.237764,VS0,VE111
X-Timer1S1774357378.825130,VS0,VE164
X-Timer1S1774357378.525229,VS0,VE1
X-Timer1S1774357378.925177,VS0,VE137
X-Timer1S1774357378.327805,VS0,VE119
X-Timer1S1774357378.057725,VS0,VE137
X-Timer1S1774357379.525015,VS0,VE1
X-Timer1S1774357378.425063,VS0,VE102
X-Timer1S1774357379.225825,VS0,VE1
X-Timer1S1774357378.124836,VS0,VE161
X-Timer1S1774357379.860140,VS0,VE195
X-Timer1S1774357379.125436,VS0,VE1
X-Timer1S1774357379.625136,VS0,VE153
X-Timer1S1774357379.725652,VS0,VE116
X-Timer1S1774357379.925605,VS0,VE115
X-Timer1S1774357379.325418,VS0,VE157
X-Timer1S1774357378.725365,VS0,VE114
X-Timer1S1774357379.025216,VS0,VE157
X-XSS-Protection1421;mode=block
No rows found, please edit your search term.

HTTP Caching by content type (only from crawlable domains)

Content typeCache typeURLs 🔽AVG lifetimeMIN lifetimeMAX lifetime
HTMLCache-Control + ETag + Last-Modified12160 min60 min60 min
RedirectNo cache headers21---

HTTP Caching by domain

DomainCache typeURLs 🔽AVG lifetimeMIN lifetimeMAX lifetime
dart.devCache-Control + ETag + Last-Modified12160 min60 min60 min
dart.devNo cache headers21---
docs.flutter.devCache-Control + ETag + Last-Modified160 min60 min60 min

HTTP Caching by domain and content type

DomainContent typeCache typeURLs 🔽AVG lifetimeMIN lifetimeMAX lifetime
dart.devHTMLCache-Control + ETag + Last-Modified12160 min60 min60 min
dart.devRedirectNo cache headers21---
docs.flutter.devHTMLCache-Control + ETag + Last-Modified160 min60 min60 min

DNS info

DNS resolving tree
dart.dev
  IPv4: 199.36.158.100
DNS server: 127.0.0.53

SSL/TLS info

InfoText
IssuerC = US, O = Google Trust Services, CN = WR3
SubjectCN = dart.dev
Valid fromMar  6 05:33:09 2026 GMT (VALID already 18.3 day(s))
Valid toJun  4 06:31:18 2026 GMT (VALID still for 71.7 day(s))
Supported protocolsTLSv1.2, TLSv1.3
RAW certificate outputCertificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            05:03:55:7b:92:96:ac:1b:12:bd:93:ad:22:7c:4c:59
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, O = Google Trust Services, CN = WR3
        Validity
            Not Before: Mar  6 05:33:09 2026 GMT
            Not After : Jun  4 06:31:18 2026 GMT
        Subject: CN = dart.dev
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:aa:db:34:c9:e2:e0:0d:62:e9:5c:6f:2c:44:1d:
                    a2:43:c2:23:df:3c:c4:2d:d9:fa:0f:a1:31:09:02:
                    24:50:71:82:bf:a1:ee:c2:5f:50:f0:f2:08:5e:c8:
                    99:c9:ab:7e:89:24:2f:42:10:59:f7:04:87:61:8b:
                    98:15:6b:d7:0e:dd:4a:c6:3d:40:34:e2:85:58:39:
                    16:5a:f8:82:f7:35:9d:85:d6:8a:3d:d9:58:ce:d0:
                    89:79:c3:7e:9c:0a:eb:18:f9:fa:24:7a:29:8c:f1:
                    ab:a6:80:b2:36:ae:4e:1d:73:72:9c:51:81:b5:fb:
                    f4:68:77:cf:9b:7e:f5:63:f7:94:ad:a5:0e:74:40:
                    43:32:55:f7:b6:83:9c:ca:12:0b:95:99:e3:42:1e:
                    86:95:d1:15:f4:db:06:77:3e:40:3d:0f:c5:cf:09:
                    f0:8e:fa:6d:e1:a3:c9:1d:53:da:08:5f:40:1a:40:
                    34:97:86:0e:fa:aa:bb:ec:9f:2d:be:af:9d:fc:35:
                    cb:b1:d0:f3:bb:fc:c7:87:26:6b:17:22:03:6b:c0:
                    b9:c7:e7:30:87:c3:f6:a2:1b:43:73:96:2f:2e:0e:
                    09:86:71:b2:a4:88:d8:fe:fc:4c:e3:a6:4e:96:1a:
                    b5:05:d1:08:90:5e:3d:2d:06:c9:59:60:f9:5e:55:
                    54:55
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier: 
                21:45:C2:3B:AC:4C:2C:EB:6B:4F:B5:E7:C9:E2:C3:6A:D1:BD:B3:C2
            X509v3 Authority Key Identifier: 
                C7:81:F5:FD:8E:88:D9:00:3C:4D:63:A2:50:31:24:A0:CE:23:FE:23
            Authority Information Access: 
                OCSP - URI:http://o.pki.goog/s/wr3/BQM
                CA Issuers - URI:http://i.pki.goog/wr3.crt
            X509v3 Subject Alternative Name: 
                DNS:dart.dev
            X509v3 Certificate Policies: 
                Policy: 2.23.140.1.2.1
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:http://c.pki.goog/wr3/RqT89ooGdns.crl
            CT Precertificate SCTs: 
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 96:97:64:BF:55:58:97:AD:F7:43:87:68:37:08:42:77:
                                E9:F0:3A:D5:F6:A4:F3:36:6E:46:A4:3F:0F:CA:A9:C6
                    Timestamp : Mar  6 06:33:10.060 2026 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:C8:2A:30:9E:60:76:9B:36:22:52:1D:
                                3E:46:A8:97:EB:9E:C0:D2:22:B1:63:57:B2:8C:09:1F:
                                77:EB:E9:C8:7C:02:21:00:F3:0C:45:7F:FE:F1:B3:F2:
                                86:E2:D8:E6:15:B4:F5:1E:71:58:78:E5:95:4B:17:C4:
                                A2:45:26:95:EE:DD:C9:AF
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 49:9C:9B:69:DE:1D:7C:EC:FC:36:DE:CD:87:64:A6:B8:
                                5B:AF:0A:87:80:19:D1:55:52:FB:E9:EB:29:DD:F8:C3
                    Timestamp : Mar  6 06:33:11.028 2026 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:21:00:C4:1E:30:0F:5F:A7:69:DF:28:2B:9C:
                                AD:C4:0B:EF:AD:11:31:B8:8B:61:F4:F0:44:6A:C7:15:
                                A9:95:AE:2E:3D:02:20:50:61:57:FE:5E:53:BD:19:B9:
                                13:F6:DB:D4:21:2B:0D:E6:45:65:BD:90:08:00:ED:4A:
                                20:37:E7:03:96:A9:12
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        25:45:6f:f7:54:9c:a2:68:04:2f:bb:1b:7c:fe:fe:12:59:fd:
        ce:e5:02:f0:c8:5f:56:a3:2d:c4:12:70:9c:6f:de:be:bb:c9:
        13:48:f0:00:38:a3:6e:c0:66:e5:ef:61:89:e9:f1:86:3c:12:
        f3:37:80:7f:f2:9f:a4:61:26:58:ee:cb:df:95:4e:81:a3:97:
        28:15:1d:b1:43:b8:9b:d7:76:4f:cd:5b:65:3b:a8:cd:75:fe:
        a5:26:85:52:79:88:04:4e:b1:e1:c7:bc:39:a1:6a:ec:10:bd:
        00:1a:4d:01:a8:d8:3a:fe:16:74:ed:22:cb:a2:5b:a6:ec:74:
        ea:16:93:f7:8b:aa:11:52:8c:40:94:ac:46:cc:6a:14:b8:10:
        c4:9c:8a:f8:85:94:d4:6e:94:f3:26:7f:d1:e0:1e:0b:34:e1:
        31:74:25:25:01:59:a6:f8:8f:56:1f:36:37:e3:07:39:82:20:
        cd:9d:ec:a2:53:7d:ab:49:26:68:75:a7:6d:2f:3a:99:08:2e:
        97:1c:a0:55:b1:25:6e:7e:20:2a:24:73:5d:b9:1b:ff:5d:30:
        0f:8c:9a:4f:5c:87:06:0c:af:3f:40:4a:c9:93:48:8b:f4:01:
        e4:1f:be:cf:63:0e:29:c7:34:6e:bc:c1:a9:db:52:41:ea:dd:
        0c:39:20:63
RAW protocols output
=== ssl2 ===
s_client: Unknown option: -ssl2
s_client: Use -help for summary.

=== ssl3 ===
s_client: Unknown option: -ssl3
s_client: Use -help for summary.

=== tls1 ===
40A704B836740000:error:0A0000BF:SSL routines:tls_setup_handshake:no protocols available:../ssl/statem/statem_lib.c:104:
CONNECTED(00000003)
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 7 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

=== tls1_1 ===
40E736534C740000:error:0A0000BF:SSL routines:tls_setup_handshake:no protocols available:../ssl/statem/statem_lib.c:104:
CONNECTED(00000003)
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 7 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

=== tls1_2 ===
depth=2 C = US, O = Google Trust Services LLC, CN = GTS Root R1
verify return:1
depth=1 C = US, O = Google Trust Services, CN = WR3
verify return:1
depth=0 CN = dart.dev
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:CN = dart.dev
   i:C = US, O = Google Trust Services, CN = WR3
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar  6 05:33:09 2026 GMT; NotAfter: Jun  4 06:31:18 2026 GMT
 1 s:C = US, O = Google Trust Services, CN = WR3
   i:C = US, O = Google Trust Services LLC, CN = GTS Root R1
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Dec 13 09:00:00 2023 GMT; NotAfter: Feb 20 14:00:00 2029 GMT
 2 s:C = US, O = Google Trust Services LLC, CN = GTS Root R1
   i:C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
   v:NotBefore: Jun 19 00:00:42 2020 GMT; NotAfter: Jan 28 00:00:42 2028 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFHDCCBASgAwIBAgIQBQNVe5KWrBsSvZOtInxMWTANBgkqhkiG9w0BAQsFADA7
MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQww
CgYDVQQDEwNXUjMwHhcNMjYwMzA2MDUzMzA5WhcNMjYwNjA0MDYzMTE4WjATMREw
DwYDVQQDEwhkYXJ0LmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKrbNMni4A1i6VxvLEQdokPCI988xC3Z+g+hMQkCJFBxgr+h7sJfUPDyCF7Imcmr
fokkL0IQWfcEh2GLmBVr1w7dSsY9QDTihVg5Flr4gvc1nYXWij3ZWM7QiXnDfpwK
6xj5+iR6KYzxq6aAsjauTh1zcpxRgbX79Gh3z5t+9WP3lK2lDnRAQzJV97aDnMoS
C5WZ40IehpXRFfTbBnc+QD0Pxc8J8I76beGjyR1T2ghfQBpANJeGDvqqu+yfLb6v
nfw1y7HQ87v8x4cmaxciA2vAucfnMIfD9qIbQ3OWLy4OCYZxsqSI2P78TOOmTpYa
tQXRCJBePS0GyVlg+V5VVFUCAwEAAaOCAkIwggI+MA4GA1UdDwEB/wQEAwIFoDAT
BgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQhRcI7
rEws62tPtefJ4sNq0b2zwjAfBgNVHSMEGDAWgBTHgfX9jojZADxNY6JQMSSgziP+
IzBeBggrBgEFBQcBAQRSMFAwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vLnBraS5nb29n
L3Mvd3IzL0JRTTAlBggrBgEFBQcwAoYZaHR0cDovL2kucGtpLmdvb2cvd3IzLmNy
dDATBgNVHREEDDAKgghkYXJ0LmRldjATBgNVHSAEDDAKMAgGBmeBDAECATA2BgNV
HR8ELzAtMCugKaAnhiVodHRwOi8vYy5wa2kuZ29vZy93cjMvUnFUODlvb0dkbnMu
Y3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAlpdkv1VYl633Q4doNwhCd+nw
OtX2pPM2bkakPw/KqcYAAAGcwdmcrAAABAMASDBGAiEAyCownmB2mzYiUh0+RqiX
657A0iKxY1eyjAkfd+vpyHwCIQDzDEV//vGz8obi2OYVtPUecVh45ZVLF8SiRSaV
7t3JrwB2AEmcm2neHXzs/DbezYdkprhbrwqHgBnRVVL76esp3fjDAAABnMHZoHQA
AAQDAEcwRQIhAMQeMA9fp2nfKCucrcQL760RMbiLYfTwRGrHFamVri49AiBQYVf+
XlO9GbkT9tvUISsN5kVlvZAIAO1KIDfnA5apEjANBgkqhkiG9w0BAQsFAAOCAQEA
JUVv91ScomgEL7sbfP7+Eln9zuUC8MhfVqMtxBJwnG/evrvJE0jwADijbsBm5e9h
ienxhjwS8zeAf/KfpGEmWO7L35VOgaOXKBUdsUO4m9d2T81bZTuozXX+pSaFUnmI
BE6x4ce8OaFq7BC9ABpNAajYOv4WdO0iy6Jbpux06haT94uqEVKMQJSsRsxqFLgQ
xJyK+IWU1G6U8yZ/0eAeCzThMXQlJQFZpviPVh82N+MHOYIgzZ3solN9q0kmaHWn
bS86mQgulxygVbElbn4gKiRzXbkb/10wD4yaT1yHBgyvP0BKyZNIi/QB5B++z2MO
Kcc0brzBqdtSQerdDDkgYw==
-----END CERTIFICATE-----
subject=CN = dart.dev
issuer=C = US, O = Google Trust Services, CN = WR3
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 4646 bytes and written 290 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-CHACHA20-POLY1305
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-CHACHA20-POLY1305
    Session-ID: 903ACF2C1D6D1D99E9302EFDE4FCE06EEB5A6493E24920812D413F51807D5F62
    Session-ID-ctx: 
    Master-Key: 9A249FBAE8A212EF8866D5A62644A82A1B50237AB10DD403A187582A9A5D86D574D956586D51CF7C928E0EC856F6D103
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 86400 (seconds)
    TLS session ticket:
    0000 - 79 8f 2a 4d c1 17 c6 8a-fe 2b b0 05 4d 27 4d 2e   y.*M.....+..M'M.
    0010 - a2 d9 80 35 67 29 8c bf-59 00 8b 69 06 58 44 b6   ...5g)..Y..i.XD.
    0020 - 79 d3 ef 2c da 6b 60 39-c8 c1 bf ba 36 9d 97 99   y..,.k`9....6...
    0030 - d8 09 c1 1a b1 88 94 14-c6 aa 63 53 b5 cf 7e 5e   ..........cS..~^
    0040 - 71 7f 45 d1 68 f2 7e 65-2a 67 fb 70 b4 63 f0 e8   q.E.h.~e*g.p.c..
    0050 - 6c 9d 1f d8 f4 4c 08 cb-2f cc 1b 4b c2 49 5c 70   l....L../..K.I\p
    0060 - a2 0a 5e 9e 63 70 48 83-be f0 ac 65 b6 2d 16 54   ..^.cpH....e.-.T
    0070 - 82 e2 7c ed 30 7c 65 51-0a ce d7 a4 b2 4b f4 2c   ..|.0|eQ.....K.,
    0080 - 35 5d 52 b1 26 7e 31 c8-29 16 8c 70 cd 25 e8 46   5]R.&~1.)..p.%.F
    0090 - 8a 92 3d c4 94 1f f7 cd-b3 42 fb e7 48 2d 00 d0   ..=......B..H-..
    00a0 - f4 2a 33 cd c1 b0 6d c2-d1 e4 3e d8 ba be 46 28   .*3...m...>...F(
    00b0 - 0e ae d5 4e c4 5c bf e8-c6 ae c4 e5 d0 08 e1 25   ...N.\.........%

    Start Time: 1774357392
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: yes
---
DONE

=== tls1_3 ===
depth=2 C = US, O = Google Trust Services LLC, CN = GTS Root R1
verify return:1
depth=1 C = US, O = Google Trust Services, CN = WR3
verify return:1
depth=0 CN = dart.dev
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:CN = dart.dev
   i:C = US, O = Google Trust Services, CN = WR3
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar  6 05:33:09 2026 GMT; NotAfter: Jun  4 06:31:18 2026 GMT
 1 s:C = US, O = Google Trust Services, CN = WR3
   i:C = US, O = Google Trust Services LLC, CN = GTS Root R1
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Dec 13 09:00:00 2023 GMT; NotAfter: Feb 20 14:00:00 2029 GMT
 2 s:C = US, O = Google Trust Services LLC, CN = GTS Root R1
   i:C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
   v:NotBefore: Jun 19 00:00:42 2020 GMT; NotAfter: Jan 28 00:00:42 2028 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFHDCCBASgAwIBAgIQBQNVe5KWrBsSvZOtInxMWTANBgkqhkiG9w0BAQsFADA7
MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQww
CgYDVQQDEwNXUjMwHhcNMjYwMzA2MDUzMzA5WhcNMjYwNjA0MDYzMTE4WjATMREw
DwYDVQQDEwhkYXJ0LmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKrbNMni4A1i6VxvLEQdokPCI988xC3Z+g+hMQkCJFBxgr+h7sJfUPDyCF7Imcmr
fokkL0IQWfcEh2GLmBVr1w7dSsY9QDTihVg5Flr4gvc1nYXWij3ZWM7QiXnDfpwK
6xj5+iR6KYzxq6aAsjauTh1zcpxRgbX79Gh3z5t+9WP3lK2lDnRAQzJV97aDnMoS
C5WZ40IehpXRFfTbBnc+QD0Pxc8J8I76beGjyR1T2ghfQBpANJeGDvqqu+yfLb6v
nfw1y7HQ87v8x4cmaxciA2vAucfnMIfD9qIbQ3OWLy4OCYZxsqSI2P78TOOmTpYa
tQXRCJBePS0GyVlg+V5VVFUCAwEAAaOCAkIwggI+MA4GA1UdDwEB/wQEAwIFoDAT
BgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQhRcI7
rEws62tPtefJ4sNq0b2zwjAfBgNVHSMEGDAWgBTHgfX9jojZADxNY6JQMSSgziP+
IzBeBggrBgEFBQcBAQRSMFAwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vLnBraS5nb29n
L3Mvd3IzL0JRTTAlBggrBgEFBQcwAoYZaHR0cDovL2kucGtpLmdvb2cvd3IzLmNy
dDATBgNVHREEDDAKgghkYXJ0LmRldjATBgNVHSAEDDAKMAgGBmeBDAECATA2BgNV
HR8ELzAtMCugKaAnhiVodHRwOi8vYy5wa2kuZ29vZy93cjMvUnFUODlvb0dkbnMu
Y3JsMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAlpdkv1VYl633Q4doNwhCd+nw
OtX2pPM2bkakPw/KqcYAAAGcwdmcrAAABAMASDBGAiEAyCownmB2mzYiUh0+RqiX
657A0iKxY1eyjAkfd+vpyHwCIQDzDEV//vGz8obi2OYVtPUecVh45ZVLF8SiRSaV
7t3JrwB2AEmcm2neHXzs/DbezYdkprhbrwqHgBnRVVL76esp3fjDAAABnMHZoHQA
AAQDAEcwRQIhAMQeMA9fp2nfKCucrcQL760RMbiLYfTwRGrHFamVri49AiBQYVf+
XlO9GbkT9tvUISsN5kVlvZAIAO1KIDfnA5apEjANBgkqhkiG9w0BAQsFAAOCAQEA
JUVv91ScomgEL7sbfP7+Eln9zuUC8MhfVqMtxBJwnG/evrvJE0jwADijbsBm5e9h
ienxhjwS8zeAf/KfpGEmWO7L35VOgaOXKBUdsUO4m9d2T81bZTuozXX+pSaFUnmI
BE6x4ce8OaFq7BC9ABpNAajYOv4WdO0iy6Jbpux06haT94uqEVKMQJSsRsxqFLgQ
xJyK+IWU1G6U8yZ/0eAeCzThMXQlJQFZpviPVh82N+MHOYIgzZ3solN9q0kmaHWn
bS86mQgulxygVbElbn4gKiRzXbkb/10wD4yaT1yHBgyvP0BKyZNIi/QB5B++z2MO
Kcc0brzBqdtSQerdDDkgYw==
-----END CERTIFICATE-----
subject=CN = dart.dev
issuer=C = US, O = Google Trust Services, CN = WR3
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 4543 bytes and written 306 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_128_GCM_SHA256
    Session-ID: 21DF81A9EA348666F1E330719F9FCED220B1A0982F75B955048B39F1AC31D9E8
    Session-ID-ctx: 
    Resumption PSK: 5F8443D1988ECDF5B2FDED3CE9BB9B534BD80CDC449DFAB822EB93BEFF56CC2E
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 86400 (seconds)
    TLS session ticket:
    0000 - 79 8f 2a 4d c1 17 c6 8a-fe 2b b0 05 4d 27 4d 2e   y.*M.....+..M'M.
    0010 - 9b 6c 98 09 49 e4 71 36-f2 93 84 cf ec db 35 66   .l..I.q6......5f
    0020 - 91 3b 17 5d ad 56 86 63-c1 95 01 c4 22 25 99 b6   .;.].V.c...."%..
    0030 - 9c 07 11 6e cc 11 cc 84-88 40 0f cf 8d 0e a6 e7   ...n.....@......
    0040 - 37 a7 32 31 c8 08 28 9b-e5 a0 8d c1 3f 84 33 f2   7.21..(.....?.3.
    0050 - d8 50 4e a4 79 42 0a c8-90 c2 2e cd 85 34 95 9e   .PN.yB.......4..
    0060 - 79 60 74 f5 f2 64 3d ea-ab 2e 54 05 0e 98 33 47   y`t..d=...T...3G
    0070 - dc e0 ab 07 48 7a 58 58-39 7f 0f 19 b3 17 a3 7f   ....HzXX9.......
    0080 - 9a 41 07 4b 76 e8 06 30-b1 32 5a ed 03 eb d5 41   .A.Kv..0.2Z....A
    0090 - 6b 2b 9d d4 69 4c 14 fa-bd c1 1e af 2c 51 b1 dc   k+..iL......,Q..

    Start Time: 1774357392
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

Crawler stats

Basic stats
Total execution time17 s
Total URLs143
Total size19 MB
Requests - total time16 s
Requests - avg time117 ms
Requests - min time8 ms
Requests - max time235 ms
Requests by status200: 122
301: 21

Analysis stats

Found 21 row(s).
Class::methodExec time 🔽Exec count
AccessibilityAnalyzer::checkMissingAriaLabels690 ms 121
AccessibilityAnalyzer::checkMissingLabels639 ms 121
AccessibilityAnalyzer::checkMissingRoles549 ms 121
SslTlsAnalyzer::getTLSandSSLCertificateInfo527 ms 1
BestPracticeAnalyzer::checkHeadingStructure519 ms 122
AccessibilityAnalyzer::checkMissingLang467 ms 121
BestPracticeAnalyzer::checkMaxDOMDepth435 ms 122
BestPracticeAnalyzer::checkNonClickablePhoneNumbers181 ms 122
BestPracticeAnalyzer::checkInlineSvg109 ms 122
BestPracticeAnalyzer::checkMissingQuotesOnAttributes51 ms 122
SecurityAnalyzer::checkHtmlSecurity19 ms 121
AccessibilityAnalyzer::checkImageAltAttributes18 ms 121
SeoAndOpenGraphAnalyzer::analyzeHeadings16 ms 1
SecurityAnalyzer::checkHeaders3 ms 121
SeoAndOpenGraphAnalyzer::analyzeSeo0 ms 1
SeoAndOpenGraphAnalyzer::analyzeOpenGraph0 ms 1
BestPracticeAnalyzer::checkTitleUniqueness0 ms 1
BestPracticeAnalyzer::checkMetaDescriptionUniqueness0 ms 1
BestPracticeAnalyzer::checkBrotliSupport0 ms 1
BestPracticeAnalyzer::checkWebpSupport0 ms 1
BestPracticeAnalyzer::checkAvifSupport0 ms 1
No rows found, please edit your search term.

Content processor stats

Found 12 row(s).
Class::methodExec time 🔽Exec count
HtmlProcessor::findUrls160 ms 142
NextJsProcessor::applyContentChangesBeforeUrlParsing74 ms 122
JavaScriptProcessor::findUrls70 ms 121
CssProcessor::findUrls4 ms 121
AstroProcessor::findUrls2 ms 121
AstroProcessor::applyContentChangesBeforeUrlParsing0 ms 122
NextJsProcessor::findUrls0 ms 121
JavaScriptProcessor::applyContentChangesBeforeUrlParsing0 ms 122
HtmlProcessor::applyContentChangesBeforeUrlParsing0 ms 143
SvelteProcessor::applyContentChangesBeforeUrlParsing0 ms 122
SvelteProcessor::findUrls0 ms 121
CssProcessor::applyContentChangesBeforeUrlParsing0 ms 122
No rows found, please edit your search term.

Crawler info

Version 2.1.0.20260317
Executed At 2026-03-24 13:02:55
Command siteone-crawler --url=https://dart.dev/guides --markdown-export-dir=/tmp/siteone-dart --markdown-exclude-selector=header,footer,nav,.sidebar,.menu,.breadcrumb,script,style --timeout=30 --workers=5 --disable-javascript --disable-styles --disable-fonts --disable-images --disable-files --no-color --hide-progress-bar --output=text --ignore-regex=/community/|/tools/dartpad
Hostname ubuntu-8gb-hel1-1
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/26.0.0.0 Safari/537.36 siteone-crawler/2.1.0.20260317