Summary
Website Quality Score
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).
| URL | Status | Type | Time (s) | Size | Cache |
|---|---|---|---|---|---|
| /guides | 301 | Redirect | 8 ms | 75 B | None |
| /docs | 200 | HTML | 10 ms | 76 kB | 60 min |
| /libraries/dart-convert | 200 | HTML | 130 ms | 123 kB | 60 min |
| /community | 200 | HTML | 123 ms | 83 kB | 60 min |
| /language/dot-shorthands | 200 | HTML | 177 ms | 179 kB | 60 min |
| /resources/dart-3-migration | 200 | HTML | 148 ms | 153 kB | 60 min |
| /null-safety | 200 | HTML | 151 ms | 85 kB | 60 min |
| /security | 200 | HTML | 169 ms | 85 kB | 60 min |
| /language/async | 200 | HTML | 120 ms | 112 kB | 60 min |
| /interop/js-interop | 200 | HTML | 134 ms | 81 kB | 60 min |
| /overview | 200 | HTML | 10 ms | 96 kB | 60 min |
| /language/classes | 200 | HTML | 147 ms | 179 kB | 60 min |
| /libraries/dart-core | 200 | HTML | 164 ms | 417 kB | 60 min |
| /terms | 200 | HTML | 135 ms | 76 kB | 60 min |
| /language/enums | 200 | HTML | 125 ms | 119 kB | 60 min |
| /language/branches | 200 | HTML | 235 ms | 151 kB | 60 min |
| /language/generics | 200 | HTML | 9 ms | 146 kB | 60 min |
| /web/wasm | 200 | HTML | 166 ms | 86 kB | 60 min |
| /language/functions | 200 | HTML | 9 ms | 247 kB | 60 min |
| /web | 200 | HTML | 165 ms | 76 kB | 60 min |
| /language/mixins | 200 | HTML | 131 ms | 133 kB | 60 min |
| /libraries/async/async-await | 200 | HTML | 10 ms | 188 kB | 60 min |
| /language/pattern-types | 200 | HTML | 162 ms | 193 kB | 60 min |
| /interop/c-interop | 200 | HTML | 161 ms | 128 kB | 60 min |
| /libraries | 200 | HTML | 9 ms | 98 kB | 60 min |
| /interop/js-interop/package-web | 200 | HTML | 172 ms | 166 kB | 60 min |
| /language | 200 | HTML | 10 ms | 222 kB | 60 min |
| /web/get-started | 200 | HTML | 161 ms | 115 kB | 60 min |
| /language/extension-methods | 200 | HTML | 117 ms | 144 kB | 60 min |
| / | 200 | HTML | 10 ms | 79 kB | 60 min |
| /libraries/core/environment-declarations | 200 | HTML | 139 ms | 104 kB | 60 min |
| /language/error-handling | 200 | HTML | 11 ms | 128 kB | 60 min |
| /interop/js-interop/js-types | 200 | HTML | 170 ms | 131 kB | 60 min |
| /language/type-system | 200 | HTML | 10 ms | 222 kB | 60 min |
| /changelog | 200 | HTML | 175 ms | 770 kB | 60 min |
| /language/built-in-types | 200 | HTML | 79 ms | 161 kB | 60 min |
| /web/libraries | 200 | HTML | 150 ms | 79 kB | 60 min |
| /resources/glossary | 200 | HTML | 184 ms | 399 kB | 60 min |
| /language/extension-types | 200 | HTML | 190 ms | 202 kB | 60 min |
| /resources/language/number-representation | 200 | HTML | 148 ms | 109 kB | 60 min |
| /libraries/async/creating-streams | 200 | HTML | 162 ms | 181 kB | 60 min |
| /language/class-modifiers-for-apis | 200 | HTML | 135 ms | 128 kB | 60 min |
| /resources/whats-new | 200 | HTML | 157 ms | 190 kB | 60 min |
| /language/concurrency | 200 | HTML | 139 ms | 156 kB | 60 min |
| /language/records | 200 | HTML | 21 ms | 188 kB | 60 min |
| /language/loops | 200 | HTML | 159 ms | 173 kB | 60 min |
| /language/libraries | 200 | HTML | 126 ms | 105 kB | 60 min |
| /effective-dart/documentation | 200 | HTML | 43 ms | 194 kB | 60 min |
| /language/class-modifiers | 200 | HTML | 9 ms | 141 kB | 60 min |
| /effective-dart/design | 200 | HTML | 11 ms | 520 kB | 60 min |
| /learn | 200 | HTML | 15 ms | 79 kB | 60 min |
| /server | 200 | HTML | 143 ms | 81 kB | 60 min |
| /interop/js-interop/past-js-interop | 200 | HTML | 118 ms | 94 kB | 60 min |
| /interop/js-interop/usage | 200 | HTML | 160 ms | 193 kB | 60 min |
| /resources/language/spec | 200 | HTML | 133 ms | 82 kB | 60 min |
| /libraries/dart-async | 200 | HTML | 125 ms | 209 kB | 60 min |
| /language/extend | 200 | HTML | 134 ms | 99 kB | 60 min |
| /libraries/collections/iterables | 200 | HTML | 204 ms | 206 kB | 60 min |
| /resources/books | 200 | HTML | 156 ms | 83 kB | 60 min |
| /language/constructors | 200 | HTML | 12 ms | 207 kB | 60 min |
| /resources/videos | 200 | HTML | 153 ms | 80 kB | 60 min |
| /server/google-cloud | 200 | HTML | 122 ms | 85 kB | 60 min |
| /language/typedefs | 200 | HTML | 123 ms | 91 kB | 60 min |
| /get-dart | 200 | HTML | 10 ms | 129 kB | 60 min |
| /libraries/async/futures-error-handling | 200 | HTML | 151 ms | 205 kB | 60 min |
| /web/debugging | 200 | HTML | 132 ms | 102 kB | 60 min |
| /language/collections | 200 | HTML | 168 ms | 286 kB | 60 min |
| /server/fetch-data | 200 | HTML | 157 ms | 191 kB | 60 min |
| /language/modifier-reference | 200 | HTML | 113 ms | 88 kB | 60 min |
| /libraries/async/using-streams | 200 | HTML | 156 ms | 204 kB | 60 min |
| /language/versioning | 200 | HTML | 122 ms | 91 kB | 60 min |
| /libraries/dart-math | 200 | HTML | 158 ms | 102 kB | 60 min |
| /language/keywords | 200 | HTML | 126 ms | 85 kB | 60 min |
| /libraries/serialization/json | 200 | HTML | 161 ms | 79 kB | 60 min |
| /effective-dart/usage | 200 | HTML | 140 ms | 557 kB | 60 min |
| /language/callable-objects | 200 | HTML | 193 ms | 78 kB | 60 min |
| /language/variables | 200 | HTML | 10 ms | 147 kB | 60 min |
| /language/isolates | 200 | HTML | 155 ms | 374 kB | 60 min |
| /language/operators | 200 | HTML | 10 ms | 208 kB | 60 min |
| /language/comments | 200 | HTML | 9 ms | 93 kB | 60 min |
| /effective-dart | 200 | HTML | 10 ms | 127 kB | 60 min |
| /interop/objective-c-interop | 200 | HTML | 155 ms | 216 kB | 60 min |
| /null-safety/understanding-null-safety | 200 | HTML | 137 ms | 387 kB | 60 min |
| /server/libraries | 200 | HTML | 128 ms | 85 kB | 60 min |
| /web/deployment | 200 | HTML | 140 ms | 87 kB | 60 min |
| /resources/useful-packages | 200 | HTML | 145 ms | 92 kB | 60 min |
| /interop/java-interop | 200 | HTML | 145 ms | 99 kB | 60 min |
| /multiplatform-apps | 200 | HTML | 134 ms | 76 kB | 60 min |
| /language/patterns | 200 | HTML | 131 ms | 190 kB | 60 min |
| /effective-dart/style | 200 | HTML | 161 ms | 192 kB | 60 min |
| /interop/js-interop/tutorials | 200 | HTML | 140 ms | 78 kB | 60 min |
| /language/methods | 200 | HTML | 161 ms | 124 kB | 60 min |
| /libraries/dart-io | 200 | HTML | 111 ms | 150 kB | 60 min |
| /resources/google-apis | 200 | HTML | 155 ms | 81 kB | 60 min |
| /learn/tutorial | 200 | HTML | 184 ms | 53 kB | 60 min |
| /language/metadata | 200 | HTML | 9 ms | 102 kB | 60 min |
| /search | 200 | HTML | 144 ms | 74 kB | 60 min |
| /resources/dart-cheatsheet | 200 | HTML | 155 ms | 377 kB | 60 min |
| /resources/language/evolution | 200 | HTML | 127 ms | 198 kB | 60 min |
| /resources | 200 | HTML | 164 ms | 76 kB | 60 min |
| /interop/js-interop/start | 200 | HTML | 137 ms | 138 kB | 60 min |
| /interop | 200 | HTML | 163 ms | 77 kB | 60 min |
| /interop/js-interop/mock | 200 | HTML | 163 ms | 109 kB | 60 min |
| /brand | 200 | HTML | 144 ms | 87 kB | 60 min |
| /interop/js-interop/package-web/ | 301 | Redirect | 101 ms | 127 B | None |
| /interop/js-interop/ | 301 | Redirect | 104 ms | 103 B | None |
| /libraries/async | 301 | Redirect | 83 ms | 107 B | None |
| /libraries/async/zones | 200 | HTML | 142 ms | 253 kB | 60 min |
| /language/generics/ | 301 | Redirect | 98 ms | 101 B | None |
| /go/next-gen-js-interop | 301 | Redirect | 80 ms | 103 B | None |
| /libraries/dart-html | 200 | HTML | 202 ms | 177 kB | 60 min |
| /interop/c-interop/ | 301 | Redirect | 155 ms | 101 B | None |
| /articles/libraries/zones | 301 | Redirect | 73 ms | 109 B | None |
| /resources/language | 301 | Redirect | 81 ms | 83 B | None |
| /web/libraries/ | 301 | Redirect | 110 ms | 93 B | None |
| /jobs | 301 | Redirect | 79 ms | 123 B | None |
| /language/patterns/ | 301 | Redirect | 105 ms | 101 B | None |
| /effective-dart/usage/ | 301 | Redirect | 112 ms | 107 B | None |
| /language/operators/ | 301 | Redirect | 113 ms | 103 B | None |
| /language/constructors/ | 301 | Redirect | 108 ms | 109 B | None |
| /language/pattern-types/ | 301 | Redirect | 95 ms | 111 B | None |
| /language/records/ | 301 | Redirect | 103 ms | 99 B | None |
| /interop/js-interop/js-types/ | 301 | Redirect | 90 ms | 121 B | None |
| /resources/breaking-changes | 200 | HTML | 161 ms | 231 kB | 60 min |
| /get-dart/archive | 200 | HTML | 123 ms | 93 kB | 60 min |
| /to/spec-draft | 301 | Redirect | 85 ms | 207 B | None |
| /resources/dart-team-packages | 200 | HTML | 185 ms | 78 kB | 60 min |
| /language/loops/ | 301 | Redirect | 99 ms | 95 B | None |
| /learn/tutorial/advanced-oop | 200 | HTML | 171 ms | 169 kB | 60 min |
| /learn/tutorial/data-and-json | 200 | HTML | 165 ms | 199 kB | 60 min |
| /learn/tutorial/first-app | 200 | HTML | 8 ms | 87 kB | 60 min |
| /learn/tutorial/logging | 200 | HTML | 157 ms | 261 kB | 60 min |
| /learn/tutorial/fetch-data | 200 | HTML | 136 ms | 156 kB | 60 min |
| /learn/tutorial/object-oriented | 200 | HTML | 147 ms | 210 kB | 60 min |
| /learn/tutorial/cli-polish | 200 | HTML | 130 ms | 129 kB | 60 min |
| /learn/tutorial/testing | 200 | HTML | 138 ms | 187 kB | 60 min |
| /learn/tutorial/interactivity | 200 | HTML | 11 ms | 147 kB | 60 min |
| /learn/tutorial/error-handling | 200 | HTML | 158 ms | 167 kB | 60 min |
| /learn/tutorial/async | 200 | HTML | 10 ms | 151 kB | 60 min |
| /learn/tutorial/packages-libs | 200 | HTML | 158 ms | 115 kB | 60 min |
| /search-all | 200 | HTML | 151 ms | 75 kB | 60 min |
| https://docs.flutter.dev/jobs | 200 | HTML | 114 ms | 120 kB | 60 min |
| /resources/dart-3-migration/ | 301 | Redirect | 91 ms | 119 B | None |
| No rows found, please edit your search term. | |||||
Best practices
Found 11 row(s).
| Analysis name | OK | Notice | Warning | Critical |
|---|---|---|---|---|
| Duplicate inline SVGs (> 5 and > 1024 B) | 13 | 0 | 0 | 0 |
| Heading structure | 222 | 0 | 21 | 0 |
| Invalid inline SVGs | 13 | 0 | 0 | 0 |
| Large inline SVGs (> 5120 B) | 11 | 0 | 2 | 0 |
| Non-clickable phone numbers | 0 | 0 | 2 | 0 |
| DOM depth (> 30) | 122 | 0 | 0 | 0 |
| Title uniqueness (> 10%) | 120 | 0 | 0 | 0 |
| Description uniqueness (> 10%) | 116 | 0 | 0 | 0 |
| Brotli support | 0 | 0 | 121 | 0 |
| WebP support | 0 | 0 | 1 | 0 |
| AVIF support | 0 | 0 | 1 | 0 |
| No rows found, please edit your search term. | ||||
Large inline SVGs
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
| Severity | Occurs | Detail | Affected URLs (max 5) |
|---|---|---|---|
| critical | 1 | No <h1> tag found in the HTML content. | / |
| warning | 14 | Heading structure is skipping levels: found an <h3> after an <h1>. | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 6 | Heading structure is skipping levels: found an <h4> after an <h2>. | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 1 | Heading structure is skipping levels: found an <h4> after an <h1>. | /language/pattern-types |
| warning | 1 | Heading structure is skipping levels: found an <h2> without a previous higher heading. | / |
Non-clickable phone numbers
| Severity | Occurs | Detail | Affected URLs (max 5) |
|---|---|---|---|
| warning | 1 | 415-555-0100 | /language/operators |
| warning | 1 | +------------ | /null-safety/understanding-null-safety |
Title uniqueness
No problems found.
Description uniqueness
No problems found.
Accessibility
| Analysis name | OK | Notice | Warning | Critical |
|---|---|---|---|---|
| Missing aria labels | 1220 | 0 | 107 | 10 |
| Missing form labels | 0 | 0 | 3 | 0 |
| Missing roles | 0 | 0 | 12 | 0 |
| Missing image alt attributes | 53 | 0 | 0 | 0 |
| Missing html lang attribute | 1 | 0 | 0 | 0 |
Valid HTML
No problems found.
Missing image alt attributes
No problems found.
Missing form labels
Missing aria labels
Found 96 row(s).
| Severity | Occurs | Detail | Affected URLs (max 5) |
|---|---|---|---|
| critical | 1 | <input id="filter-fixed" name="filter-fixed" *** > | /changelog |
| critical | 1 | <input id="filter-removed" name="filter-removed" *** > | /changelog |
| critical | 1 | <input id="filter-experimental" name="filter-experimental" *** > | /changelog |
| critical | 1 | <input id="open-filter-toggle" *** > | /changelog |
| critical | 1 | <input id="filter-deprecated" name="filter-deprecated" *** > | /changelog |
| critical | 1 | <select id="stable-versions"> | /get-dart/archive |
| critical | 1 | <input id="filter-changed" name="filter-changed" *** > | /changelog |
| critical | 1 | <input id="filter-new" name="filter-new" *** > | /changelog |
| critical | 1 | <input id="filter-versioned" name="filter-versioned" *** > | /changelog |
| critical | 1 | <select id="dev-versions"> | /get-dart/archive |
| critical | 1 | <input id="filter-breaking" name="filter-breaking" *** > | /changelog |
| critical | 1 | <select id="stable-os"> | /get-dart/archive |
| critical | 1 | <select id="beta-versions"> | /get-dart/archive |
| critical | 1 | <select id="dev-os"> | /get-dart/archive |
| critical | 1 | <select id="beta-os"> | /get-dart/archive |
| warning | 17121 | <a class="nav-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 6372 | <a ***> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 2881 | <button class="nav-* collapsible collapsed" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 1459 | <button class="text-* icon-* copy-* hidden" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 698 | <a class="text-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 361 | <button class="dropdown-* text-* icon-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 333 | <a class="nav-* active" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 324 | <button class="nav-* collapsible" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 240 | <button class="text-* icon-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 143 | <button class="nav-* active collapsible" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <a class="jaspr-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <a class="brand" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <a class="filled-*" id="skip-to-main" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <button class="filled-*"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 120 | <button class="text-*"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 117 | <a class="filled-*" *** > | /resources/glossary |
| warning | 89 | <a id="return-to-top" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 61 | <a class="next" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 59 | <a class="prev" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 32 | <a class="card filled-*" *** > | URL 1, URL 2, URL 3, URL 4 |
| warning | 12 | <button class="filled-* quiz-* secondary" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 12 | <a class="tooltip-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 12 | <button class="filled-* quiz-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 6 | <a class="lite-*" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 2 | <a class="outlined-*" *** > | /learn |
| warning | 1 | <a id="the-main-function" *** > | /language/functions |
| warning | 1 | <a id="default-parameters"> | /language/functions |
| warning | 1 | <button class="text-* icon-* close-*"> | /changelog |
| warning | 1 | <a id="do-name-libraries-and-source-files-using-lowercase_with_underscores"> | /effective-dart/style |
| warning | 1 | <a id="1-provide-an-extended-interface-to-an-existing-type" *** > | /language/extension-types |
| warning | 1 | <a id="do-use-curly-braces-for-all-flow-control-structures"> | /effective-dart/style |
| warning | 1 | <a id="native-assets" *** > | /interop/c-interop |
| warning | 1 | <a id="switch"> | /language/branches |
| warning | 1 | <button class="text-* icon-* info-*" *** > | /changelog |
| warning | 1 | <a id="prefer-starting-function-or-method-comments-with-third-person-verbs" *** > | /effective-dart/documentation |
| warning | 1 | <a id="exporting-dart-functions-and-objects-to-js" *** > | /interop/js-interop/usage |
| warning | 1 | <a id="control-flow-operators" *** > | /language/collections |
| warning | 1 | <a class="filled-* large-*" *** > | /web |
| warning | 1 | <a id="prefer-using-_-__-etc-for-unused-callback-parameters" *** > | /effective-dart/style |
| warning | 1 | <a id="where-to-learn-more" *** > | /null-safety |
| warning | 1 | <a id="spread-operators" *** > | /language/collections |
| warning | 1 | <a id="creating-variables" *** > | /null-safety |
| warning | 1 | <a id="optional-named-parameters"> | /resources/dart-cheatsheet |
| warning | 1 | <a id="per-library-language-version-selection" *** > | /resources/language/evolution |
| warning | 1 | <a id="do-use-mixin-to-define-a-mixin-type" *** > | /effective-dart/design |
| warning | 1 | <a id="do-document-if-your-class-supports-being-used-as-an-interface" *** > | /effective-dart/design |
| warning | 1 | <a id="web"> | /language/concurrency |
| warning | 1 | <a id="digit-separators"> | /language/built-in-types |
| warning | 1 | <a id="do-document-if-your-class-supports-being-extended" *** > | /effective-dart/design |
| warning | 1 | <a id="avoid-lines-longer-than-80-characters"> | /effective-dart/style |
| warning | 1 | <a name="use-proper-param-types"> | /language/type-system |
| warning | 1 | <a id="introduction-through-examples" *** > | /null-safety |
| warning | 1 | <a class="debian-*" *** > | /get-dart |
| warning | 1 | <a id="the-sealed-modifer"> | /language/class-modifiers-for-apis |
| warning | 1 | <a id="pattern-uses"> | /language/patterns |
| warning | 1 | <a name="operators"> | /language/operators |
| warning | 1 | <a class="nav-*" id="2-tab" *** > | /get-dart |
| warning | 1 | <a id="string-interpolation"> | /language/built-in-types |
| warning | 1 | <a id="enable-null-safety" *** > | /null-safety |
| warning | 1 | <a id="2-provide-a-different-interface-to-an-existing-type" *** > | /language/extension-types |
| warning | 1 | <a class="nav-*" id="1-tab" *** > | /get-dart |
| warning | 1 | <a id="trailing-comma"> | /language/collections |
| warning | 1 | <a id="transparency" *** > | /language/extension-types |
| warning | 1 | <button class="text-*" *** > | /changelog |
| warning | 1 | <a id="null-assertion-operator" *** > | /null-safety/understanding-null-safety |
| warning | 1 | <a class="frontanchor" id="try-dart" *** > | / |
| warning | 1 | <a id="dart-3-and-null-safety" *** > | /null-safety |
| warning | 1 | <button class="text-* icon-* show-*"> | /changelog |
| warning | 1 | <a id="covariant-keyword" *** > | /language/type-system |
| warning | 1 | <a id="non-null-assertion-operator" *** > | /null-safety/understanding-null-safety |
| warning | 1 | <a class="nav-* active" id="0-tab" *** > | /get-dart |
| warning | 1 | <a id="next-generation-js-interop" *** > | /interop/js-interop |
| warning | 1 | <a id="prefer-using--to-convert-null-to-a-boolean-value"> | /effective-dart/usage |
| warning | 1 | <a id="or-pattern-switch"> | /language/patterns |
| warning | 1 | <a id="language-version-numbers" *** > | /resources/language/evolution |
| warning | 1 | <a id="avoid-mixing-in-a-class-that-isnt-intended-to-be-a-mixin" *** > | /effective-dart/design |
| warning | 1 | <a name="use-proper-return-types"> | /language/type-system |
| warning | 1 | <a id="deprecated-features" *** > | /interop/js-interop |
| warning | 1 | <a id="switch-share"> | /language/branches |
| warning | 1 | <a id="when"> | /language/branches |
| warning | 1 | <a id="collection-operators" *** > | /language/collections |
| No rows found, please edit your search term. | |||
Missing roles
Found 13 row(s).
| Severity | Occurs | Detail | Affected URLs (max 5) |
|---|---|---|---|
| warning | 171 | <aside class="alert alert-*"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <nav class="navbar"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <header class="always-*" id="site-header"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 121 | <footer id="page-footer" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 120 | <main id="page-content"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 120 | <header class="wrap" id="site-content-title"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 113 | <header> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 106 | <nav class="breadcrumbs" *** > | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 89 | <nav class="site-*" id="toc-side"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 89 | <aside id="side-menu"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 65 | <nav id="site-prev-next"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 34 | <header class="card-*"> | URL 1, URL 2, URL 3, URL 4, URL 5 |
| warning | 1 | <main class="focused" id="page-content"> | / |
| No rows found, please edit your search term. | |||
Missing html lang attribute
No problems found.
Security
| Header | OK | Notice | Warning | Critical | Recommendation |
|---|---|---|---|---|---|
| Content-Security-Policy | 0 | 0 | 0 | 121 | Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks. |
| Feature-Policy | 0 | 0 | 121 | 0 | Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set. |
| Permissions-Policy | 0 | 0 | 121 | 0 | Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security. |
| X-XSS-Protection | 0 | 121 | 0 | 0 | X-XSS-Protection header is set but deprecated. Consider removing it and using Content-Security-Policy instead. |
| Strict-Transport-Security | 121 | 0 | 0 | 0 | |
| X-Frame-Options | 121 | 0 | 0 | 0 | |
| X-Content-Type-Options | 121 | 0 | 0 | 0 | |
| Referrer-Policy | 121 | 0 | 0 | 0 | |
| Server | 121 | 0 | 0 | 0 | Server header is not set or empty. This is recommended. |
Security headers
| Severity | Occurs | Detail | Affected URLs (max 5) |
|---|---|---|---|
| critical | 121 | Content-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 |
| warning | 121 | Permissions-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 |
| warning | 121 | Feature-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 |
| notice | 121 | X-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 |
| notice | 121 | Server 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 |
|---|---|
| 2 | Fetch data from the internet |
TOP non-unique descriptions
| Count 🔽 | Description |
|---|---|
| 6 | Learn about the major features in Dart |
SEO metadata
Found 121 row(s).
| URL 🔼 | Indexing | Title | H1 | Description | Keywords |
|---|---|---|---|---|---|
| / | Allowed | Dart programming language | Missing H1 | Dart is an approachable, portable, and productive language for high-quality apps on any platform. | |
| /brand | Allowed | Dart brand guidelines | Dart brand guidelines | The guidelines governing the usage of the Dart trademarks and assets. | |
| /changelog | Allowed | Dart changelog | Dart changelog | A complete changelog for Dart. | |
| /community | Allowed | Community and support | Community and support | Communities, mailing lists, and bug databases for the Dart project. | |
| /docs | Allowed | Dart documentation | Dart documentation | Learn to use the Dart language and libraries. | |
| /effective-dart | Allowed | Effective Dart | Effective Dart | Best practices for building consistent, maintainable, and efficient Dart libraries. | |
| /effective-dart/design | Allowed | Effective Dart: Design | Effective Dart: Design | Design consistent, usable libraries. | |
| /effective-dart/documentation | Allowed | Effective Dart: Documentation | Effective Dart: Documentation | Clear, helpful comments and documentation. | |
| /effective-dart/style | Allowed | Effective Dart: Style | Effective Dart: Style | Formatting and naming rules for consistent, readable code. | |
| /effective-dart/usage | Allowed | Effective Dart: Usage | Effective Dart: Usage | Guidelines for using language features to write maintainable code. | |
| /get-dart | Allowed | Get the Dart SDK | Get the Dart SDK | Get the libraries and command-line tools that you need to develop Dart web, command-line, and server apps. | |
| /get-dart/archive | Allowed | Dart SDK archive | Dart SDK archive | Download specific stable, beta, dev, and main channel versions of the Dart SDK and the Dart API documentation. | |
| /interop | DENY (meta) | Native interop with Dart | Native interop with Dart | Learn to interact with native code and other programming languages from Dart. | |
| /interop/c-interop | Allowed | C interop using dart:ffi | C interop using dart:ffi | To use C code in your Dart program, use the dart:ffi library. | |
| /interop/java-interop | Allowed | Java interop using package:jnigen | Java interop using package:jnigen | To use Java in your Dart program, use package:jnigen. | |
| /interop/js-interop | Allowed | JavaScript interoperability | JavaScript interoperability | Integrate JavaScript code into your Dart web app. | |
| /interop/js-interop/js-types | Allowed | JS types | JS types | Usage information about the core types in JS interop. | |
| /interop/js-interop/mock | Allowed | How to mock JavaScript interop objects | How to mock JavaScript interop objects | Learn how to mock JS interop objects in Dart for testing. | |
| /interop/js-interop/package-web | Allowed | Migrate to package:web | Migrate to package:web | How to migrate web interop code from dart:html to package:web. | |
| /interop/js-interop/past-js-interop | Allowed | Past JS interop | Past JS interop | Archive of Dart's previous JS interop support. | |
| /interop/js-interop/start | Allowed | Getting started with JavaScript interop | Getting started with JavaScript interop | A basic example of using browser APIs and a bundled JS library. | |
| /interop/js-interop/tutorials | Allowed | JS interop tutorials | JS interop tutorials | Tutorials for common JavaScript interop use cases in Dart. | |
| /interop/js-interop/usage | Allowed | JS interop usage | JS interop usage | How to declare and use JS interop members. | |
| /interop/objective-c-interop | Allowed | Objective-C and Swift interop using package:ffigen | Objective-C and Swift interop using package:ffigen | To use Objective-C and Swift code in your Dart program, use package:ffigen. | |
| /language | Allowed | Introduction to Dart | Introduction to Dart | A brief introduction to Dart programs and important concepts. | |
| /language/async | Allowed | Asynchronous programming | Asynchronous programming | Information on writing asynchronous code in Dart. | |
| /language/branches | Allowed | Branches | Branches | Learn how to use branches to control the flow of your Dart code. | |
| /language/built-in-types | Allowed | Built-in types | Built-in types | Information on the types Dart supports. | |
| /language/callable-objects | Allowed | Callable objects | Callable objects | Learn how to create and use callable objects in Dart. | |
| /language/class-modifiers | Allowed | Class modifiers | Class modifiers | Modifier keywords for class declarations to control external library access. | |
| /language/class-modifiers-for-apis | Allowed | Class modifiers for API maintainers | Class modifiers for API maintainers | How to use the class modifiers added in Dart 3.0 to make your package's API more robust and maintainable. | |
| /language/classes | Allowed | Classes | Classes | Summary of classes, class instances, and their members. | |
| /language/collections | Allowed | Collections | Collections | Summary of the different types of collections in Dart. | |
| /language/comments | Allowed | Comments | Comments | The different comment types in Dart. | |
| /language/concurrency | Allowed | Concurrency in Dart | Concurrency in Dart | Use isolates to enable parallel code execution on multiple processor cores. | |
| /language/constructors | Allowed | Constructors | Constructors | Everything about using constructors in Dart. | |
| /language/dot-shorthands | Allowed | Dot shorthands | Dot shorthands | Learn about the dot shorthand syntax in Dart. | |
| /language/enums | Allowed | Enumerated types | Enumerated types | Learn about the enum type in Dart. | |
| /language/error-handling | Allowed | Error handling | Error handling | Learn about handling errors and exceptions in Dart. | |
| /language/extend | Allowed | Extend a class | Extend a class | Learn how to create subclasses from a superclass. | |
| /language/extension-methods | Allowed | Extension methods | Extension methods | Learn how to add to existing APIs. | |
| /language/extension-types | Allowed | Extension types | Extension types | Learn how to write a static-only interface for an existing type. | |
| /language/functions | Allowed | Functions | Functions | Everything about functions in Dart. | |
| /language/generics | Allowed | Generics | Generics | Learn about generic types in Dart. | |
| /language/isolates | Allowed | Isolates | Isolates | Information on writing isolates in Dart. | |
| /language/keywords | Allowed | Keywords | Keywords | Keywords in Dart. | |
| /language/libraries | Allowed | Libraries & imports | Libraries & imports | Guidance on importing and implementing libraries. | |
| /language/loops | Allowed | Loops | Loops | Learn how to use loops to control the flow of your Dart code. | |
| /language/metadata | Allowed | Metadata | Metadata | Metadata and annotations in Dart. | |
| /language/methods | Allowed | Methods | Methods | Learn about methods in Dart. | |
| /language/mixins | Allowed | Mixins | Mixins | Learn how to add to features to a class in Dart. | |
| /language/modifier-reference | Allowed | Class modifiers reference | Class modifiers reference | The allowed and disallowed combinations of class modifiers. | |
| /language/operators | Allowed | Operators | Operators | Learn about the operators Dart supports. | |
| /language/pattern-types | Allowed | Pattern types | Pattern types | Pattern type reference in Dart. | |
| /language/patterns | Allowed | Patterns | Patterns | Summary of patterns in Dart. | |
| /language/records | Allowed | Records | Records | Summary of the record data structure in Dart. | |
| /language/type-system | Allowed | The Dart type system | The Dart type system | Why and how to write sound Dart code. | |
| /language/typedefs | Allowed | Typedefs | Typedefs | Learn about type aliases in Dart. | |
| /language/variables | Allowed | Variables | Variables | Learn about variables in Dart. | |
| /language/versioning | Allowed | Language versioning | Language versioning | Learn how language versioning in Dart enables evolution of the language and how to configure the language versions of your project and its libraries. | |
| /learn | Allowed | Learn Dart | Learn Dart | Find everything you need to start learning the Dart programming language. | |
| /learn/tutorial | Allowed | Dart tutorial | Dart tutorial | Begin your Dart learning journey by building an interactive CLI app. | |
| /learn/tutorial/advanced-oop | Allowed | Extend your app with enums and extensions | Extend your app with enums and extensions | Enhance 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/async | Allowed | Write asynchronous code | Write asynchronous code | Learn about asynchronous programming in Dart and how to make HTTP requests. | |
| /learn/tutorial/cli-polish | Allowed | Polish your CLI app | Polish your CLI app | Improve the HelpCommand to provide more detailed information and add an onOutput argument for flexible output handling. | |
| /learn/tutorial/data-and-json | Allowed | Work with JSON data | Work with JSON data | Learn 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-handling | Allowed | Handle errors gracefully | Handle errors gracefully | Improve app robustness by handling errors. Learn about exceptions, errors, `try/catch`, `throw`, and `rethrow`. | |
| /learn/tutorial/fetch-data | Allowed | Fetch data from the internet | Fetch data from the internet | Refactor your application to use a robust, production-ready API client for the Wikipedia CLI. | |
| /learn/tutorial/first-app | Allowed | Build your first app | Build your first app | Create, run, and make your first change to a Dart command-line program. | |
| /learn/tutorial/interactivity | Allowed | Add interactivity to your app | Add interactivity to your app | Add simple commands to your cli application. Learn the fundamentals of Dart syntax including control flow, collections, variables, functions, and more. | |
| /learn/tutorial/logging | Allowed | Add logging for debugging and monitoring | Add logging for debugging and monitoring | Learn how to add logging to your Dart application to help with debugging and monitoring. | |
| /learn/tutorial/object-oriented | Allowed | Define relationships with classes | Define relationships with classes | Learn about object-oriented programming in Dart, including abstract classes, inheritance, overrides, and enums. Build a framework for well-architected CLI apps. | |
| /learn/tutorial/packages-libs | Allowed | Organize Dart code with packages and libraries | Organize Dart code with packages and libraries | Learn how to organize your Dart code into reusable libraries and packages. | |
| /learn/tutorial/testing | Allowed | Test your app & code | Test your app & code | Learn how to write tests for your Dart code using the `package:test` library. | |
| /libraries | Allowed | Dart's core libraries | Dart's core libraries | Learn about Dart's core libraries and APIs. | |
| /libraries/async/async-await | Allowed | Asynchronous programming: futures, async, await | Asynchronous programming: futures, async, await | Learn about and practice writing asynchronous code in DartPad! | |
| /libraries/async/creating-streams | Allowed | Creating streams in Dart | Creating streams in Dart | A stream is a sequence of results; learn how to create your own. | |
| /libraries/async/futures-error-handling | Allowed | Futures and error handling | Futures and error handling | Everything you wanted to know about handling errors and exceptions when writing asynchronous code. And then some. | |
| /libraries/async/using-streams | Allowed | Asynchronous programming: Streams | Asynchronous programming: Streams | Learn how to consume single-subscriber and broadcast streams. | |
| /libraries/async/zones | Allowed | Zones | Zones | Manage your asynchronous code: handle uncaught errors, override behavior (such as printing and scheduling tasks), and more. | |
| /libraries/collections/iterables | Allowed | Iterable collections | Iterable collections | An interactive guide to using Iterable objects such as lists and sets. | |
| /libraries/core/environment-declarations | Allowed | Configuring apps with compilation environment declarations | Configuring apps with compilation environment declarations | Learn about using compilation environment declarations to customize application behavior. | |
| /libraries/dart-async | Allowed | dart:async | dart:async | Learn about the major features in Dart's dart:async library. | |
| /libraries/dart-convert | Allowed | dart:convert | dart:convert | Learn about the major features in Dart's dart:convert library. | |
| /libraries/dart-core | Allowed | dart:core | dart:core | Learn about the major features in Dart's dart:core library. | |
| /libraries/dart-html | Allowed | dart:html | dart:html | Learn about the major features in Dart's dart:html library. | |
| /libraries/dart-io | Allowed | dart:io | dart:io | Learn about the major features in Dart's dart:io library. | |
| /libraries/dart-math | Allowed | dart:math | dart:math | Learn about the major features in Dart's dart:math library. | |
| /libraries/serialization/json | Allowed | Using JSON | Using JSON | Dart solutions for reading and writing JSON. | |
| /multiplatform-apps | Allowed | Multi-platform apps | Multi-platform apps | Use the Flutter framework to build beautiful native apps for many platforms and operating systems from a single codebase. | |
| /null-safety | Allowed | Sound null safety | Sound null safety | An introduction to null safety in Dart. | |
| /null-safety/understanding-null-safety | Allowed | Understanding null safety | Understanding null safety | A deep dive into Dart language and library changes related to null safety. | |
| /overview | Allowed | Dart overview | Dart overview | A short introduction to Dart. | |
| /resources | Allowed | Resources | Resources | Landing page for Dart language resources. | |
| /resources/books | Allowed | Books about Dart | Books about Dart | Read all about it! Here's a collection of books about Dart. | |
| /resources/breaking-changes | Allowed | Breaking changes and deprecations | Breaking changes and deprecations | A list of breaking changes by release in Dart. | |
| /resources/dart-3-migration | Allowed | Dart 3 migration guide | Dart 3 migration guide | How to migrate existing Dart code to be compatible with Dart 3. | |
| /resources/dart-cheatsheet | Allowed | Dart cheatsheet | Dart cheatsheet | Interactively learn (or relearn) some of Dart's unique features. | |
| /resources/dart-team-packages | Allowed | Dart team packages | Dart team packages | The Dart team publishes packages under the verified publishers: dart.dev, tools.dart.dev, and labs.dart.dev. | |
| /resources/glossary | Allowed | Glossary | Glossary | A glossary reference for terminology used across dart.dev. | |
| /resources/google-apis | Allowed | Using Google APIs | Using Google APIs | Your Dart apps can use Firebase and Google client APIs. | |
| /resources/language/evolution | Allowed | Dart language evolution | Dart language evolution | Notable changes and additions to the Dart programming language. | |
| /resources/language/number-representation | Allowed | Numbers in Dart | Numbers in Dart | Learn how Dart numbers are slightly different on the web, when that might matter, and how you might adjust your code. | |
| /resources/language/spec | Allowed | Dart language specification | Dart language specification | The formal specification for the Dart language. | |
| /resources/useful-packages | Allowed | Commonly used packages | Commonly used packages | Some of the most useful and popular packages, and where you can learn more. | |
| /resources/videos | Allowed | Dart videos | Dart videos | Learn by watching! Here's a collection of videos about Dart. | |
| /resources/whats-new | Allowed | What's new | What's new | A list of what's new on dart.dev and related sites. | |
| /search | Allowed | Search dart.dev | Search dart.dev | Search for documentation on dart.dev. | |
| /search-all | Allowed | Search more sites | Search more sites | Search dart.dev, api.dart.dev, the old www.dartlang.org site, flutter.dev, and more. | |
| /security | Allowed | Security | Security | An overview of the Dart team's philosophy and processes for security. | |
| /server | Allowed | Command-line and server apps | Command-line and server apps | All things relating to command-line and server apps. | |
| /server/fetch-data | Allowed | Fetch data from the internet | Fetch data from the internet | Fetch data over the internet using the http package. | |
| /server/google-cloud | Allowed | Using Google Cloud | Using Google Cloud | Your Dart app can use many Google Cloud services: Firebase, Google Cloud Platform, and more. | |
| /server/libraries | Allowed | Command-line and server libraries and packages | Command-line and server libraries and packages | Libraries and packages that can help you write Dart command-line & server apps. | |
| /terms | Allowed | Terms of use | Terms of use | The terms of use for dart.dev. | |
| /web | Allowed | Web platform | Web platform | Resources for developing Dart web apps. | |
| /web/debugging | Allowed | Debugging Dart web apps | Debugging Dart web apps | Learn how to debug your Dart web app. | |
| /web/deployment | Allowed | Web deployment | Web deployment | Learn how to build your Dart web app for production deployment. | |
| /web/get-started | Allowed | Build a web app with Dart | Build a web app with Dart | Get started writing web apps in Dart. | |
| /web/libraries | Allowed | Web libraries and packages | Web libraries and packages | Libraries and packages that can help you write Dart web apps. | |
| /web/wasm | Allowed | WebAssembly (Wasm) compilation | WebAssembly (Wasm) compilation | Learn 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 Title | OG Description | OG Image | Twitter Title | Twitter Description | Twitter Image |
|---|---|---|---|---|---|---|
| / | Dart programming language | Dart is an approachable, portable, and productive language for high-quality apps on any platform. | /assets/img/logo/dart-logo-for-shares.png | Dart programming language | Dart is an approachable, portable, and productive language for high-quality apps on any platform. | |
| /brand | Dart brand guidelines | The guidelines governing the usage of the Dart trademarks and assets. | /assets/img/logo/dart-logo-for-shares.png | Dart brand guidelines | The guidelines governing the usage of the Dart trademarks and assets. | |
| /changelog | Dart changelog | A complete changelog for Dart. | /assets/img/logo/dart-logo-for-shares.png | Dart changelog | A complete changelog for Dart. | |
| /community | Community and support | Communities, mailing lists, and bug databases for the Dart project. | /assets/img/logo/dart-logo-for-shares.png | Community and support | Communities, mailing lists, and bug databases for the Dart project. | |
| /docs | Dart documentation | Learn to use the Dart language and libraries. | /assets/img/logo/dart-logo-for-shares.png | Dart documentation | Learn to use the Dart language and libraries. | |
| /effective-dart | Effective Dart | Best practices for building consistent, maintainable, and efficient Dart libraries. | /assets/img/logo/dart-logo-for-shares.png | Effective Dart | Best practices for building consistent, maintainable, and efficient Dart libraries. | |
| /effective-dart/design | Effective Dart: Design | Design consistent, usable libraries. | /assets/img/logo/dart-logo-for-shares.png | Effective Dart: Design | Design consistent, usable libraries. | |
| /effective-dart/documentation | Effective Dart: Documentation | Clear, helpful comments and documentation. | /assets/img/logo/dart-logo-for-shares.png | Effective Dart: Documentation | Clear, helpful comments and documentation. | |
| /effective-dart/style | Effective Dart: Style | Formatting and naming rules for consistent, readable code. | /assets/img/logo/dart-logo-for-shares.png | Effective Dart: Style | Formatting and naming rules for consistent, readable code. | |
| /effective-dart/usage | Effective Dart: Usage | Guidelines for using language features to write maintainable code. | /assets/img/logo/dart-logo-for-shares.png | Effective Dart: Usage | Guidelines for using language features to write maintainable code. | |
| /get-dart | Get the Dart SDK | Get 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.png | Get the Dart SDK | Get the libraries and command-line tools that you need to develop Dart web, command-line, and server apps. | |
| /get-dart/archive | Dart SDK archive | Download specific stable, beta, dev, and main channel versions of the Dart SDK and the Dart API documentation. | /assets/img/logo/dart-logo-for-shares.png | Dart SDK archive | Download specific stable, beta, dev, and main channel versions of the Dart SDK and the Dart API documentation. | |
| /interop | Native interop with Dart | Learn to interact with native code and other programming languages from Dart. | /assets/img/logo/dart-logo-for-shares.png | Native interop with Dart | Learn to interact with native code and other programming languages from Dart. | |
| /interop/c-interop | C interop using dart:ffi | To use C code in your Dart program, use the dart:ffi library. | /assets/img/logo/dart-logo-for-shares.png | C interop using dart:ffi | To use C code in your Dart program, use the dart:ffi library. | |
| /interop/java-interop | Java interop using package:jnigen | To use Java in your Dart program, use package:jnigen. | /assets/img/logo/dart-logo-for-shares.png | Java interop using package:jnigen | To use Java in your Dart program, use package:jnigen. | |
| /interop/js-interop | JavaScript interoperability | Integrate JavaScript code into your Dart web app. | /assets/img/logo/dart-logo-for-shares.png | JavaScript interoperability | Integrate JavaScript code into your Dart web app. | |
| /interop/js-interop/js-types | JS types | Usage information about the core types in JS interop. | /assets/img/logo/dart-logo-for-shares.png | JS types | Usage information about the core types in JS interop. | |
| /interop/js-interop/mock | How to mock JavaScript interop objects | Learn how to mock JS interop objects in Dart for testing. | /assets/img/logo/dart-logo-for-shares.png | How to mock JavaScript interop objects | Learn how to mock JS interop objects in Dart for testing. | |
| /interop/js-interop/package-web | Migrate to package:web | How to migrate web interop code from dart:html to package:web. | /assets/img/logo/dart-logo-for-shares.png | Migrate to package:web | How to migrate web interop code from dart:html to package:web. | |
| /interop/js-interop/past-js-interop | Past JS interop | Archive of Dart's previous JS interop support. | /assets/img/logo/dart-logo-for-shares.png | Past JS interop | Archive of Dart's previous JS interop support. | |
| /interop/js-interop/start | Getting started with JavaScript interop | A basic example of using browser APIs and a bundled JS library. | /assets/img/logo/dart-logo-for-shares.png | Getting started with JavaScript interop | A basic example of using browser APIs and a bundled JS library. | |
| /interop/js-interop/tutorials | JS interop tutorials | Tutorials for common JavaScript interop use cases in Dart. | /assets/img/logo/dart-logo-for-shares.png | JS interop tutorials | Tutorials for common JavaScript interop use cases in Dart. | |
| /interop/js-interop/usage | JS interop usage | How to declare and use JS interop members. | /assets/img/logo/dart-logo-for-shares.png | JS interop usage | How to declare and use JS interop members. | |
| /interop/objective-c-interop | Objective-C and Swift interop using package:ffigen | To use Objective-C and Swift code in your Dart program, use package:ffigen. | /assets/img/logo/dart-logo-for-shares.png | Objective-C and Swift interop using package:ffigen | To use Objective-C and Swift code in your Dart program, use package:ffigen. | |
| /language | Introduction to Dart | A brief introduction to Dart programs and important concepts. | /assets/img/logo/dart-logo-for-shares.png | Introduction to Dart | A brief introduction to Dart programs and important concepts. | |
| /language/async | Asynchronous programming | Information on writing asynchronous code in Dart. | /assets/img/logo/dart-logo-for-shares.png | Asynchronous programming | Information on writing asynchronous code in Dart. | |
| /language/branches | Branches | Learn how to use branches to control the flow of your Dart code. | /assets/img/logo/dart-logo-for-shares.png | Branches | Learn how to use branches to control the flow of your Dart code. | |
| /language/built-in-types | Built-in types | Information on the types Dart supports. | /assets/img/logo/dart-logo-for-shares.png | Built-in types | Information on the types Dart supports. | |
| /language/callable-objects | Callable objects | Learn how to create and use callable objects in Dart. | /assets/img/logo/dart-logo-for-shares.png | Callable objects | Learn how to create and use callable objects in Dart. | |
| /language/class-modifiers | Class modifiers | Modifier keywords for class declarations to control external library access. | /assets/img/logo/dart-logo-for-shares.png | Class modifiers | Modifier keywords for class declarations to control external library access. | |
| /language/class-modifiers-for-apis | Class modifiers for API maintainers | How 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.png | Class modifiers for API maintainers | How to use the class modifiers added in Dart 3.0 to make your package's API more robust and maintainable. | |
| /language/classes | Classes | Summary of classes, class instances, and their members. | /assets/img/logo/dart-logo-for-shares.png | Classes | Summary of classes, class instances, and their members. | |
| /language/collections | Collections | Summary of the different types of collections in Dart. | /assets/img/logo/dart-logo-for-shares.png | Collections | Summary of the different types of collections in Dart. | |
| /language/comments | Comments | The different comment types in Dart. | /assets/img/logo/dart-logo-for-shares.png | Comments | The different comment types in Dart. | |
| /language/concurrency | Concurrency in Dart | Use isolates to enable parallel code execution on multiple processor cores. | /assets/img/logo/dart-logo-for-shares.png | Concurrency in Dart | Use isolates to enable parallel code execution on multiple processor cores. | |
| /language/constructors | Constructors | Everything about using constructors in Dart. | /assets/img/logo/dart-logo-for-shares.png | Constructors | Everything about using constructors in Dart. | |
| /language/dot-shorthands | Dot shorthands | Learn about the dot shorthand syntax in Dart. | /assets/img/logo/dart-logo-for-shares.png | Dot shorthands | Learn about the dot shorthand syntax in Dart. | |
| /language/enums | Enumerated types | Learn about the enum type in Dart. | /assets/img/logo/dart-logo-for-shares.png | Enumerated types | Learn about the enum type in Dart. | |
| /language/error-handling | Error handling | Learn about handling errors and exceptions in Dart. | /assets/img/logo/dart-logo-for-shares.png | Error handling | Learn about handling errors and exceptions in Dart. | |
| /language/extend | Extend a class | Learn how to create subclasses from a superclass. | /assets/img/logo/dart-logo-for-shares.png | Extend a class | Learn how to create subclasses from a superclass. | |
| /language/extension-methods | Extension methods | Learn how to add to existing APIs. | /assets/img/logo/dart-logo-for-shares.png | Extension methods | Learn how to add to existing APIs. | |
| /language/extension-types | Extension types | Learn how to write a static-only interface for an existing type. | /assets/img/logo/dart-logo-for-shares.png | Extension types | Learn how to write a static-only interface for an existing type. | |
| /language/functions | Functions | Everything about functions in Dart. | /assets/img/logo/dart-logo-for-shares.png | Functions | Everything about functions in Dart. | |
| /language/generics | Generics | Learn about generic types in Dart. | /assets/img/logo/dart-logo-for-shares.png | Generics | Learn about generic types in Dart. | |
| /language/isolates | Isolates | Information on writing isolates in Dart. | /assets/img/logo/dart-logo-for-shares.png | Isolates | Information on writing isolates in Dart. | |
| /language/keywords | Keywords | Keywords in Dart. | /assets/img/logo/dart-logo-for-shares.png | Keywords | Keywords in Dart. | |
| /language/libraries | Libraries & imports | Guidance on importing and implementing libraries. | /assets/img/logo/dart-logo-for-shares.png | Libraries & imports | Guidance on importing and implementing libraries. | |
| /language/loops | Loops | Learn how to use loops to control the flow of your Dart code. | /assets/img/logo/dart-logo-for-shares.png | Loops | Learn how to use loops to control the flow of your Dart code. | |
| /language/metadata | Metadata | Metadata and annotations in Dart. | /assets/img/logo/dart-logo-for-shares.png | Metadata | Metadata and annotations in Dart. | |
| /language/methods | Methods | Learn about methods in Dart. | /assets/img/logo/dart-logo-for-shares.png | Methods | Learn about methods in Dart. | |
| /language/mixins | Mixins | Learn how to add to features to a class in Dart. | /assets/img/logo/dart-logo-for-shares.png | Mixins | Learn how to add to features to a class in Dart. | |
| /language/modifier-reference | Class modifiers reference | The allowed and disallowed combinations of class modifiers. | /assets/img/logo/dart-logo-for-shares.png | Class modifiers reference | The allowed and disallowed combinations of class modifiers. | |
| /language/operators | Operators | Learn about the operators Dart supports. | /assets/img/logo/dart-logo-for-shares.png | Operators | Learn about the operators Dart supports. | |
| /language/pattern-types | Pattern types | Pattern type reference in Dart. | /assets/img/logo/dart-logo-for-shares.png | Pattern types | Pattern type reference in Dart. | |
| /language/patterns | Patterns | Summary of patterns in Dart. | /assets/img/logo/dart-logo-for-shares.png | Patterns | Summary of patterns in Dart. | |
| /language/records | Records | Summary of the record data structure in Dart. | /assets/img/logo/dart-logo-for-shares.png | Records | Summary of the record data structure in Dart. | |
| /language/type-system | The Dart type system | Why and how to write sound Dart code. | /assets/img/logo/dart-logo-for-shares.png | The Dart type system | Why and how to write sound Dart code. | |
| /language/typedefs | Typedefs | Learn about type aliases in Dart. | /assets/img/logo/dart-logo-for-shares.png | Typedefs | Learn about type aliases in Dart. | |
| /language/variables | Variables | Learn about variables in Dart. | /assets/img/logo/dart-logo-for-shares.png | Variables | Learn about variables in Dart. | |
| /language/versioning | Language versioning | Learn 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.png | Language versioning | Learn how language versioning in Dart enables evolution of the language and how to configure the language versions of your project and its libraries. | |
| /learn | Learn Dart | Find everything you need to start learning the Dart programming language. | /assets/img/logo/dart-logo-for-shares.png | Learn Dart | Find everything you need to start learning the Dart programming language. | |
| /learn/tutorial | Dart tutorial | Begin your Dart learning journey by building an interactive CLI app. | /assets/img/logo/dart-logo-for-shares.png | Dart tutorial | Begin your Dart learning journey by building an interactive CLI app. | |
| /learn/tutorial/advanced-oop | Extend your app with enums and extensions | Enhance 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.png | Extend your app with enums and extensions | Enhance 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/async | Write asynchronous code | Learn about asynchronous programming in Dart and how to make HTTP requests. | /assets/img/logo/dart-logo-for-shares.png | Write asynchronous code | Learn about asynchronous programming in Dart and how to make HTTP requests. | |
| /learn/tutorial/cli-polish | Polish your CLI app | Improve the HelpCommand to provide more detailed information and add an onOutput argument for flexible output handling. | /assets/img/logo/dart-logo-for-shares.png | Polish your CLI app | Improve the HelpCommand to provide more detailed information and add an onOutput argument for flexible output handling. | |
| /learn/tutorial/data-and-json | Work with JSON data | Learn 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.png | Work with JSON data | Learn 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-handling | Handle errors gracefully | Improve app robustness by handling errors. Learn about exceptions, errors, `try/catch`, `throw`, and `rethrow`. | /assets/img/logo/dart-logo-for-shares.png | Handle errors gracefully | Improve app robustness by handling errors. Learn about exceptions, errors, `try/catch`, `throw`, and `rethrow`. | |
| /learn/tutorial/fetch-data | Fetch data from the internet | Refactor your application to use a robust, production-ready API client for the Wikipedia CLI. | /assets/img/logo/dart-logo-for-shares.png | Fetch data from the internet | Refactor your application to use a robust, production-ready API client for the Wikipedia CLI. | |
| /learn/tutorial/first-app | Build your first app | Create, run, and make your first change to a Dart command-line program. | /assets/img/logo/dart-logo-for-shares.png | Build your first app | Create, run, and make your first change to a Dart command-line program. | |
| /learn/tutorial/interactivity | Add interactivity to your app | Add 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.png | Add interactivity to your app | Add simple commands to your cli application. Learn the fundamentals of Dart syntax including control flow, collections, variables, functions, and more. | |
| /learn/tutorial/logging | Add logging for debugging and monitoring | Learn how to add logging to your Dart application to help with debugging and monitoring. | /assets/img/logo/dart-logo-for-shares.png | Add logging for debugging and monitoring | Learn how to add logging to your Dart application to help with debugging and monitoring. | |
| /learn/tutorial/object-oriented | Define relationships with classes | Learn 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.png | Define relationships with classes | Learn about object-oriented programming in Dart, including abstract classes, inheritance, overrides, and enums. Build a framework for well-architected CLI apps. | |
| /learn/tutorial/packages-libs | Organize Dart code with packages and libraries | Learn how to organize your Dart code into reusable libraries and packages. | /assets/img/logo/dart-logo-for-shares.png | Organize Dart code with packages and libraries | Learn how to organize your Dart code into reusable libraries and packages. | |
| /learn/tutorial/testing | Test your app & code | Learn how to write tests for your Dart code using the `package:test` library. | /assets/img/logo/dart-logo-for-shares.png | Test your app & code | Learn how to write tests for your Dart code using the `package:test` library. | |
| /libraries | Dart's core libraries | Learn about Dart's core libraries and APIs. | /assets/img/logo/dart-logo-for-shares.png | Dart's core libraries | Learn about Dart's core libraries and APIs. | |
| /libraries/async/async-await | Asynchronous programming: futures, async, await | Learn about and practice writing asynchronous code in DartPad! | /assets/img/logo/dart-logo-for-shares.png | Asynchronous programming: futures, async, await | Learn about and practice writing asynchronous code in DartPad! | |
| /libraries/async/creating-streams | Creating streams in Dart | A stream is a sequence of results; learn how to create your own. | /assets/img/logo/dart-logo-for-shares.png | Creating streams in Dart | A stream is a sequence of results; learn how to create your own. | |
| /libraries/async/futures-error-handling | Futures and error handling | Everything you wanted to know about handling errors and exceptions when writing asynchronous code. And then some. | /assets/img/logo/dart-logo-for-shares.png | Futures and error handling | Everything you wanted to know about handling errors and exceptions when writing asynchronous code. And then some. | |
| /libraries/async/using-streams | Asynchronous programming: Streams | Learn how to consume single-subscriber and broadcast streams. | /assets/img/logo/dart-logo-for-shares.png | Asynchronous programming: Streams | Learn how to consume single-subscriber and broadcast streams. | |
| /libraries/async/zones | Zones | Manage your asynchronous code: handle uncaught errors, override behavior (such as printing and scheduling tasks), and more. | /assets/img/logo/dart-logo-for-shares.png | Zones | Manage your asynchronous code: handle uncaught errors, override behavior (such as printing and scheduling tasks), and more. | |
| /libraries/collections/iterables | Iterable collections | An interactive guide to using Iterable objects such as lists and sets. | /assets/img/logo/dart-logo-for-shares.png | Iterable collections | An interactive guide to using Iterable objects such as lists and sets. | |
| /libraries/core/environment-declarations | Configuring apps with compilation environment declarations | Learn about using compilation environment declarations to customize application behavior. | /assets/img/logo/dart-logo-for-shares.png | Configuring apps with compilation environment declarations | Learn about using compilation environment declarations to customize application behavior. | |
| /libraries/dart-async | dart:async | Learn about the major features in Dart's dart:async library. | /assets/img/logo/dart-logo-for-shares.png | dart:async | Learn about the major features in Dart's dart:async library. | |
| /libraries/dart-convert | dart:convert | Learn about the major features in Dart's dart:convert library. | /assets/img/logo/dart-logo-for-shares.png | dart:convert | Learn about the major features in Dart's dart:convert library. | |
| /libraries/dart-core | dart:core | Learn about the major features in Dart's dart:core library. | /assets/img/logo/dart-logo-for-shares.png | dart:core | Learn about the major features in Dart's dart:core library. | |
| /libraries/dart-html | dart:html | Learn about the major features in Dart's dart:html library. | /assets/img/logo/dart-logo-for-shares.png | dart:html | Learn about the major features in Dart's dart:html library. | |
| /libraries/dart-io | dart:io | Learn about the major features in Dart's dart:io library. | /assets/img/logo/dart-logo-for-shares.png | dart:io | Learn about the major features in Dart's dart:io library. | |
| /libraries/dart-math | dart:math | Learn about the major features in Dart's dart:math library. | /assets/img/logo/dart-logo-for-shares.png | dart:math | Learn about the major features in Dart's dart:math library. | |
| /libraries/serialization/json | Using JSON | Dart solutions for reading and writing JSON. | /assets/img/logo/dart-logo-for-shares.png | Using JSON | Dart solutions for reading and writing JSON. | |
| /multiplatform-apps | Multi-platform apps | Use 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.png | Multi-platform apps | Use the Flutter framework to build beautiful native apps for many platforms and operating systems from a single codebase. | |
| /null-safety | Sound null safety | An introduction to null safety in Dart. | /assets/img/logo/dart-logo-for-shares.png | Sound null safety | An introduction to null safety in Dart. | |
| /null-safety/understanding-null-safety | Understanding null safety | A deep dive into Dart language and library changes related to null safety. | /assets/img/logo/dart-logo-for-shares.png | Understanding null safety | A deep dive into Dart language and library changes related to null safety. | |
| /overview | Dart overview | A short introduction to Dart. | /assets/img/logo/dart-logo-for-shares.png | Dart overview | A short introduction to Dart. | |
| /resources | Resources | Landing page for Dart language resources. | /assets/img/logo/dart-logo-for-shares.png | Resources | Landing page for Dart language resources. | |
| /resources/books | Books about Dart | Read all about it! Here's a collection of books about Dart. | /assets/img/logo/dart-logo-for-shares.png | Books about Dart | Read all about it! Here's a collection of books about Dart. | |
| /resources/breaking-changes | Breaking changes and deprecations | A list of breaking changes by release in Dart. | /assets/img/logo/dart-logo-for-shares.png | Breaking changes and deprecations | A list of breaking changes by release in Dart. | |
| /resources/dart-3-migration | Dart 3 migration guide | How to migrate existing Dart code to be compatible with Dart 3. | /assets/img/logo/dart-logo-for-shares.png | Dart 3 migration guide | How to migrate existing Dart code to be compatible with Dart 3. | |
| /resources/dart-cheatsheet | Dart cheatsheet | Interactively learn (or relearn) some of Dart's unique features. | /assets/img/logo/dart-logo-for-shares.png | Dart cheatsheet | Interactively learn (or relearn) some of Dart's unique features. | |
| /resources/dart-team-packages | Dart team packages | The Dart team publishes packages under the verified publishers: dart.dev, tools.dart.dev, and labs.dart.dev. | /assets/img/logo/dart-logo-for-shares.png | Dart team packages | The Dart team publishes packages under the verified publishers: dart.dev, tools.dart.dev, and labs.dart.dev. | |
| /resources/glossary | Glossary | A glossary reference for terminology used across dart.dev. | /assets/img/logo/dart-logo-for-shares.png | Glossary | A glossary reference for terminology used across dart.dev. | |
| /resources/google-apis | Using Google APIs | Your Dart apps can use Firebase and Google client APIs. | /assets/img/logo/dart-logo-for-shares.png | Using Google APIs | Your Dart apps can use Firebase and Google client APIs. | |
| /resources/language/evolution | Dart language evolution | Notable changes and additions to the Dart programming language. | /assets/img/logo/dart-logo-for-shares.png | Dart language evolution | Notable changes and additions to the Dart programming language. | |
| /resources/language/number-representation | Numbers in Dart | Learn 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.png | Numbers in Dart | Learn how Dart numbers are slightly different on the web, when that might matter, and how you might adjust your code. | |
| /resources/language/spec | Dart language specification | The formal specification for the Dart language. | /assets/img/logo/dart-logo-for-shares.png | Dart language specification | The formal specification for the Dart language. | |
| /resources/useful-packages | Commonly used packages | Some of the most useful and popular packages, and where you can learn more. | /assets/img/logo/dart-logo-for-shares.png | Commonly used packages | Some of the most useful and popular packages, and where you can learn more. | |
| /resources/videos | Dart videos | Learn by watching! Here's a collection of videos about Dart. | /assets/img/logo/dart-logo-for-shares.png | Dart videos | Learn by watching! Here's a collection of videos about Dart. | |
| /resources/whats-new | What's new | A list of what's new on dart.dev and related sites. | /assets/img/logo/dart-logo-for-shares.png | What's new | A list of what's new on dart.dev and related sites. | |
| /search | Search dart.dev | Search for documentation on dart.dev. | /assets/img/logo/dart-logo-for-shares.png | Search dart.dev | Search for documentation on dart.dev. | |
| /search-all | Search more sites | Search dart.dev, api.dart.dev, the old www.dartlang.org site, flutter.dev, and more. | /assets/img/logo/dart-logo-for-shares.png | Search more sites | Search dart.dev, api.dart.dev, the old www.dartlang.org site, flutter.dev, and more. | |
| /security | Security | An overview of the Dart team's philosophy and processes for security. | /assets/img/logo/dart-logo-for-shares.png | Security | An overview of the Dart team's philosophy and processes for security. | |
| /server | Command-line and server apps | All things relating to command-line and server apps. | /assets/img/logo/dart-logo-for-shares.png | Command-line and server apps | All things relating to command-line and server apps. | |
| /server/fetch-data | Fetch data from the internet | Fetch data over the internet using the http package. | /assets/img/logo/dart-logo-for-shares.png | Fetch data from the internet | Fetch data over the internet using the http package. | |
| /server/google-cloud | Using Google Cloud | Your Dart app can use many Google Cloud services: Firebase, Google Cloud Platform, and more. | /assets/img/logo/dart-logo-for-shares.png | Using Google Cloud | Your Dart app can use many Google Cloud services: Firebase, Google Cloud Platform, and more. | |
| /server/libraries | Command-line and server libraries and packages | Libraries and packages that can help you write Dart command-line & server apps. | /assets/img/logo/dart-logo-for-shares.png | Command-line and server libraries and packages | Libraries and packages that can help you write Dart command-line & server apps. | |
| /terms | Terms of use | The terms of use for dart.dev. | /assets/img/logo/dart-logo-for-shares.png | Terms of use | The terms of use for dart.dev. | |
| /web | Web platform | Resources for developing Dart web apps. | /assets/img/logo/dart-logo-for-shares.png | Web platform | Resources for developing Dart web apps. | |
| /web/debugging | Debugging Dart web apps | Learn how to debug your Dart web app. | /assets/img/logo/dart-logo-for-shares.png | Debugging Dart web apps | Learn how to debug your Dart web app. | |
| /web/deployment | Web deployment | Learn how to build your Dart web app for production deployment. | /assets/img/logo/dart-logo-for-shares.png | Web deployment | Learn how to build your Dart web app for production deployment. | |
| /web/get-started | Build a web app with Dart | Get started writing web apps in Dart. | /assets/img/logo/dart-logo-for-shares.png | Build a web app with Dart | Get started writing web apps in Dart. | |
| /web/libraries | Web libraries and packages | Libraries and packages that can help you write Dart web apps. | /assets/img/logo/dart-logo-for-shares.png | Web libraries and packages | Libraries and packages that can help you write Dart web apps. | |
| /web/wasm | WebAssembly (Wasm) compilation | Learn how to compile your Dart web app to WebAssembly. | /assets/img/logo/dart-logo-for-shares.png | WebAssembly (Wasm) compilation | Learn how to compile your Dart web app to WebAssembly. | |
| No rows found, please edit your search term. | ||||||
Heading structure
Found 121 row(s).
| Heading structure | Count | Errors 🔽 | URL |
|---|---|---|---|
| 7 | 6 | /resources/books |
| 2 | 2 | / |
| 3 | 1 | /learn/tutorial |
| 13 | 1 | /learn/tutorial/advanced-oop |
| 15 | 1 | /learn/tutorial/data-and-json |
| 13 | 1 | /learn/tutorial/first-app |
| 15 | 1 | /learn/tutorial/logging |
| 13 | 1 | /learn/tutorial/fetch-data |
| 14 | 1 | /learn/tutorial/object-oriented |
| 13 | 1 | /learn/tutorial/cli-polish |
| 14 | 1 | /learn/tutorial/testing |
| 11 | 1 | /learn/tutorial/interactivity |
| 14 | 1 | /learn/tutorial/error-handling |
| 15 | 1 | /learn/tutorial/async |
| 14 | 1 | /learn/tutorial/packages-libs |
| 1 | 0 | /docs |
| 4 | 0 | /libraries/dart-convert |
| 6 | 0 | /community |
| 14 | 0 | /language/dot-shorthands |
| 19 | 0 | /resources/dart-3-migration |
| 4 | 0 | /null-safety |
| 8 | 0 | /security |
| 4 | 0 | /language/async |
| 3 | 0 | /interop/js-interop |
| 5 | 0 | /overview |
| 9 | 0 | /language/classes |
| 29 | 0 | /libraries/dart-core |
| 1 | 0 | /terms |
| 4 | 0 | /language/enums |
| 7 | 0 | /language/branches |
| 8 | 0 | /language/generics |
| 4 | 0 | /web/wasm |
| 16 | 0 | /language/functions |
| 1 | 0 | /web |
| 6 | 0 | /language/mixins |
| 18 | 0 | /libraries/async/async-await |
| 17 | 0 | /language/pattern-types |
| 9 | 0 | /interop/c-interop |
| 5 | 0 | /libraries |
| 15 | 0 | /interop/js-interop/package-web |
| 16 | 0 | /language |
| 9 | 0 | /web/get-started |
| 9 | 0 | /language/extension-methods |
| 7 | 0 | /libraries/core/environment-declarations |
| 6 | 0 | /language/error-handling |
| 7 | 0 | /interop/js-interop/js-types |
| 19 | 0 | /language/type-system |
| 33 | 0 | /changelog |
| 6 | 0 | /language/built-in-types |
| 2 | 0 | /web/libraries |
| 117 | 0 | /resources/glossary |
| 10 | 0 | /language/extension-types |
| 9 | 0 | /resources/language/number-representation |
| 7 | 0 | /libraries/async/creating-streams |
| 11 | 0 | /language/class-modifiers-for-apis |
| 55 | 0 | /resources/whats-new |
| 16 | 0 | /language/concurrency |
| 8 | 0 | /language/records |
| 11 | 0 | /language/loops |
| 6 | 0 | /language/libraries |
| 30 | 0 | /effective-dart/documentation |
| 9 | 0 | /language/class-modifiers |
| 70 | 0 | /effective-dart/design |
| 3 | 0 | /learn |
| 5 | 0 | /server |
| 6 | 0 | /interop/js-interop/past-js-interop |
| 10 | 0 | /interop/js-interop/usage |
| 4 | 0 | /resources/language/spec |
| 13 | 0 | /libraries/dart-async |
| 3 | 0 | /language/extend |
| 20 | 0 | /libraries/collections/iterables |
| 17 | 0 | /language/constructors |
| 3 | 0 | /resources/videos |
| 8 | 0 | /server/google-cloud |
| 1 | 0 | /language/typedefs |
| 28 | 0 | /get-dart |
| 14 | 0 | /libraries/async/futures-error-handling |
| 10 | 0 | /web/debugging |
| 13 | 0 | /language/collections |
| 15 | 0 | /server/fetch-data |
| 3 | 0 | /language/modifier-reference |
| 13 | 0 | /libraries/async/using-streams |
| 5 | 0 | /language/versioning |
| 6 | 0 | /libraries/dart-math |
| 1 | 0 | /language/keywords |
| 4 | 0 | /libraries/serialization/json |
| 54 | 0 | /effective-dart/usage |
| 1 | 0 | /language/callable-objects |
| 6 | 0 | /language/variables |
| 8 | 0 | /language/isolates |
| 12 | 0 | /language/operators |
| 4 | 0 | /language/comments |
| 9 | 0 | /effective-dart |
| 11 | 0 | /interop/objective-c-interop |
| 30 | 0 | /null-safety/understanding-null-safety |
| 5 | 0 | /server/libraries |
| 7 | 0 | /web/deployment |
| 7 | 0 | /resources/useful-packages |
| 8 | 0 | /interop/java-interop |
| 1 | 0 | /multiplatform-apps |
| 14 | 0 | /language/patterns |
| 23 | 0 | /effective-dart/style |
| 4 | 0 | /interop/js-interop/tutorials |
| 5 | 0 | /language/methods |
| 13 | 0 | /libraries/dart-io |
| 3 | 0 | /resources/google-apis |
| 5 | 0 | /language/metadata |
| 1 | 0 | /search |
| 36 | 0 | /resources/dart-cheatsheet |
| 34 | 0 | /resources/language/evolution |
| 1 | 0 | /resources |
| 8 | 0 | /interop/js-interop/start |
| 2 | 0 | /interop |
| 4 | 0 | /interop/js-interop/mock |
| 4 | 0 | /brand |
| 20 | 0 | /libraries/async/zones |
| 14 | 0 | /libraries/dart-html |
| 103 | 0 | /resources/breaking-changes |
| 8 | 0 | /get-dart/archive |
| 1 | 0 | /resources/dart-team-packages |
| 1 | 0 | /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).
| Reason | Domain | Unique URLs 🔽 |
|---|---|---|
| Not allowed host | api.dart.dev | 245 |
| Not allowed host | github.com | 215 |
| Not allowed host | pub.dev | 87 |
| Not allowed host | blog.dart.dev | 61 |
| Not allowed host | en.wikipedia.org | 28 |
| Not allowed host | docs.flutter.dev | 25 |
| Not allowed host | developer.mozilla.org | 13 |
| Not allowed host | www.youtube.com | 12 |
| Not allowed host | developer.apple.com | 12 |
| Not allowed host | cloud.google.com | 7 |
| Not allowed host | news.dartlang.org | 6 |
| Not allowed host | support.apple.com | 5 |
| Not allowed host | groups.google.com | 5 |
| Not allowed host | developers.google.com | 4 |
| Not allowed host | flutter.dev | 4 |
| Not allowed host | developer.chrome.com | 4 |
| Not allowed host | dartpad.dev | 3 |
| Not allowed host | policies.google.com | 3 |
| Not allowed host | firebase.google.com | 3 |
| Not allowed host | api.flutter.dev | 3 |
| Not allowed host | www.google.com | 3 |
| Not allowed host | www.thewindowsclub.com | 2 |
| Not allowed host | www.kodeco.com | 2 |
| Not allowed host | dart-review.googlesource.com | 2 |
| Not allowed host | www.microsoft.com | 2 |
| Not allowed host | stackoverflow.com | 2 |
| Not allowed host | www.w3.org | 2 |
| Not allowed host | medium.com | 2 |
| Not allowed host | web.dev | 2 |
| Not allowed host | genkit.dev | 1 |
| Not allowed host | firefox-source-docs.mozilla.org | 1 |
| Not allowed host | docs.brew.sh | 1 |
| Not allowed host | bit.ly | 1 |
| Not allowed host | g.co | 1 |
| Not allowed host | docs.github.com | 1 |
| Not allowed host | www.json.org | 1 |
| Not allowed host | www.amazon.com | 1 |
| Not allowed host | wiki.debian.org | 1 |
| Not allowed host | www.piter.com | 1 |
| Not allowed host | semver.org | 1 |
| Not allowed host | filiph.github.io | 1 |
| Not allowed host | codelabs.developers.google.com | 1 |
| Not allowed host | dart.tw.gh.miniasp.com | 1 |
| Not allowed host | forum.itsallwidgets.com | 1 |
| Not allowed host | docs.microsoft.com | 1 |
| Not allowed host | daringfireball.net | 1 |
| Not allowed host | en.wikiversity.org | 1 |
| Not allowed host | wikipedia.org | 1 |
| Not allowed host | opensource.org | 1 |
| Not allowed host | hub.docker.com | 1 |
| Not allowed host | firebase.flutter.dev | 1 |
| Not allowed host | developer.android.com | 1 |
| Not allowed host | www.postman.com | 1 |
| Not allowed host | www.infoq.com | 1 |
| Not allowed host | chrome.google.com | 1 |
| Not allowed host | pages.github.com | 1 |
| Not allowed host | v8.dev | 1 |
| Not allowed host | discord.gg | 1 |
| Not allowed host | localhost | 1 |
| Not allowed host | docs.oracle.com | 1 |
| Not allowed host | gist.github.com | 1 |
| Not allowed host | twitter.com | 1 |
| Not allowed host | webassembly.org | 1 |
| Not allowed host | grpc.io | 1 |
| Not allowed host | www.reddit.com | 1 |
| Not allowed host | code.visualstudio.com | 1 |
| Not allowed host | unicode.org | 1 |
| Not allowed host | dart-ko.dev | 1 |
| Not allowed host | http | 1 |
| Not allowed host | blog.codinghorror.com | 1 |
| Not allowed host | www.ecma-international.org | 1 |
| Not allowed host | www.casadocodigo.com.br | 1 |
| Not allowed host | encoding.spec.whatwg.org | 1 |
| Not allowed host | www.udemy.com | 1 |
| Not allowed host | www.raywenderlich.com | 1 |
| Not allowed host | dart-frog.dev | 1 |
| Not allowed host | llvm.org | 1 |
| Not allowed host | cloudevents.io | 1 |
| Not allowed host | www.jetbrains.com | 1 |
| Not allowed host | creativecommons.org | 1 |
| Not allowed host | www.debian.org | 1 |
| Not allowed host | wiki.ubuntu.com | 1 |
| Not allowed host | www.npmjs.com | 1 |
| Not allowed host | pdfbox.apache.org | 1 |
| No rows found, please edit your search term. | ||
Skipped URLs
Found 200 row(s).
External URLs
819 external URL(s) Found 200 row(s).
TOP fastest URLs
Found 20 row(s).
| Time 🔼 | Status | Fast 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).
| Time 🔽 | Status | Slow URL |
|---|---|---|
| 234 ms | 200 | /language/branches |
| 204 ms | 200 | /libraries/collections/iterables |
| 201 ms | 200 | /libraries/dart-html |
| 193 ms | 200 | /language/callable-objects |
| 190 ms | 200 | /language/extension-types |
| 185 ms | 200 | /resources/dart-team-packages |
| 184 ms | 200 | /resources/glossary |
| 183 ms | 200 | /learn/tutorial |
| 176 ms | 200 | /language/dot-shorthands |
| 175 ms | 200 | /changelog |
| 172 ms | 200 | /interop/js-interop/package-web |
| 171 ms | 200 | /learn/tutorial/advanced-oop |
| 170 ms | 200 | /interop/js-interop/js-types |
| 169 ms | 200 | /security |
| 167 ms | 200 | /language/collections |
| 166 ms | 200 | /web/wasm |
| 165 ms | 200 | /web |
| 164 ms | 200 | /learn/tutorial/data-and-json |
| 164 ms | 200 | /resources |
| 163 ms | 200 | /libraries/dart-core |
| No rows found, please edit your search term. | ||
Content types
| Content type | URLs 🔽 | Total size | Total time | Avg time | Status 20x | Status 30x |
|---|---|---|---|---|---|---|
| HTML | 122 | 19 MB | 14 s | 121 ms | 122 | 0 |
| Redirect | 21 | 2 kB | 2 s | 94 ms | 0 | 21 |
Content types (MIME types)
| Content type | URLs 🔽 | Total size | Total time | Avg time | Status 20x | Status 30x |
|---|---|---|---|---|---|---|
| text/html; charset=utf-8 | 122 | 19 MB | 14 s | 121 ms | 122 | 0 |
| text / html | 21 | 2 kB | 2 s | 94 ms | 0 | 21 |
Source domains
| Domain | Totals | HTML | Redirect |
|---|---|---|---|
| dart.dev | 142 / 19MB / 16s | 121 / 19MB / 14s | 21 / 2kB / 2s |
| docs.flutter.dev | 1 / 120kB / 113ms | 1 / 120kB / 113ms |
HTTP headers
Found 20 row(s).
| Header 🔼 | Occurs | Unique | Values preview | Min value | Max value |
|---|---|---|---|---|---|
| Accept-Ranges | 142 | 1 | bytes | ||
| Alt-Svc | 142 | 1 | h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400 | ||
| Cache-Control | 121 | 1 | max-age=3600 | ||
| Content-Length | 21 | - | [ignored generic values] | 20 B | 86 B |
| Content-Security-Policy-Report-Only | 142 | 1 | script-src 'self' | ||
| Content-Type | 142 | 2 | text/html; charset=utf-8 (121) / text/html (21) | ||
| Date | 142 | - | [ignored generic values] | 2026-03-24 | 2026-03-24 |
| Etag | 121 | - | [ignored generic values] | ||
| Last-Modified | 121 | - | [ignored generic values] | 2026-03-24 | 2026-03-24 |
| Location | 21 | 20 | [see values below] | ||
| Referrer-Policy | 142 | 1 | strict-origin-when-cross-origin | ||
| Strict-Transport-Security | 121 | 1 | max-age=31556926 | ||
| Vary | 142 | 1 | x-fh-requested-host, accept-encoding | ||
| X-Cache | 142 | 2 | MISS (115) / HIT (27) | ||
| X-Cache-Hits | 142 | 2 | 0 (138) / 1 (4) | ||
| X-Content-Type-Options | 142 | 1 | nosniff | ||
| X-Frame-Options | 142 | 1 | DENY | ||
| X-Served-By | 142 | 1 | cache-bma-essb1270033-BMA | ||
| X-Timer | 142 | 20+ | [see values below] | ||
| X-XSS-Protection | 142 | 1 | 1;mode=block | ||
| No rows found, please edit your search term. | |||||
HTTP header values
Found 57 row(s).
| Header | Occurs | Value |
|---|---|---|
| Accept-Ranges | 142 | bytes |
| Alt-Svc | 142 | h3=":443";ma=86400,h3-29=":443";ma=86400,h3-27=":443";ma=86400 |
| Cache-Control | 121 | max-age=3600 |
| Content-Security-Policy-Report-Only | 142 | script-src 'self' |
| Content-Type | 121 | text/html; charset=utf-8 |
| Content-Type | 21 | text / html |
| Location | 2 | /interop/js-interop |
| Location | 1 | /language/patterns |
| Location | 1 | https://storage.googleapis.com/dart-specification/DartLangSpecDraft.pdf |
| Location | 1 | /language/generics |
| Location | 1 | /resources/dart-3-migration |
| Location | 1 | /language/operators |
| Location | 1 | /interop/js-interop/js-types |
| Location | 1 | /libraries/dart-async |
| Location | 1 | /language |
| Location | 1 | /docs |
| Location | 1 | /language/records |
| Location | 1 | /interop/c-interop |
| Location | 1 | /web/libraries |
| Location | 1 | /effective-dart/usage |
| Location | 1 | /language/constructors |
| Location | 1 | /language/loops |
| Location | 1 | https://docs.flutter.dev/jobs |
| Location | 1 | /libraries/async/zones |
| Location | 1 | /language/pattern-types |
| Location | 1 | /interop/js-interop/package-web |
| Referrer-Policy | 142 | strict-origin-when-cross-origin |
| Strict-Transport-Security | 121 | max-age=31556926 |
| Vary | 142 | x-fh-requested-host, accept-encoding |
| X-Cache | 115 | MISS |
| X-Cache | 27 | HIT |
| X-Cache-Hits | 138 | 0 |
| X-Cache-Hits | 4 | 1 |
| X-Content-Type-Options | 142 | nosniff |
| X-Frame-Options | 142 | DENY |
| X-Served-By | 142 | cache-bma-essb1270033-BMA |
| X-Timer | 1 | S1774357377.424172,VS0,VE1 |
| X-Timer | 1 | S1774357378.625472,VS0,VE121 |
| X-Timer | 1 | S1774357378.237764,VS0,VE111 |
| X-Timer | 1 | S1774357378.825130,VS0,VE164 |
| X-Timer | 1 | S1774357378.525229,VS0,VE1 |
| X-Timer | 1 | S1774357378.925177,VS0,VE137 |
| X-Timer | 1 | S1774357378.327805,VS0,VE119 |
| X-Timer | 1 | S1774357378.057725,VS0,VE137 |
| X-Timer | 1 | S1774357379.525015,VS0,VE1 |
| X-Timer | 1 | S1774357378.425063,VS0,VE102 |
| X-Timer | 1 | S1774357379.225825,VS0,VE1 |
| X-Timer | 1 | S1774357378.124836,VS0,VE161 |
| X-Timer | 1 | S1774357379.860140,VS0,VE195 |
| X-Timer | 1 | S1774357379.125436,VS0,VE1 |
| X-Timer | 1 | S1774357379.625136,VS0,VE153 |
| X-Timer | 1 | S1774357379.725652,VS0,VE116 |
| X-Timer | 1 | S1774357379.925605,VS0,VE115 |
| X-Timer | 1 | S1774357379.325418,VS0,VE157 |
| X-Timer | 1 | S1774357378.725365,VS0,VE114 |
| X-Timer | 1 | S1774357379.025216,VS0,VE157 |
| X-XSS-Protection | 142 | 1;mode=block |
| No rows found, please edit your search term. | ||
HTTP Caching by content type (only from crawlable domains)
| Content type | Cache type | URLs 🔽 | AVG lifetime | MIN lifetime | MAX lifetime |
|---|---|---|---|---|---|
| HTML | Cache-Control + ETag + Last-Modified | 121 | 60 min | 60 min | 60 min |
| Redirect | No cache headers | 21 | - | - | - |
HTTP Caching by domain
| Domain | Cache type | URLs 🔽 | AVG lifetime | MIN lifetime | MAX lifetime |
|---|---|---|---|---|---|
| dart.dev | Cache-Control + ETag + Last-Modified | 121 | 60 min | 60 min | 60 min |
| dart.dev | No cache headers | 21 | - | - | - |
| docs.flutter.dev | Cache-Control + ETag + Last-Modified | 1 | 60 min | 60 min | 60 min |
HTTP Caching by domain and content type
| Domain | Content type | Cache type | URLs 🔽 | AVG lifetime | MIN lifetime | MAX lifetime |
|---|---|---|---|---|---|---|
| dart.dev | HTML | Cache-Control + ETag + Last-Modified | 121 | 60 min | 60 min | 60 min |
| dart.dev | Redirect | No cache headers | 21 | - | - | - |
| docs.flutter.dev | HTML | Cache-Control + ETag + Last-Modified | 1 | 60 min | 60 min | 60 min |
DNS info
| DNS resolving tree |
|---|
| dart.dev |
| IPv4: 199.36.158.100 |
| DNS server: 127.0.0.53 |
SSL/TLS info
| Info | Text |
|---|---|
| Issuer | C = US, O = Google Trust Services, CN = WR3 |
| Subject | CN = dart.dev |
| Valid from | Mar 6 05:33:09 2026 GMT (VALID already 18.3 day(s)) |
| Valid to | Jun 4 06:31:18 2026 GMT (VALID still for 71.7 day(s)) |
| Supported protocols | TLSv1.2, TLSv1.3 |
| RAW certificate output | Certificate: 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 time | 17 s |
| Total URLs | 143 |
| Total size | 19 MB |
| Requests - total time | 16 s |
| Requests - avg time | 117 ms |
| Requests - min time | 8 ms |
| Requests - max time | 235 ms |
| Requests by status | 200: 122 301: 21 |
Analysis stats
Found 21 row(s).
| Class::method | Exec time 🔽 | Exec count |
|---|---|---|
| AccessibilityAnalyzer::checkMissingAriaLabels | 690 ms | 121 |
| AccessibilityAnalyzer::checkMissingLabels | 639 ms | 121 |
| AccessibilityAnalyzer::checkMissingRoles | 549 ms | 121 |
| SslTlsAnalyzer::getTLSandSSLCertificateInfo | 527 ms | 1 |
| BestPracticeAnalyzer::checkHeadingStructure | 519 ms | 122 |
| AccessibilityAnalyzer::checkMissingLang | 467 ms | 121 |
| BestPracticeAnalyzer::checkMaxDOMDepth | 435 ms | 122 |
| BestPracticeAnalyzer::checkNonClickablePhoneNumbers | 181 ms | 122 |
| BestPracticeAnalyzer::checkInlineSvg | 109 ms | 122 |
| BestPracticeAnalyzer::checkMissingQuotesOnAttributes | 51 ms | 122 |
| SecurityAnalyzer::checkHtmlSecurity | 19 ms | 121 |
| AccessibilityAnalyzer::checkImageAltAttributes | 18 ms | 121 |
| SeoAndOpenGraphAnalyzer::analyzeHeadings | 16 ms | 1 |
| SecurityAnalyzer::checkHeaders | 3 ms | 121 |
| SeoAndOpenGraphAnalyzer::analyzeSeo | 0 ms | 1 |
| SeoAndOpenGraphAnalyzer::analyzeOpenGraph | 0 ms | 1 |
| BestPracticeAnalyzer::checkTitleUniqueness | 0 ms | 1 |
| BestPracticeAnalyzer::checkMetaDescriptionUniqueness | 0 ms | 1 |
| BestPracticeAnalyzer::checkBrotliSupport | 0 ms | 1 |
| BestPracticeAnalyzer::checkWebpSupport | 0 ms | 1 |
| BestPracticeAnalyzer::checkAvifSupport | 0 ms | 1 |
| No rows found, please edit your search term. | ||
Content processor stats
Found 12 row(s).
| Class::method | Exec time 🔽 | Exec count |
|---|---|---|
| HtmlProcessor::findUrls | 160 ms | 142 |
| NextJsProcessor::applyContentChangesBeforeUrlParsing | 74 ms | 122 |
| JavaScriptProcessor::findUrls | 70 ms | 121 |
| CssProcessor::findUrls | 4 ms | 121 |
| AstroProcessor::findUrls | 2 ms | 121 |
| AstroProcessor::applyContentChangesBeforeUrlParsing | 0 ms | 122 |
| NextJsProcessor::findUrls | 0 ms | 121 |
| JavaScriptProcessor::applyContentChangesBeforeUrlParsing | 0 ms | 122 |
| HtmlProcessor::applyContentChangesBeforeUrlParsing | 0 ms | 143 |
| SvelteProcessor::applyContentChangesBeforeUrlParsing | 0 ms | 122 |
| SvelteProcessor::findUrls | 0 ms | 121 |
| CssProcessor::applyContentChangesBeforeUrlParsing | 0 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 |