From fc25b4c36c557a85566d3640e59fe883e0cd6d64 Mon Sep 17 00:00:00 2001 From: Parker Lougheed Date: Wed, 23 Sep 2026 00:31:44 +0800 Subject: [PATCH] Explicitly specify blog cover images --- .../contribute-blog/references/post-format.md | 52 ++++++++++----- packages/site_shared/lib/blog.dart | 1 + .../lib/components/blog/blog_card.dart | 3 +- .../lib/components/blog/blog_next_posts.dart | 1 - packages/site_shared/lib/src/blog/models.dart | 57 +++++++++++++++++ .../index.md | 7 ++- .../index.md | 6 +- .../index.md | 4 +- .../blog/a2ui-client-side-functions/index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../android-dark-theme-in-flutter/index.md | 6 +- .../content/blog/animation-deep-dive/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../announcing-dart-null-safety-beta/index.md | 4 +- .../index.md | 4 +- .../blog/announcing-flutter-1-17/index.md | 4 +- .../blog/announcing-flutter-1-20/index.md | 4 +- .../blog/announcing-flutter-1-22/index.md | 4 +- .../blog/announcing-flutter-1-5/index.md | 4 +- .../blog/announcing-flutter-1-7/index.md | 4 +- .../index.md | 4 +- .../blog/announcing-flutter-2-8/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../announcing-flutter-ai-toolkit/index.md | 4 +- .../index.md | 4 +- .../announcing-flutter-for-windows/index.md | 4 +- .../blog/announcing-flutter-forward/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../announcing-flutter-windows-alpha/index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 7 ++- .../index.md | 6 +- .../index.md | 6 +- .../announcing-xd-to-flutter-v2-0/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 9 ++- .../index.md | 4 +- .../blog/bringing-flutter-to-the-web/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../building-multi-agent-dev-teams/index.md | 8 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 7 ++- .../creating-a-carousel-with-flutter/index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../dart-flutter-devtools-extensions/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../decomposing-widgets-backdrop/index.md | 4 +- .../decoupling-material-cupertino/index.md | 7 ++- .../deprecation-lifetime-in-flutter/index.md | 4 +- .../blog/desktop-windowing-apis/index.md | 8 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/enums-with-extensions-dart/index.md | 4 +- .../blog/event-loop-in-widget-tester/index.md | 4 +- .../index.md | 9 ++- .../index.md | 4 +- .../index.md | 4 +- .../blog/flutter-1-0-launch-wrap-up/index.md | 4 +- .../index.md | 4 +- .../blog/flutter-2025-roadmap-update/index.md | 4 +- .../index.md | 4 +- .../content/blog/flutter-and-desktop/index.md | 4 +- .../index.md | 4 +- .../blog/flutter-codepen-challenge/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/flutter-darts-2026-roadmap/index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../content/blog/flutter-hot-reload/index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../flutter-package-ecosystem-update/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/flutter-platform-channels/index.md | 4 +- .../blog/flutter-q2-2026-survey/index.md | 6 +- .../content/blog/flutter-q2-survey/index.md | 7 ++- .../blog/flutter-spring-2020-update/index.md | 4 +- .../flutter-takes-the-stage-at-gdc/index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../blog/flutter-web-support-updates/index.md | 4 +- .../flutter-whats-next-on-the-web/index.md | 6 +- .../flutters-ios-application-bundle/index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../getting-started-with-flutter-gpu/index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/google-maps-and-flutter/index.md | 4 +- .../index.md | 6 +- .../hamilton-flare-design-challenge/index.md | 4 +- .../index.md | 8 ++- .../handling-web-gestures-in-flutter/index.md | 8 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../blog/how-its-made-holobooth/index.md | 4 +- .../blog/how-its-made-i-o-flip/index.md | 6 +- .../how-its-made-i-o-photo-booth/index.md | 6 +- .../index.md | 6 +- .../index.md | 4 +- .../how-to-create-stateless-widgets/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 6 +- .../blog/introducing-flutter-3/index.md | 4 +- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../blog/issues-bugs-and-backlogs/index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../blog/join-us-for-17daysofflutter/index.md | 7 ++- .../blog/join-us-for-30daysofflutter/index.md | 7 ++- .../blog/keys-what-are-they-good-for/index.md | 4 +- .../index.md | 4 +- .../index.md | 8 ++- .../blog/learn-flutter-for-free/index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 7 ++- .../learning-faster-with-antigravity/index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../managing-visibility-in-flutter/index.md | 7 ++- .../blog/material-3-for-flutter/index.md | 6 +- .../material-range-slider-in-flutter/index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 4 +- .../blog/out-of-depth-with-flutter/index.md | 4 +- .../index.md | 4 +- .../performance-testing-on-the-web/index.md | 4 +- .../blog/perspective-on-flutter/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/platform-channel-examples/index.md | 4 +- .../playful-typography-with-flutter/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../content/blog/put-flutter-to-work/index.md | 8 ++- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 7 ++- .../sharing-flutters-2024-roadmap/index.md | 4 +- .../content/blog/slivers-demystified/index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 6 +- .../index.md | 6 +- .../index.md | 8 ++- .../index.md | 7 ++- .../index.md | 7 ++- .../the-flutter-create-winners-are/index.md | 4 +- .../index.md | 4 +- .../index.md | 8 ++- .../the-power-of-webviews-in-flutter/index.md | 4 +- .../index.md | 6 +- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../updates-on-flutter-and-firebase/index.md | 4 +- .../blog/updates-on-flutter-testing/index.md | 4 +- .../index.md | 6 +- .../video-web-ad-support-in-flutter/index.md | 4 +- .../index.md | 4 +- .../index.md | 7 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 9 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/whats-new-in-flutter-2-0/index.md | 4 +- .../blog/whats-new-in-flutter-2-10/index.md | 4 +- .../blog/whats-new-in-flutter-2-2/index.md | 4 +- .../blog/whats-new-in-flutter-2-5/index.md | 4 +- .../blog/whats-new-in-flutter-2-8/index.md | 4 +- .../blog/whats-new-in-flutter-3-10/index.md | 4 +- .../blog/whats-new-in-flutter-3-13/index.md | 6 +- .../blog/whats-new-in-flutter-3-16/index.md | 6 +- .../blog/whats-new-in-flutter-3-19/index.md | 6 +- .../blog/whats-new-in-flutter-3-22/index.md | 6 +- .../blog/whats-new-in-flutter-3-24/index.md | 4 +- .../blog/whats-new-in-flutter-3-27/index.md | 6 +- .../blog/whats-new-in-flutter-3-29/index.md | 6 +- .../blog/whats-new-in-flutter-3-3/index.md | 4 +- .../blog/whats-new-in-flutter-3-32/index.md | 6 +- .../blog/whats-new-in-flutter-3-35/index.md | 6 +- .../blog/whats-new-in-flutter-3-38/index.md | 6 +- .../blog/whats-new-in-flutter-3-41/index.md | 4 +- .../blog/whats-new-in-flutter-3-44/index.md | 7 ++- .../blog/whats-new-in-flutter-3-47/index.md | 7 ++- .../blog/whats-new-in-flutter-3-7/index.md | 4 +- .../blog/whats-new-in-flutter-3/index.md | 4 +- .../blog/whats-new-in-flutter-beta-3/index.md | 4 +- .../whats-new-with-the-slider-widget/index.md | 7 ++- .../blog/whats-next-for-flutter/index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 9 ++- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../index.md | 4 +- .../blog/zero-to-one-with-flutter/index.md | 4 +- .../src/components/common/content_image.dart | 63 +++++++++++++++++++ .../lib/src/components/common/dash_image.dart | 37 ++++------- sites/www/lib/src/layouts/blog_layout.dart | 9 +++ .../lib/src/loaders/blog_data_processor.dart | 26 +++++++- 282 files changed, 1080 insertions(+), 498 deletions(-) create mode 100644 sites/www/lib/src/components/common/content_image.dart diff --git a/.agents/skills/contribute-blog/references/post-format.md b/.agents/skills/contribute-blog/references/post-format.md index 19b010852a1..d375583a225 100644 --- a/.agents/skills/contribute-blog/references/post-format.md +++ b/.agents/skills/contribute-blog/references/post-format.md @@ -32,7 +32,10 @@ description: >- A short, plain-text summary that stands on its own. publishDate: YYYY-MM-DD author: author-id -image: images/card-image.webp +coverImage: + alt: "Descriptive alt text, or empty for decorative." + caption: "Optional caption." + url: images/hero.webp category: deep-dive layout: blog --- @@ -61,32 +64,52 @@ layout: blog `layout` (required) : Must be `blog`. -`image` (optional) -: Post-relative path (for example, `images/hero.webp`) to the card and - default social preview image. +`coverImage` (optional) +: Post-relative hero/cover image that supplies the `/blog` card thumbnail, + social preview, and optional in-body rendering before the first paragraph. + Contains `url` (path to image), `alt` (alternative text; empty string `""` + for decorative images; required when `display` is `true`), optional `caption`, + and optional `display` (boolean; defaults to `true`). + Set `display: false` if you want the card thumbnail and social preview + without automatically rendering the image at the top of the post (for + example, if you prefer to place the image elsewhere in the body with + `` or omit in-body display). `socialImage` (optional) : Static image override (WebP or PNG under 5 MB) for social sharing metadata - when `image` is animated or exceeds 5 MB. + when `coverImage` is animated or exceeds 5 MB. ## Card and social images -`image` is optional in the data model but -recommended when suitable artwork exists. -It supplies the blog card image and social preview. -The body layout doesn't render `image` automatically. -If the hero image should appear in the post's body, -include it explicitly in the Markdown content with ``. +`coverImage` is optional but recommended when suitable artwork exists. +It supplies the default card image and social preview (unless overridden +by `socialImage`), and automatically renders at the top of the post body +when `display` is `true` (the default). +If `coverImage` is omitted, no image is rendered at the top of the post body, +and the `/blog` card displays without a thumbnail. + +To supply a card and social preview image without rendering it at the top +of the post, set `display: false`: + +```yaml +coverImage: + url: images/workflow.webp + display: false +``` + +You can then embed the image elsewhere in the article body using ``. Use post-local paths such as `images/hero.webp`. Prefer optimized WebP for new static raster artwork when quality permits. Don't upscale sources or commit unused variants. -Set `socialImage` when `image` is animated (such as a GIF), +Set `socialImage` when `coverImage` is animated (such as a GIF), larger than 5 MB, or otherwise unsuitable for social previews: ```yaml -image: images/animated-hero.gif +coverImage: + alt: "Animated hero diagram" + url: images/animated-hero.gif socialImage: images/social-cover.webp ``` @@ -96,7 +119,8 @@ Use a static WebP or PNG under 5 MB for `socialImage`. ### Images -Use `` for post-local figures, asset processing, or captions: +Hero images at the top of a post are defined using `coverImage` in frontmatter. +For images within the article body, use ``: ```markdown diff --git a/packages/site_shared/lib/blog.dart b/packages/site_shared/lib/blog.dart index 2e5def88d2c..2adfc50bd12 100644 --- a/packages/site_shared/lib/blog.dart +++ b/packages/site_shared/lib/blog.dart @@ -2,5 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +export 'components/blog/client/blog_categories.dart' show BlogCategory; export 'src/blog/atom_feed.dart'; export 'src/blog/models.dart'; diff --git a/packages/site_shared/lib/components/blog/blog_card.dart b/packages/site_shared/lib/components/blog/blog_card.dart index 73ae6ec4109..d86dc8dc357 100644 --- a/packages/site_shared/lib/components/blog/blog_card.dart +++ b/packages/site_shared/lib/components/blog/blog_card.dart @@ -36,7 +36,8 @@ class BlogCard extends StatelessComponent { div(classes: 'blog-card-image', [ img( src: postImage, - alt: post.title, + // The link already includes the post title below the image. + alt: '', loading: switch (priority) { .featured => MediaLoading.eager, .high => MediaLoading.lazy, diff --git a/packages/site_shared/lib/components/blog/blog_next_posts.dart b/packages/site_shared/lib/components/blog/blog_next_posts.dart index 78a640a03f5..a3076991bd0 100644 --- a/packages/site_shared/lib/components/blog/blog_next_posts.dart +++ b/packages/site_shared/lib/components/blog/blog_next_posts.dart @@ -10,7 +10,6 @@ import 'package:jaspr_content/jaspr_content.dart'; import '../../blog.dart'; import 'blog_card.dart'; import 'blog_index.dart'; -import 'client/blog_categories.dart'; class BlogNextPosts extends StatelessComponent { const BlogNextPosts({ diff --git a/packages/site_shared/lib/src/blog/models.dart b/packages/site_shared/lib/src/blog/models.dart index 69afa19d681..0544990d1d8 100644 --- a/packages/site_shared/lib/src/blog/models.dart +++ b/packages/site_shared/lib/src/blog/models.dart @@ -31,6 +31,48 @@ extension type Post(Map data) { ); } + if (data['coverImage'] case final coverData?) { + if (coverData is Map && coverData.isEmpty) { + // Treat an empty map as absent. + } else if (coverData is! Map || + coverData['url'] is! String || + (coverData['url'] as String).isEmpty) { + throw ArgumentError( + 'Invalid "coverImage" metadata$sourceDescription. ' + 'Must include a non-empty "url" string.', + ); + } else { + if (coverData['display'] != null && coverData['display'] is! bool) { + throw ArgumentError( + 'Invalid "display" in "coverImage" metadata$sourceDescription. ' + 'Must be a boolean if provided.', + ); + } + final display = coverData['display'] != false; + if (display && coverData['alt'] is! String) { + throw ArgumentError( + 'Invalid "coverImage" metadata$sourceDescription. ' + 'Must include an "alt" string when displayed ' + '(empty string for decorative).', + ); + } + if (!display && + coverData['alt'] != null && + coverData['alt'] is! String) { + throw ArgumentError( + 'Invalid "alt" in "coverImage" metadata$sourceDescription. ' + 'Must be a string if provided.', + ); + } + if (coverData['caption'] != null && coverData['caption'] is! String) { + throw ArgumentError( + 'Invalid "caption" in "coverImage" metadata$sourceDescription. ' + 'Must be a string if provided.', + ); + } + } + } + return post; } @@ -47,7 +89,15 @@ extension type Post(Map data) { String get title => data['title'] as String; String get description => data['description'] as String; + + /// The card image URL, derived from [coverImage] and + /// resolved by the page's data loaders. String? get image => data['image'] as String?; + CoverImage? get coverImage => switch (data['coverImage']) { + final Map coverImageData when coverImageData.isNotEmpty => + CoverImage(coverImageData), + _ => null, + }; String get publishDate => data['publishDate'] as String; DateTime get dateObject => DateTime.parse(publishDate); @@ -65,6 +115,13 @@ extension type Post(Map data) { String get category => data['category'] as String; } +extension type CoverImage(Map data) { + String get url => data['url'] as String; + String? get alt => data['alt'] as String?; + String? get caption => data['caption'] as String?; + bool get display => data['display'] != false; +} + extension type Author(Map data) { String get name => data['name'] as String; String? get image => data['image'] as String?; diff --git a/sites/www/content/blog/20-apps-in-20-days-with-flutter-and-antigravity/index.md b/sites/www/content/blog/20-apps-in-20-days-with-flutter-and-antigravity/index.md index 2a994a2bc71..7e5a97dc6f6 100644 --- a/sites/www/content/blog/20-apps-in-20-days-with-flutter-and-antigravity/index.md +++ b/sites/www/content/blog/20-apps-in-20-days-with-flutter-and-antigravity/index.md @@ -4,13 +4,14 @@ description: >- Why I stopped planning and started building. publishDate: 2026-03-05 author: lamek -image: images/18qm-mMi6Hod2jBw1_2nNEw.webp +coverImage: + alt: "" + caption: "Dash having fun building Flutter apps." + url: images/18qm-mMi6Hod2jBw1_2nNEw.webp category: case-study layout: blog --- - - Hi, I’m Kevin Lamenzo! I recently joined the Dart and Flutter teams (🎉), and this January I set out on a quest: build 20 apps in 20 days using Flutter and [Antigravity](https://antigravity.google/). But why? First, the cost of curiosity has officially hit zero. You can go from idea to app in 10 minutes. Second, as a new member of the team I wanted to learn about the framework by building something. Last, and most importantly, I wanted to test the theory that in 2026, we all can be builders now. I’m here to share what I learned from the trenches. If you take only one thing from this post, let it be this: stop reading, and go build something. diff --git a/sites/www/content/blog/2023-google-mobile-ads-updates-for-flutter/index.md b/sites/www/content/blog/2023-google-mobile-ads-updates-for-flutter/index.md index 76c7dcd228f..2804908b951 100644 --- a/sites/www/content/blog/2023-google-mobile-ads-updates-for-flutter/index.md +++ b/sites/www/content/blog/2023-google-mobile-ads-updates-for-flutter/index.md @@ -4,13 +4,13 @@ description: >- We added new GMA Flutter features based on your feedback! publishDate: 2023-05-10 author: timothyhoang -image: images/1PLQQUPqp_e0LmXTbAgb_iQ.webp +coverImage: + alt: "" + url: images/1PLQQUPqp_e0LmXTbAgb_iQ.webp category: news layout: blog --- - - As you build and grow your Flutter apps, you may want your apps to make money. You can monetize your apps in many ways. Introducing advertising would be one of the most common strategies. To introduce ads, you can use the [Google Mobile Ads](https://pub.dev/packages/google_mobile_ads) (GMA) Flutter plugin. The GMA plugin can place ads from AdMob, Google Ad Manager, or AdSense in your Flutter mobile app. Feature and tooling requests have grown in step with GMA Flutter plugin usage. Based on your Ad Manager and AdMob survey responses, the plugin now supports: diff --git a/sites/www/content/blog/a-roundup-of-flutter-news-at-google-i-o/index.md b/sites/www/content/blog/a-roundup-of-flutter-news-at-google-i-o/index.md index 318ad9f9790..8ec795374b1 100644 --- a/sites/www/content/blog/a-roundup-of-flutter-news-at-google-i-o/index.md +++ b/sites/www/content/blog/a-roundup-of-flutter-news-at-google-i-o/index.md @@ -5,7 +5,9 @@ description: >- across mobile, web, and desktop. publishDate: 2019-05-08 author: timsneath -image: images/13XedGb879lTK2vbCP0uscA.webp +coverImage: + url: images/13XedGb879lTK2vbCP0uscA.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/a2ui-client-side-functions/index.md b/sites/www/content/blog/a2ui-client-side-functions/index.md index ed77eea7802..d3edf750504 100644 --- a/sites/www/content/blog/a2ui-client-side-functions/index.md +++ b/sites/www/content/blog/a2ui-client-side-functions/index.md @@ -5,14 +5,15 @@ description: >- directly to Dart code running on a user's device. publishDate: 2026-08-28 author: redbrogdon -image: images/A2UI.gif +coverImage: + alt: "" + caption: "Learn how to use client-side functions" + url: images/A2UI.gif socialImage: images/A2UI_Still.png category: deep-dive layout: blog --- - - Generative UI (GenUI) is transforming how I approach UI development in Flutter. Instead of hardcoding fixed screens for every scenario, GenUI enables an AI agent to dynamically diff --git a/sites/www/content/blog/accessibility-in-flutter-on-the-web/index.md b/sites/www/content/blog/accessibility-in-flutter-on-the-web/index.md index 2b01c0fbf28..64180586090 100644 --- a/sites/www/content/blog/accessibility-in-flutter-on-the-web/index.md +++ b/sites/www/content/blog/accessibility-in-flutter-on-the-web/index.md @@ -5,7 +5,9 @@ description: >- accessible to users of assistive technologies publishDate: 2024-04-16 author: tomayac -image: images/0pF3_jPjWNcie3LH0.webp +coverImage: + url: images/0pF3_jPjWNcie3LH0.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/accessible-expression-with-material-icons-and-flutter/index.md b/sites/www/content/blog/accessible-expression-with-material-icons-and-flutter/index.md index 59417eb7ae7..0454a4ec305 100644 --- a/sites/www/content/blog/accessible-expression-with-material-icons-and-flutter/index.md +++ b/sites/www/content/blog/accessible-expression-with-material-icons-and-flutter/index.md @@ -5,7 +5,9 @@ description: >- build experiences that are flexible, accessible, and expressive publishDate: 2020-11-04 author: andremobilelabonte -image: images/1kcT41A5GvXp8XrjHjiuc4A.webp +coverImage: + url: images/1kcT41A5GvXp8XrjHjiuc4A.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/adapting-wonderous-to-larger-device-formats/index.md b/sites/www/content/blog/adapting-wonderous-to-larger-device-formats/index.md index d18d75567dc..eed7c82cdd1 100644 --- a/sites/www/content/blog/adapting-wonderous-to-larger-device-formats/index.md +++ b/sites/www/content/blog/adapting-wonderous-to-larger-device-formats/index.md @@ -5,7 +5,9 @@ description: >- look beautiful on all devices publishDate: 2023-01-25 author: leighajarett -image: images/1RA_cBWkp9GOQsK_H0-Dg8w.gif +coverImage: + url: images/1RA_cBWkp9GOQsK_H0-Dg8w.gif + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/all-the-flutter-news-from-a-busy-google-i-o-2024/index.md b/sites/www/content/blog/all-the-flutter-news-from-a-busy-google-i-o-2024/index.md index c167cefae31..80bbefcdfa7 100644 --- a/sites/www/content/blog/all-the-flutter-news-from-a-busy-google-i-o-2024/index.md +++ b/sites/www/content/blog/all-the-flutter-news-from-a-busy-google-i-o-2024/index.md @@ -5,7 +5,9 @@ description: >- success stories announced at Google I/O 2024 publishDate: 2024-05-30 author: mit-mit -image: images/1--DvqdXSA38rPuqMK5c0tQ.webp +coverImage: + url: images/1--DvqdXSA38rPuqMK5c0tQ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/android-dark-theme-in-flutter/index.md b/sites/www/content/blog/android-dark-theme-in-flutter/index.md index 412c4cdfb98..291bebd51af 100644 --- a/sites/www/content/blog/android-dark-theme-in-flutter/index.md +++ b/sites/www/content/blog/android-dark-theme-in-flutter/index.md @@ -5,13 +5,13 @@ description: >- respond to the system brightness setting. publishDate: 2019-05-15 author: matthew-carroll -image: images/1wogDV86zrS8BNYI-8Th-TA.jpeg +coverImage: + alt: "" + url: images/1wogDV86zrS8BNYI-8Th-TA.jpeg category: deep-dive layout: blog --- - - ## Android Dark Theme in Flutter A week ago at Google I/O 2019, the Android team [announced support in Android Q for Dark Theme](https://developer.android.com/preview/features/darktheme), a system-wide dark UI mode that is toggled by the user. This then begs the question, when will Flutter add support for this awesome new Android feature? Well, you might be surprised to find out that [Flutter added support for dark theme back in February](https://github.com/flutter/flutter/pull/26605)! Here’s how to use it. diff --git a/sites/www/content/blog/animation-deep-dive/index.md b/sites/www/content/blog/animation-deep-dive/index.md index 7d33af3227b..2b4955f4876 100644 --- a/sites/www/content/blog/animation-deep-dive/index.md +++ b/sites/www/content/blog/animation-deep-dive/index.md @@ -5,7 +5,9 @@ description: >- techniques from the Flutter Animations series. publishDate: 2020-04-17 author: filiph -image: images/14bIqmJ8DQLSnlFtkN6bjaA.webp +coverImage: + url: images/14bIqmJ8DQLSnlFtkN6bjaA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/animation-management-with-flutter-and-flux-redux/index.md b/sites/www/content/blog/animation-management-with-flutter-and-flux-redux/index.md index c872039c71f..f395cbe8e84 100644 --- a/sites/www/content/blog/animation-management-with-flutter-and-flux-redux/index.md +++ b/sites/www/content/blog/animation-management-with-flutter-and-flux-redux/index.md @@ -5,7 +5,9 @@ description: >- reactive view frameworks like Flutter publishDate: 2018-01-19 author: amir_h -image: images/10gdFpYTSo_TTCqd-XVcvYw.webp +coverImage: + url: images/10gdFpYTSo_TTCqd-XVcvYw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/announcing-adobe-xd-support-for-flutter/index.md b/sites/www/content/blog/announcing-adobe-xd-support-for-flutter/index.md index 90c61b58295..224be8c64a6 100644 --- a/sites/www/content/blog/announcing-adobe-xd-support-for-flutter/index.md +++ b/sites/www/content/blog/announcing-adobe-xd-support-for-flutter/index.md @@ -4,7 +4,9 @@ description: >- Create in XD and export to working Flutter code publishDate: 2020-05-13 author: timsneath -image: images/0N-K68XqE0DBUV0EK.webp +coverImage: + url: images/0N-K68XqE0DBUV0EK.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-codepen-support-for-flutter/index.md b/sites/www/content/blog/announcing-codepen-support-for-flutter/index.md index b979ccfb118..db9a18559b4 100644 --- a/sites/www/content/blog/announcing-codepen-support-for-flutter/index.md +++ b/sites/www/content/blog/announcing-codepen-support-for-flutter/index.md @@ -5,13 +5,13 @@ description: >- CodePen is adding support for Flutter publishDate: 2020-04-15 author: zoeyfan -image: images/06wPqdCz_TzB2gAXr.webp +coverImage: + alt: "" + url: images/06wPqdCz_TzB2gAXr.webp category: news layout: blog --- - - Today we’re excited to announce that [CodePen](https://codepen.io), the leading social development environment for millions of front-end developers and designers, is adding [support for Flutter](https://codepen.io/flutter)! For web developers CodePen has long been a great place for sharing design explorations, new techniques, and ideas. Now with the introduction of Flutter, CodePen enables a new audience to learn, share and promote their creativity. In the words of Alex Vazquez, one of the co-founders of CodePen: diff --git a/sites/www/content/blog/announcing-dart-null-safety-beta/index.md b/sites/www/content/blog/announcing-dart-null-safety-beta/index.md index 254d1e21a5c..b3c2a52b661 100644 --- a/sites/www/content/blog/announcing-dart-null-safety-beta/index.md +++ b/sites/www/content/blog/announcing-dart-null-safety-beta/index.md @@ -4,7 +4,9 @@ description: >- Beginning the journey to migrate packages to a sound, safer state publishDate: 2020-11-19 author: mit-mit -image: images/1kr-aQjGvnhY0JDCx1CGzRg.webp +coverImage: + url: images/1kr-aQjGvnhY0JDCx1CGzRg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-1-12-what-a-year/index.md b/sites/www/content/blog/announcing-flutter-1-12-what-a-year/index.md index 50736d1f2d4..ec7e1dd2a44 100644 --- a/sites/www/content/blog/announcing-flutter-1-12-what-a-year/index.md +++ b/sites/www/content/blog/announcing-flutter-1-12-what-a-year/index.md @@ -5,7 +5,9 @@ description: >- new tooling, and Dart 2.7. publishDate: 2019-12-11 author: csells -image: images/1sW6TueDcNzw806cjigLJaA.webp +coverImage: + url: images/1sW6TueDcNzw806cjigLJaA.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-1-17/index.md b/sites/www/content/blog/announcing-flutter-1-17/index.md index 7250fd7ebbb..73dff1bcce0 100644 --- a/sites/www/content/blog/announcing-flutter-1-17/index.md +++ b/sites/www/content/blog/announcing-flutter-1-17/index.md @@ -5,7 +5,9 @@ description: >- new Material components, new Network tracking tooling, and more! publishDate: 2020-05-06 author: csells -image: images/14MIF2GwByNG1MJ7DNslb3Q.webp +coverImage: + url: images/14MIF2GwByNG1MJ7DNslb3Q.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-1-20/index.md b/sites/www/content/blog/announcing-flutter-1-20/index.md index 0c82997975c..bd6e92d0c09 100644 --- a/sites/www/content/blog/announcing-flutter-1-20/index.md +++ b/sites/www/content/blog/announcing-flutter-1-20/index.md @@ -4,7 +4,9 @@ description: >- Performance improvements, mobile autofill, a new widget, and more! publishDate: 2020-08-05 author: csells -image: images/0Ve1UjCRej9MtX2kv.webp +coverImage: + url: images/0Ve1UjCRej9MtX2kv.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-1-22/index.md b/sites/www/content/blog/announcing-flutter-1-22/index.md index 0c9a999978c..1927ac9403f 100644 --- a/sites/www/content/blog/announcing-flutter-1-22/index.md +++ b/sites/www/content/blog/announcing-flutter-1-22/index.md @@ -5,7 +5,9 @@ description: >- Google Maps and WebView plugins ready for production, and much more! publishDate: 2020-10-01 author: csells -image: images/0luz0EiazQQqsAEC4.webp +coverImage: + url: images/0luz0EiazQQqsAEC4.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-1-5/index.md b/sites/www/content/blog/announcing-flutter-1-5/index.md index 708bcbf4451..ac9e1c9a3ee 100644 --- a/sites/www/content/blog/announcing-flutter-1-5/index.md +++ b/sites/www/content/blog/announcing-flutter-1-5/index.md @@ -6,7 +6,9 @@ description: >- our new stable build, Flutter 1.5 publishDate: 2019-05-07 author: csells -image: images/1udBMeDS6NNhlgbXYyHA_iA.webp +coverImage: + url: images/1udBMeDS6NNhlgbXYyHA_iA.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-1-7/index.md b/sites/www/content/blog/announcing-flutter-1-7/index.md index f6be04f05b2..3e97a772cdd 100644 --- a/sites/www/content/blog/announcing-flutter-1-7/index.md +++ b/sites/www/content/blog/announcing-flutter-1-7/index.md @@ -4,7 +4,9 @@ description: >- Continued refinement and polish for mobile platforms publishDate: 2019-07-09 author: timsneath -image: images/1PzRLnOtNMtoO59dPPz--hA.webp +coverImage: + url: images/1PzRLnOtNMtoO59dPPz--hA.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-2-2-at-google-i-o-2021/index.md b/sites/www/content/blog/announcing-flutter-2-2-at-google-i-o-2021/index.md index 4d9a2095a50..98c6ae993f1 100644 --- a/sites/www/content/blog/announcing-flutter-2-2-at-google-i-o-2021/index.md +++ b/sites/www/content/blog/announcing-flutter-2-2-at-google-i-o-2021/index.md @@ -4,7 +4,9 @@ description: >- Growing momentum for the leading UI toolkit for multiplatform development publishDate: 2021-05-18 author: timsneath -image: images/0NCBwYFewFf602uvF.webp +coverImage: + url: images/0NCBwYFewFf602uvF.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-2-8/index.md b/sites/www/content/blog/announcing-flutter-2-8/index.md index 667dd47639a..fa3645a84bf 100644 --- a/sites/www/content/blog/announcing-flutter-2-8/index.md +++ b/sites/www/content/blog/announcing-flutter-2-8/index.md @@ -4,7 +4,9 @@ description: >- A new release of Flutter: and a look back on a year of growth publishDate: 2021-12-08 author: timsneath -image: images/0_hVZ_qoWPxzQK3ws.webp +coverImage: + url: images/0_hVZ_qoWPxzQK3ws.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-3-24-and-dart-3-5/index.md b/sites/www/content/blog/announcing-flutter-3-24-and-dart-3-5/index.md index 716a4906faf..2869536d5a2 100644 --- a/sites/www/content/blog/announcing-flutter-3-24-and-dart-3-5/index.md +++ b/sites/www/content/blog/announcing-flutter-3-24-and-dart-3-5/index.md @@ -4,7 +4,9 @@ description: >- An early look at Flutter GPU, web enhancements, and more! publishDate: 2024-08-06 author: mit-mit -image: images/1jzRGig761LnPlvokq2FaVA.gif +coverImage: + url: images/1jzRGig761LnPlvokq2FaVA.gif + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-3-3-at-flutter-vikings/index.md b/sites/www/content/blog/announcing-flutter-3-3-at-flutter-vikings/index.md index cd8fb5d3ddd..0a5cb8ab904 100644 --- a/sites/www/content/blog/announcing-flutter-3-3-at-flutter-vikings/index.md +++ b/sites/www/content/blog/announcing-flutter-3-3-at-flutter-vikings/index.md @@ -5,7 +5,9 @@ description: >- work on improving rendering performance, and a note of farewell publishDate: 2022-08-30 author: timsneath -image: images/0bDz2chibrm3B6QZE.webp +coverImage: + url: images/0bDz2chibrm3B6QZE.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-3-38-dart-3-10-building-the-future-of-apps/index.md b/sites/www/content/blog/announcing-flutter-3-38-dart-3-10-building-the-future-of-apps/index.md index c3a43732eb0..f7f38c7141c 100644 --- a/sites/www/content/blog/announcing-flutter-3-38-dart-3-10-building-the-future-of-apps/index.md +++ b/sites/www/content/blog/announcing-flutter-3-38-dart-3-10-building-the-future-of-apps/index.md @@ -5,13 +5,13 @@ description: >- building faster, more capable multiplatform apps. publishDate: 2025-11-12 author: twerske -image: images/1DwdxTpj5OEQzUzyj4lq6_A.gif +coverImage: + alt: "" + url: images/1DwdxTpj5OEQzUzyj4lq6_A.gif category: release layout: blog --- - - ## Announcing Flutter 3.38 & Dart 3.10: Building the future of apps Hi, Flutter community! My name is Emma Twersky, and I am unbelievably excited to be your new lead for Flutter and Dart DevRel. I’m not just here to talk about new features; I’m here for this community. The number one reason I’m here is for the incredible culture we have. If you haven’t read it, check out [Flutter culture and how to preserve it](https://blog.flutter.dev/flutter-culture-and-how-to-preserve-it-436b4ed1031d). It’s all about being open, modest, and respectful, all while building fantastic cross-platform apps, and that’s what Flutter and Dart are all about. I’m so excited to be a part of this community, and I can’t wait to share all that we’re working on. diff --git a/sites/www/content/blog/announcing-flutter-ai-toolkit/index.md b/sites/www/content/blog/announcing-flutter-ai-toolkit/index.md index b680b881b19..61635d9aeff 100644 --- a/sites/www/content/blog/announcing-flutter-ai-toolkit/index.md +++ b/sites/www/content/blog/announcing-flutter-ai-toolkit/index.md @@ -4,7 +4,9 @@ description: >- Want AI chat in your Flutter app? This toolkit makes it easy. publishDate: 2024-12-17 author: antfitch -image: images/1u_atZ9LOO85MJMWdLFvxow.webp +coverImage: + url: images/1u_atZ9LOO85MJMWdLFvxow.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-beta-1-build-beautiful-native-apps/index.md b/sites/www/content/blog/announcing-flutter-beta-1-build-beautiful-native-apps/index.md index 5ed62038420..74289e4bcf1 100644 --- a/sites/www/content/blog/announcing-flutter-beta-1-build-beautiful-native-apps/index.md +++ b/sites/www/content/blog/announcing-flutter-beta-1-build-beautiful-native-apps/index.md @@ -5,7 +5,9 @@ description: >- we are excited to announce the first beta release of Flutter. publishDate: 2018-02-27 author: sethladd -image: images/1qo6Fo51uAmD3B3d6VfcbAQ.webp +coverImage: + url: images/1qo6Fo51uAmD3B3d6VfcbAQ.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-for-windows/index.md b/sites/www/content/blog/announcing-flutter-for-windows/index.md index fd8e6107daf..910effdbe6e 100644 --- a/sites/www/content/blog/announcing-flutter-for-windows/index.md +++ b/sites/www/content/blog/announcing-flutter-for-windows/index.md @@ -4,7 +4,9 @@ description: >- Build high-quality Windows apps that also run on mobile and web publishDate: 2022-02-03 author: timsneath -image: images/0LtCDFBQudFeDS_f6.jpg +coverImage: + url: images/0LtCDFBQudFeDS_f6.jpg + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-forward/index.md b/sites/www/content/blog/announcing-flutter-forward/index.md index 5d483ca2495..8bae275c7f5 100644 --- a/sites/www/content/blog/announcing-flutter-forward/index.md +++ b/sites/www/content/blog/announcing-flutter-forward/index.md @@ -4,13 +4,13 @@ description: >- Register for the next Flutter event, streaming live from Nairobi, Kenya publishDate: 2022-11-15 author: kkboateng -image: images/02u_pjVJlgpQw4XHy.webp +coverImage: + alt: "" + url: images/02u_pjVJlgpQw4XHy.webp category: news layout: blog --- - - Tune in for **Flutter Forward**, the next global Flutter event, streaming live from Nairobi, Kenya on January 25, 2023. [Registration is now open!](https://rsvp.withgoogle.com/events/flutter-forward-2022-virtual/forms/registration) diff --git a/sites/www/content/blog/announcing-flutter-linux-alpha-with-canonical/index.md b/sites/www/content/blog/announcing-flutter-linux-alpha-with-canonical/index.md index 22aaa6a2127..2294eb19b2f 100644 --- a/sites/www/content/blog/announcing-flutter-linux-alpha-with-canonical/index.md +++ b/sites/www/content/blog/announcing-flutter-linux-alpha-with-canonical/index.md @@ -5,7 +5,9 @@ description: >- Flutter apps on all Linux distros publishDate: 2020-07-08 author: csells -image: images/0uMT4fCQFO8VQwB0Q.webp +coverImage: + url: images/0uMT4fCQFO8VQwB0Q.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-release-preview-1/index.md b/sites/www/content/blog/announcing-flutter-release-preview-1/index.md index de382219542..d6926169ffa 100644 --- a/sites/www/content/blog/announcing-flutter-release-preview-1/index.md +++ b/sites/www/content/blog/announcing-flutter-release-preview-1/index.md @@ -4,7 +4,9 @@ description: >- Community momentum builds on the path to release publishDate: 2018-06-20 author: timsneath -image: images/1PEcgvfvQj4Gd1hFBBfCX_g.webp +coverImage: + url: images/1PEcgvfvQj4Gd1hFBBfCX_g.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-flutter-windows-alpha/index.md b/sites/www/content/blog/announcing-flutter-windows-alpha/index.md index ce6f276bc32..016272b1eaa 100644 --- a/sites/www/content/blog/announcing-flutter-windows-alpha/index.md +++ b/sites/www/content/blog/announcing-flutter-windows-alpha/index.md @@ -5,7 +5,9 @@ description: >- and a desktop-ready Flutter Gallery app publishDate: 2020-09-23 author: csells -image: images/039MKtw4ICepbL_8d.webp +coverImage: + url: images/039MKtw4ICepbL_8d.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-flutters-beta-2-release/index.md b/sites/www/content/blog/announcing-flutters-beta-2-release/index.md index 0dff4e5b106..6e57eef8acb 100644 --- a/sites/www/content/blog/announcing-flutters-beta-2-release/index.md +++ b/sites/www/content/blog/announcing-flutters-beta-2-release/index.md @@ -6,7 +6,9 @@ description: >- helps developers craft high-quality apps. publishDate: 2018-04-09 author: mit-mit -image: images/14DxDp03lkhJN3engJhXhWQ.webp +coverImage: + url: images/14DxDp03lkhJN3engJhXhWQ.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/announcing-general-availability-for-the-google-mobile-ads-sdk-for-flutter/index.md b/sites/www/content/blog/announcing-general-availability-for-the-google-mobile-ads-sdk-for-flutter/index.md index adf9f30c9e8..2fc19760e95 100644 --- a/sites/www/content/blog/announcing-general-availability-for-the-google-mobile-ads-sdk-for-flutter/index.md +++ b/sites/www/content/blog/announcing-general-availability-for-the-google-mobile-ads-sdk-for-flutter/index.md @@ -5,13 +5,13 @@ description: >- Google Mobile Ads SDK for Flutter and its app monetization features. publishDate: 2021-11-16 author: zoeyfan -image: images/0zOegrJCYTuapgWgf.webp +coverImage: + alt: "" + url: images/0zOegrJCYTuapgWgf.webp category: news layout: blog --- - - There are many ways for apps to make money: accepting payments as a storefront for a physical business; offering subscriptions or in-app purchases; or including ads directly in your application. Today, we are excited to announce the [Google Mobile Ads SDK for Flutter](https://pub.dev/packages/google_mobile_ads) is now generally available, after a six-month beta period. Great news for Flutter apps that require the presence of in-app ads! ## Supported Ads Formats diff --git a/sites/www/content/blog/announcing-our-new-dart-and-flutter-getting-started-experience/index.md b/sites/www/content/blog/announcing-our-new-dart-and-flutter-getting-started-experience/index.md index e1bc9ab4538..0d3c8544205 100644 --- a/sites/www/content/blog/announcing-our-new-dart-and-flutter-getting-started-experience/index.md +++ b/sites/www/content/blog/announcing-our-new-dart-and-flutter-getting-started-experience/index.md @@ -5,7 +5,9 @@ description: >- built to "Improve the lives of Dart and Flutter developers." publishDate: 2026-02-03 author: ericwindmill -image: images/1rHBScksI6g6at1HsqSuPhA.webp +coverImage: + url: images/1rHBScksI6g6at1HsqSuPhA.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-the-flutter-casual-games-toolkit/index.md b/sites/www/content/blog/announcing-the-flutter-casual-games-toolkit/index.md index fb660cd4d4b..10bb0364319 100644 --- a/sites/www/content/blog/announcing-the-flutter-casual-games-toolkit/index.md +++ b/sites/www/content/blog/announcing-the-flutter-casual-games-toolkit/index.md @@ -4,7 +4,9 @@ description: >- A starter kit of resources to help you get from concept to launch publishDate: 2022-05-12 author: zoeyfan -image: images/1rIXhQTkBae35i5YkSN8soQ.webp +coverImage: + url: images/1rIXhQTkBae35i5YkSN8soQ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/announcing-the-flutter-news-toolkit/index.md b/sites/www/content/blog/announcing-the-flutter-news-toolkit/index.md index 62d4d0e5521..ac66b5e6daa 100644 --- a/sites/www/content/blog/announcing-the-flutter-news-toolkit/index.md +++ b/sites/www/content/blog/announcing-the-flutter-news-toolkit/index.md @@ -4,13 +4,13 @@ description: >- An accelerated toolkit for building mobile apps for news and content publishDate: 2023-01-25 author: zoeyfan -image: images/0_Xb_zBUOvsH6CL9A.webp +coverImage: + alt: "" + url: images/0_Xb_zBUOvsH6CL9A.webp category: news layout: blog --- - - Google’s Flutter team has partnered closely with the [Google News Initiative (GNI)](https://newsinitiative.withgoogle.com/) in creating the [Flutter News Toolkit](https://github.com/flutter/news_toolkit) — a free, prebuilt Flutter app template — to accelerate news application development. Some early adopters have already built iOS and Android applications in as little as 6 weeks, claiming up to 80% time savings compared to traditional double-ended development on iOS and Android. Three months ago, we announced the Toolkit in an early access period and received an overwhelming number of applications from organizations across the world, so we’re excited to announce the first version of the Flutter News Toolkit is now generally available! diff --git a/sites/www/content/blog/announcing-the-flutter-puzzle-hack-winners/index.md b/sites/www/content/blog/announcing-the-flutter-puzzle-hack-winners/index.md index 9902985dbf1..148d6c2d6c7 100644 --- a/sites/www/content/blog/announcing-the-flutter-puzzle-hack-winners/index.md +++ b/sites/www/content/blog/announcing-the-flutter-puzzle-hack-winners/index.md @@ -4,13 +4,13 @@ description: >- Drumroll please…!!! publishDate: 2022-04-21 author: kkboateng -image: images/1RpaR1pTpRa0PUdNdfv4njA.webp +coverImage: + alt: "" + url: images/1RpaR1pTpRa0PUdNdfv4njA.webp category: news layout: blog --- - - The [Flutter Puzzle Hack](https://flutter.dev/events/puzzle-hack) asked participants to push their creativity to its limits by reimagining a classic slide puzzle. It’s safe to say the submissions blew the judges away! Over 5,500 developers representing 120+ countries, and a range of experience levels participated in the Flutter Puzzle Hack. Before sharing the category winners, we want to celebrate everyone who participated in the challenge. Yet again the Flutter community came together to build something special. We gathered for talks covering [animations](https://www.youtube.com/watch?v=9F6dxDDh9yk), [Firebase hosting](https://www.youtube.com/watch?v=kWjJ0aUq5L0), and [slide puzzle basics](https://www.youtube.com/watch?v=2jZn7ccre9g). And then it was great to see Flutter developers building an incredible array of slide puzzles, [sharing highlights along the way](https://twitter.com/roaakdm/status/1493614287515967492), and [voting for your favorites](https://flutterhack.devpost.com/project-gallery). Thank you all! diff --git a/sites/www/content/blog/announcing-the-flutter-puzzle-hack/index.md b/sites/www/content/blog/announcing-the-flutter-puzzle-hack/index.md index e999be0661f..392dd1c03e6 100644 --- a/sites/www/content/blog/announcing-the-flutter-puzzle-hack/index.md +++ b/sites/www/content/blog/announcing-the-flutter-puzzle-hack/index.md @@ -4,13 +4,14 @@ description: >- Push your creativity to its limits by reimagining this classic puzzle publishDate: 2022-01-06 author: kkboateng -image: images/1RpaR1pTpRa0PUdNdfv4njA.webp +coverImage: + alt: "" + caption: "Flutter Puzzle Hack logo" + url: images/1RpaR1pTpRa0PUdNdfv4njA.webp category: news layout: blog --- - - Ready to brush off the holiday cobwebs and try your hand at a fun coding project that will test your knowledge of Flutter? We’re excited to announce the Flutter Puzzle Hack, our latest challenge to see what *you* can do with Flutter and a chance to win one of over $50,000 worth of prizes. We’re asking you to develop the most creative yet solvable slide puzzle you can imagine, targeting Flutter on the web. Whether you create a new design, rebuild the puzzle from scratch, or integrate packages in new, interesting ways, we want to see just how far you can push your imagination. To get you started, we’ve written sample code that handles all of the puzzle logic. We’ve also curated loads of other documentation and resources to help you build a compelling submission, so whether you’re an experienced Flutter developer or you’re just joining the Flutter community after reading Flutter Apprentice, there’s something here for you! diff --git a/sites/www/content/blog/announcing-the-globalgamers-challenge/index.md b/sites/www/content/blog/announcing-the-globalgamers-challenge/index.md index b74552d4b03..1e39f331b7a 100644 --- a/sites/www/content/blog/announcing-the-globalgamers-challenge/index.md +++ b/sites/www/content/blog/announcing-the-globalgamers-challenge/index.md @@ -4,13 +4,13 @@ description: >- Build epic Flutter games to assist in the battle to defend the planet publishDate: 2024-01-09 author: kkboateng -image: images/0e6DUZrDIvURyxTW2.webp +coverImage: + alt: "" + url: images/0e6DUZrDIvURyxTW2.webp category: news layout: blog --- - - We know Flutter devs love a good [challenge](https://flutter.dev/events/puzzle-hack), so just in time for the new year, we’re excited to announce the next Flutter challenge! [The Global Gamers Challenge](https://flutter.dev/global-gamers) is an 8 week contest to design, build, and publish sustainable games, sponsored by Flutter and [Global Citizen](https://www.globalcitizen.org/en/). The contest’s winners will receive a trip to NYC in September 2024 to meet some of the Flutter team for a day of workshops and mentorship, and then celebrate their achievements with up to 60,000 other Global Citizens at Global Citizen Festival 2024. diff --git a/sites/www/content/blog/announcing-the-winners-of-the-global-gamers-challenge/index.md b/sites/www/content/blog/announcing-the-winners-of-the-global-gamers-challenge/index.md index 6e0e6f9cb36..839e846dd22 100644 --- a/sites/www/content/blog/announcing-the-winners-of-the-global-gamers-challenge/index.md +++ b/sites/www/content/blog/announcing-the-winners-of-the-global-gamers-challenge/index.md @@ -4,13 +4,13 @@ description: >- Our 10 top projects, and how to stay involved with sustainability games publishDate: 2024-05-14 author: kkboateng -image: images/0S_bBN0WiR_Q5F08J.webp +coverImage: + alt: "" + url: images/0S_bBN0WiR_Q5F08J.webp category: news layout: blog --- - - We asked the Flutter and Global Citizen communities to come together to build epic Flutter games that focused on helping the planet. Hundreds of innovative game projects were submitted by thousands of passionate developers spanning over 50 countries. Each project aimed to empower players with knowledge and actions that can protect our planet. From resource conservation to combating pollution, these games have raised our collective awareness of pressing environmental issues while being genuinely fun to play! We’re deeply inspired by the incredible ideas and passion of the entries. diff --git a/sites/www/content/blog/announcing-xd-to-flutter-v2-0/index.md b/sites/www/content/blog/announcing-xd-to-flutter-v2-0/index.md index 3aa9d8685e6..b27653e92c1 100644 --- a/sites/www/content/blog/announcing-xd-to-flutter-v2-0/index.md +++ b/sites/www/content/blog/announcing-xd-to-flutter-v2-0/index.md @@ -4,13 +4,13 @@ description: >- Giving designers a fast path to production Flutter code publishDate: 2021-04-29 author: gskinner -image: images/1OoVDCYfw18QB91Fpe5jDAg.webp +coverImage: + alt: "" + url: images/1OoVDCYfw18QB91Fpe5jDAg.webp category: news layout: blog --- - - Flutter is Google’s open-source UI toolkit for building beautiful apps for mobile, desktop, web, and embedded devices from a single codebase. Over the last couple of years, it has become the leading choice for developers who want to build apps for multiple platforms; but designers need a visual tool for prototyping and creating Flutter UI, rather than handcrafting Dart source code. Enter [*XD to Flutter*](https://github.com/AdobeXD/xd-to-flutter-plugin)! It’s been almost a year since the first preview release of the plugin, and we’ve continued to refine and improve it with a handful of minor updates, a major v1.0 launch last summer, and now a v2.0 release to match with the launch of Flutter 2! diff --git a/sites/www/content/blog/are-you-happy-with-flutter-q4-2020-user-survey-results/index.md b/sites/www/content/blog/are-you-happy-with-flutter-q4-2020-user-survey-results/index.md index 11e5c426f78..369b1147f2d 100644 --- a/sites/www/content/blog/are-you-happy-with-flutter-q4-2020-user-survey-results/index.md +++ b/sites/www/content/blog/are-you-happy-with-flutter-q4-2020-user-survey-results/index.md @@ -5,7 +5,9 @@ description: >- feedback on Flutter tools and workflows. publishDate: 2021-02-11 author: jayoung-lee -image: images/0hs9oiR_zpBhkzT9u.webp +coverImage: + url: images/0hs9oiR_zpBhkzT9u.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/beautiful-animated-charts-for-flutter/index.md b/sites/www/content/blog/beautiful-animated-charts-for-flutter/index.md index 53a27506fac..73fb25cc26d 100644 --- a/sites/www/content/blog/beautiful-animated-charts-for-flutter/index.md +++ b/sites/www/content/blog/beautiful-animated-charts-for-flutter/index.md @@ -5,7 +5,9 @@ description: >- fully-featured, animated charting library for Flutter! publishDate: 2018-03-23 author: mit-mit -image: images/1CB1OU6uH4SsgJUB2j962dg.webp +coverImage: + url: images/1CB1OU6uH4SsgJUB2j962dg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/best-practices-for-hosting-a-live-streaming-coding-session/index.md b/sites/www/content/blog/best-practices-for-hosting-a-live-streaming-coding-session/index.md index 6468cba17bf..8a09ef44494 100644 --- a/sites/www/content/blog/best-practices-for-hosting-a-live-streaming-coding-session/index.md +++ b/sites/www/content/blog/best-practices-for-hosting-a-live-streaming-coding-session/index.md @@ -5,13 +5,16 @@ description: >- improving live coding streams for developer communities. publishDate: 2019-10-28 author: yanchenum -image: images/05e8cSvZaG83--mC7.webp +coverImage: + alt: >- + A coding livestream showing Dart code, an Android emulator, viewer chat, + and the presenter's webcam. + caption: "(credit: [https://www.youtube.com/watch?v=YYP5lqgno4k](https://www.youtube.com/watch?v=YYP5lqgno4k))" + url: images/05e8cSvZaG83--mC7.webp category: deep-dive layout: blog --- - - Live streaming has become an emerging practice for knowledge sharing in developer communities, where developers broadcast their work to live audiences on streaming platforms such as YouTube. As a summer intern with Google’s Flutter team, I conducted an interview study to understand why and how developers share programming knowledge via live streaming. In this article, I would like to share some of the best practices I found for hosting a live streamed coding session, so that *you* can successfully create your own and share programming knowledge with your community. I would encourage anyone to try live streaming because not only can your livestream help others, but you, the streamer, can get real time feedback from your audience as well. ## Interviewing streamers and viewers diff --git a/sites/www/content/blog/best-practices-for-optimizing-flutter-web-loading-speed/index.md b/sites/www/content/blog/best-practices-for-optimizing-flutter-web-loading-speed/index.md index 25ac17eb587..6d946025ad2 100644 --- a/sites/www/content/blog/best-practices-for-optimizing-flutter-web-loading-speed/index.md +++ b/sites/www/content/blog/best-practices-for-optimizing-flutter-web-loading-speed/index.md @@ -5,7 +5,9 @@ description: >- improving the user experience. publishDate: 2024-05-06 author: mhclin113 -image: images/0_bz3_DRzn9aoB0qD.webp +coverImage: + url: images/0_bz3_DRzn9aoB0qD.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/bringing-flutter-to-the-web/index.md b/sites/www/content/blog/bringing-flutter-to-the-web/index.md index 818abb1398f..91258dd5eff 100644 --- a/sites/www/content/blog/bringing-flutter-to-the-web/index.md +++ b/sites/www/content/blog/bringing-flutter-to-the-web/index.md @@ -6,7 +6,9 @@ description: >- now supports the modern web! publishDate: 2019-05-07 author: kevmoo -image: images/1jQBkI-cZwOP_KAEnPhzDtg.webp +coverImage: + url: images/1jQBkI-cZwOP_KAEnPhzDtg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/build-reactive-mobile-apps-in-flutter-companion-article/index.md b/sites/www/content/blog/build-reactive-mobile-apps-in-flutter-companion-article/index.md index c5ee280e464..0e07b8266d1 100644 --- a/sites/www/content/blog/build-reactive-mobile-apps-in-flutter-companion-article/index.md +++ b/sites/www/content/blog/build-reactive-mobile-apps-in-flutter-companion-article/index.md @@ -5,7 +5,9 @@ description: >- reactive mobile apps and managing state in Flutter. publishDate: 2018-06-01 author: filiph -image: images/1DnixY5zJXnLe_x_eqSKkUA.webp +coverImage: + url: images/1DnixY5zJXnLe_x_eqSKkUA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/building-a-qr-code-widget-in-flutter/index.md b/sites/www/content/blog/building-a-qr-code-widget-in-flutter/index.md index 3f8127d6f93..7df5223f617 100644 --- a/sites/www/content/blog/building-a-qr-code-widget-in-flutter/index.md +++ b/sites/www/content/blog/building-a-qr-code-widget-in-flutter/index.md @@ -4,7 +4,9 @@ description: >- Making Flutter Widgets is fun so get going! publishDate: 2018-03-05 author: lukeaf -image: images/1iuOxHUF0bBlZtiktVx6XyA.webp +coverImage: + url: images/1iuOxHUF0bBlZtiktVx6XyA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/building-beautiful-flexible-user-interfaces-with-flutter-material-theming-and-official-material/index.md b/sites/www/content/blog/building-beautiful-flexible-user-interfaces-with-flutter-material-theming-and-official-material/index.md index f3d995910b7..c1c22bb214b 100644 --- a/sites/www/content/blog/building-beautiful-flexible-user-interfaces-with-flutter-material-theming-and-official-material/index.md +++ b/sites/www/content/blog/building-beautiful-flexible-user-interfaces-with-flutter-material-theming-and-official-material/index.md @@ -4,7 +4,9 @@ description: >- Build flexible, branded interfaces with Flutter and Material Theming. publishDate: 2018-05-10 author: mit-mit -image: images/1cyTGpzWuHqvYFGTV7uQyXA.webp +coverImage: + url: images/1cyTGpzWuHqvYFGTV7uQyXA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/building-multi-agent-dev-teams/index.md b/sites/www/content/blog/building-multi-agent-dev-teams/index.md index 1b644c9e553..3bfbdc67b61 100644 --- a/sites/www/content/blog/building-multi-agent-dev-teams/index.md +++ b/sites/www/content/blog/building-multi-agent-dev-teams/index.md @@ -5,13 +5,15 @@ description: >- libraries to idiomatic Dart packages using test-driven development. publishDate: 2026-08-20 author: redbrogdon -image: images/header.webp +coverImage: + alt: >- + A team of Dashes representing AI architects, testers, and coders + collaborate around a Dart code editor. + url: images/header.webp category: deep-dive layout: blog --- - - When I first began experimenting with AI coding assistants, I used a single agent for everything: architecting code, writing unit tests, and debugging stack traces. While this approach worked well for small tasks, diff --git a/sites/www/content/blog/building-performant-flutter-widgets/index.md b/sites/www/content/blog/building-performant-flutter-widgets/index.md index 16fd0a94902..2d8bf8ad888 100644 --- a/sites/www/content/blog/building-performant-flutter-widgets/index.md +++ b/sites/www/content/blog/building-performant-flutter-widgets/index.md @@ -5,7 +5,9 @@ description: >- building more performant Flutter widgets. publishDate: 2020-07-23 author: guidez -image: images/0GWFHSeCrjUgPdkJ-.webp +coverImage: + url: images/0GWFHSeCrjUgPdkJ-.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/building-your-next-casual-game-with-flutter/index.md b/sites/www/content/blog/building-your-next-casual-game-with-flutter/index.md index d862f9e501e..476138d205d 100644 --- a/sites/www/content/blog/building-your-next-casual-game-with-flutter/index.md +++ b/sites/www/content/blog/building-your-next-casual-game-with-flutter/index.md @@ -4,7 +4,9 @@ description: >- Free & open source multi-platform 2D game development in Flutter publishDate: 2023-11-15 author: zoeyfan -image: images/03DmGJe1yD4eKdnfs.webp +coverImage: + url: images/03DmGJe1yD4eKdnfs.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/celebrating-flutters-production-era/index.md b/sites/www/content/blog/celebrating-flutters-production-era/index.md index fb97d7faf4b..8ed6f62035d 100644 --- a/sites/www/content/blog/celebrating-flutters-production-era/index.md +++ b/sites/www/content/blog/celebrating-flutters-production-era/index.md @@ -5,7 +5,9 @@ description: >- explore the product updates announced at #FlutterInProduction. publishDate: 2024-12-17 author: mit-mit -image: images/1nlSy3ZCCbdUXFRH4Q1zstg.webp +coverImage: + url: images/1nlSy3ZCCbdUXFRH4Q1zstg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/come-meet-the-flutter-core-team-on-tour-in-2026/index.md b/sites/www/content/blog/come-meet-the-flutter-core-team-on-tour-in-2026/index.md index 8a097d21165..c4d9632a016 100644 --- a/sites/www/content/blog/come-meet-the-flutter-core-team-on-tour-in-2026/index.md +++ b/sites/www/content/blog/come-meet-the-flutter-core-team-on-tour-in-2026/index.md @@ -5,13 +5,14 @@ description: >- Google Cloud Next, Google I/O, and community events in 2026. publishDate: 2026-04-14 author: twerske -image: images/1UVUiBS4ceEJmWIt8w8IeTQ.webp +coverImage: + alt: "" + caption: "Upcoming events where you can meet members of the Flutter team" + url: images/1UVUiBS4ceEJmWIt8w8IeTQ.webp category: news layout: blog --- - - ## Come meet the Flutter core team on tour in 2026 The Flutter team has been hard at work preparing for Google Cloud Next and Google I/O this Spring. I strongly believe in the power of community, whether digital and online, or in-person and interactive. For Flutter, that means a truly global community and hundreds of thousands of developers around the world. Some of the most impactful moments of my career have come from those — community thrives in community-led events. diff --git a/sites/www/content/blog/creating-a-carousel-with-flutter/index.md b/sites/www/content/blog/creating-a-carousel-with-flutter/index.md index 8d62b9d9095..7a2cf252e02 100644 --- a/sites/www/content/blog/creating-a-carousel-with-flutter/index.md +++ b/sites/www/content/blog/creating-a-carousel-with-flutter/index.md @@ -5,13 +5,14 @@ description: >- calls for sliding, animated, background-image carousels. publishDate: 2018-04-09 author: ezra-sandzer-bell -image: images/0-y8UdKzHXj8SEouz.jpg +coverImage: + alt: "" + caption: "Creating Background Image Carousels with Flutter" + url: images/0-y8UdKzHXj8SEouz.jpg category: deep-dive layout: blog --- - - As a mobile developer, you may find yourself with a design that calls for sliding, animated, background-image carousels. In this article, I will review some of the existing documentation for implementing a carousel in Flutter, and fill you in on the information gaps so that you have everything you need to get started! If you are brand new to Flutter, please begin with the setup process: [https://flutter.io/get-started/](https://flutter.io/get-started/) diff --git a/sites/www/content/blog/cross-platform-development-with-flutter-how-google-classroom-gets-teachers-and-students-on-the/index.md b/sites/www/content/blog/cross-platform-development-with-flutter-how-google-classroom-gets-teachers-and-students-on-the/index.md index c136635bcba..49a926a5a18 100644 --- a/sites/www/content/blog/cross-platform-development-with-flutter-how-google-classroom-gets-teachers-and-students-on-the/index.md +++ b/sites/www/content/blog/cross-platform-development-with-flutter-how-google-classroom-gets-teachers-and-students-on-the/index.md @@ -5,7 +5,9 @@ description: >- deliver a consistent experience for teachers and students across platforms. publishDate: 2024-05-07 author: craiglabenz -image: images/1-u0y5vTqoC_sCyOHpvUnNA.webp +coverImage: + url: images/1-u0y5vTqoC_sCyOHpvUnNA.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/custom-implicit-animations-in-flutter-with-tweenanimationbuilder/index.md b/sites/www/content/blog/custom-implicit-animations-in-flutter-with-tweenanimationbuilder/index.md index 4487c884b6c..0bd846b86b1 100644 --- a/sites/www/content/blog/custom-implicit-animations-in-flutter-with-tweenanimationbuilder/index.md +++ b/sites/www/content/blog/custom-implicit-animations-in-flutter-with-tweenanimationbuilder/index.md @@ -6,7 +6,9 @@ description: >- How do you choose the right animation widget? publishDate: 2019-12-15 author: efortuna -image: images/1ZiMTAgg11y3BHH24bTt6Mg.gif +coverImage: + url: images/1ZiMTAgg11y3BHH24bTt6Mg.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/dart-flutter-devtools-extensions/index.md b/sites/www/content/blog/dart-flutter-devtools-extensions/index.md index 9975dbf42ae..e289f8908ca 100644 --- a/sites/www/content/blog/dart-flutter-devtools-extensions/index.md +++ b/sites/www/content/blog/dart-flutter-devtools-extensions/index.md @@ -4,7 +4,9 @@ description: >- A guide for building custom tooling in Dart & Flutter DevTools publishDate: 2023-11-15 author: kenzieschmoll -image: images/1JsdgKjxlVmm5EAFfXvQ2yA.webp +coverImage: + url: images/1JsdgKjxlVmm5EAFfXvQ2yA.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/dart-flutter-momentum-at-google-i-o-2025/index.md b/sites/www/content/blog/dart-flutter-momentum-at-google-i-o-2025/index.md index 090d342a349..111215ec035 100644 --- a/sites/www/content/blog/dart-flutter-momentum-at-google-i-o-2025/index.md +++ b/sites/www/content/blog/dart-flutter-momentum-at-google-i-o-2025/index.md @@ -5,7 +5,9 @@ description: >- including new releases, tools, and ecosystem momentum. publishDate: 2025-05-21 author: mit-mit -image: images/0XtA6olQqCpKPyrdO.webp +coverImage: + url: images/0XtA6olQqCpKPyrdO.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/dart-sound-null-safety-technical-preview-2/index.md b/sites/www/content/blog/dart-sound-null-safety-technical-preview-2/index.md index cb6b4789809..b918cb17b10 100644 --- a/sites/www/content/blog/dart-sound-null-safety-technical-preview-2/index.md +++ b/sites/www/content/blog/dart-sound-null-safety-technical-preview-2/index.md @@ -4,7 +4,9 @@ description: >- Announcing null-safe support for the Flutter framework publishDate: 2020-10-22 author: mit-mit -image: images/0FE-q5RdXwPgtRVE5.webp +coverImage: + url: images/0FE-q5RdXwPgtRVE5.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/decomposing-widgets-backdrop/index.md b/sites/www/content/blog/decomposing-widgets-backdrop/index.md index ad93cdff3e8..37684c050c1 100644 --- a/sites/www/content/blog/decomposing-widgets-backdrop/index.md +++ b/sites/www/content/blog/decomposing-widgets-backdrop/index.md @@ -5,7 +5,9 @@ description: >- examining how the Material Backdrop widget is built. publishDate: 2018-06-26 author: mjohnsullivan -image: images/1in7MRIAKfRn-qDgJKc9XVw.jpeg +coverImage: + url: images/1in7MRIAKfRn-qDgJKc9XVw.jpeg + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/decoupling-material-cupertino/index.md b/sites/www/content/blog/decoupling-material-cupertino/index.md index 95bbb08a655..45102f1ae2a 100644 --- a/sites/www/content/blog/decoupling-material-cupertino/index.md +++ b/sites/www/content/blog/decoupling-material-cupertino/index.md @@ -5,14 +5,15 @@ description: >- fixes and development of new features publishDate: 2026-09-09 author: craiglabenz -image: images/Flutter_CupertinoMaterial_Jenga_Low.gif +coverImage: + alt: >- + Dash removes blocks labeled Material UI and Cupertino UI from a tower. + url: images/Flutter_CupertinoMaterial_Jenga_Low.gif socialImage: images/FlutterJenga_Still_OptA.png category: news layout: blog --- - - Flutter has always been a "batteries included" framework with great tooling, design systems, animations, and more. But, batteries don't last forever, so it's very important to be able to replace them when needed. diff --git a/sites/www/content/blog/deprecation-lifetime-in-flutter/index.md b/sites/www/content/blog/deprecation-lifetime-in-flutter/index.md index 3a2d5799d0e..968a2e15891 100644 --- a/sites/www/content/blog/deprecation-lifetime-in-flutter/index.md +++ b/sites/www/content/blog/deprecation-lifetime-in-flutter/index.md @@ -4,7 +4,9 @@ description: >- Reliably removing deprecated code on a scheduled basis. publishDate: 2020-11-18 author: piinks -image: images/0n5eFBwWfgtkuLtDf.jpg +coverImage: + url: images/0n5eFBwWfgtkuLtDf.jpg + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/desktop-windowing-apis/index.md b/sites/www/content/blog/desktop-windowing-apis/index.md index 6a13e055751..f17002e1772 100644 --- a/sites/www/content/blog/desktop-windowing-apis/index.md +++ b/sites/www/content/blog/desktop-windowing-apis/index.md @@ -5,13 +5,15 @@ description: >- and write your first multi-window Flutter application. publishDate: 2026-08-24 author: mattkae -image: images/banner.gif +coverImage: + alt: >- + A Flutter desktop demo opens and closes separate windows and modal + dialogs. + url: images/banner.gif category: deep-dive layout: blog --- - - Flutter was originally released in 2018 with support for the two major mobile platforms: Android and iOS. Since then, Flutter has expanded its reach far beyond mobile, diff --git a/sites/www/content/blog/developing-flutter-apps-for-large-screens/index.md b/sites/www/content/blog/developing-flutter-apps-for-large-screens/index.md index 8a38849563f..22634f2f23e 100644 --- a/sites/www/content/blog/developing-flutter-apps-for-large-screens/index.md +++ b/sites/www/content/blog/developing-flutter-apps-for-large-screens/index.md @@ -4,7 +4,9 @@ description: >- How to optimize your Flutter app to meet Android's large screen requirements publishDate: 2023-09-26 author: mariam_hasnany -image: images/04I4h-v1nPuUbxBt4.webp +coverImage: + url: images/04I4h-v1nPuUbxBt4.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/directional-animations-with-built-in-explicit-animations/index.md b/sites/www/content/blog/directional-animations-with-built-in-explicit-animations/index.md index 1fd3d9389df..54d719a641c 100644 --- a/sites/www/content/blog/directional-animations-with-built-in-explicit-animations/index.md +++ b/sites/www/content/blog/directional-animations-with-built-in-explicit-animations/index.md @@ -5,7 +5,9 @@ description: >- Flutter's built-in explicit animation widgets. publishDate: 2020-01-10 author: fitzface -image: images/01xmX3Sfp_rLOAwwl.webp +coverImage: + url: images/01xmX3Sfp_rLOAwwl.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/do-flutter-apps-dream-of-platform-aware-widgets/index.md b/sites/www/content/blog/do-flutter-apps-dream-of-platform-aware-widgets/index.md index c468c419749..3fe2002ef1e 100644 --- a/sites/www/content/blog/do-flutter-apps-dream-of-platform-aware-widgets/index.md +++ b/sites/www/content/blog/do-flutter-apps-dream-of-platform-aware-widgets/index.md @@ -4,7 +4,9 @@ description: >- Agnostic layout with platform specific widgets publishDate: 2018-03-01 author: swavkulinski -image: images/1xgjvZHIs2PUHXRrn8COFRw.webp +coverImage: + url: images/1xgjvZHIs2PUHXRrn8COFRw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/does-flutter-boost-developer-productivity/index.md b/sites/www/content/blog/does-flutter-boost-developer-productivity/index.md index 2734ddb4d57..3f97a9e77aa 100644 --- a/sites/www/content/blog/does-flutter-boost-developer-productivity/index.md +++ b/sites/www/content/blog/does-flutter-boost-developer-productivity/index.md @@ -5,7 +5,9 @@ description: >- developer productivity and the tools and workflows that influence it. publishDate: 2022-05-05 author: jayoung-lee -image: images/0hjsh42RwSy9QAK1S.webp +coverImage: + url: images/0hjsh42RwSy9QAK1S.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/enums-with-extensions-dart/index.md b/sites/www/content/blog/enums-with-extensions-dart/index.md index 7d71327fa58..9e2d5997bcd 100644 --- a/sites/www/content/blog/enums-with-extensions-dart/index.md +++ b/sites/www/content/blog/enums-with-extensions-dart/index.md @@ -5,7 +5,9 @@ description: >- make enum-based code easier to read and maintain. publishDate: 2020-07-17 author: josealba -image: images/1j9632GFfT3IT7sfeiHUZtw.webp +coverImage: + url: images/1j9632GFfT3IT7sfeiHUZtw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/event-loop-in-widget-tester/index.md b/sites/www/content/blog/event-loop-in-widget-tester/index.md index 5ae9cca0a60..32bbeae99d1 100644 --- a/sites/www/content/blog/event-loop-in-widget-tester/index.md +++ b/sites/www/content/blog/event-loop-in-widget-tester/index.md @@ -5,7 +5,9 @@ description: >- Take a closer look at how they manage the event loop. publishDate: 2018-11-14 author: mehmetf -image: images/1ajiMVoQuEXYZ4IJzr-yOQQ.webp +coverImage: + url: images/1ajiMVoQuEXYZ4IJzr-yOQQ.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/executing-dart-in-the-background-with-flutter-plugins-and-geofencing/index.md b/sites/www/content/blog/executing-dart-in-the-background-with-flutter-plugins-and-geofencing/index.md index 10780c27716..b2fe9172293 100644 --- a/sites/www/content/blog/executing-dart-in-the-background-with-flutter-plugins-and-geofencing/index.md +++ b/sites/www/content/blog/executing-dart-in-the-background-with-flutter-plugins-and-geofencing/index.md @@ -4,13 +4,16 @@ description: >- Learn how Flutter plugins can run Dart code in the background on Android. publishDate: 2018-09-20 author: bkonyi -image: images/0ae_YppUn96m93qkT.webp +coverImage: + alt: >- + A Raspberry Pi connects through a relay to a wall-mounted garage door + control. + caption: "No garage door remote? Not a problem with Flutter and a Raspberry Pi!" + url: images/0ae_YppUn96m93qkT.webp category: deep-dive layout: blog --- - - ***04/11/2022***: *This article has been updated to replace broken links due to docs and plugins changing names or locations.* ***09/10/2020***: *This article has been updated to reflect the move to the v2 Android embedding API. Migration instructions for applications created pre-1.12 can be found [here](https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects), and [here](https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration) for plugins.* diff --git a/sites/www/content/blog/extreme-ui-adaptability-in-flutter-how-google-earth-supports-every-use-case-on-earth/index.md b/sites/www/content/blog/extreme-ui-adaptability-in-flutter-how-google-earth-supports-every-use-case-on-earth/index.md index e3d6edd573e..6e291b65eab 100644 --- a/sites/www/content/blog/extreme-ui-adaptability-in-flutter-how-google-earth-supports-every-use-case-on-earth/index.md +++ b/sites/www/content/blog/extreme-ui-adaptability-in-flutter-how-google-earth-supports-every-use-case-on-earth/index.md @@ -5,7 +5,9 @@ description: >- adapt its interface across phones, tablets, foldables, and the web. publishDate: 2024-02-07 author: craiglabenz -image: images/1RXf-GaJ4uz5_ZKU8QgIVkw.webp +coverImage: + url: images/1RXf-GaJ4uz5_ZKU8QgIVkw.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/firebase-crashlytics-and-the-flutter-casual-games-toolkit/index.md b/sites/www/content/blog/firebase-crashlytics-and-the-flutter-casual-games-toolkit/index.md index 125bae32ff3..33e7b211864 100644 --- a/sites/www/content/blog/firebase-crashlytics-and-the-flutter-casual-games-toolkit/index.md +++ b/sites/www/content/blog/firebase-crashlytics-and-the-flutter-casual-games-toolkit/index.md @@ -5,7 +5,9 @@ description: >- make detecting and fixing issues in your game easier publishDate: 2022-08-03 author: rich_hall -image: images/1B5i6MSUhz554dVTR484AuA.webp +coverImage: + url: images/1B5i6MSUhz554dVTR484AuA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-1-0-launch-wrap-up/index.md b/sites/www/content/blog/flutter-1-0-launch-wrap-up/index.md index c9c89312d95..e07d4e2260e 100644 --- a/sites/www/content/blog/flutter-1-0-launch-wrap-up/index.md +++ b/sites/www/content/blog/flutter-1-0-launch-wrap-up/index.md @@ -5,7 +5,9 @@ description: >- launch. publishDate: 2018-12-28 author: csells -image: images/14_hWh5hMP6F3W6DZ-6OK2Q.webp +coverImage: + url: images/14_hWh5hMP6F3W6DZ-6OK2Q.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/flutter-2023-q1-survey-api-breaking-changes-deep-linking-and-more/index.md b/sites/www/content/blog/flutter-2023-q1-survey-api-breaking-changes-deep-linking-and-more/index.md index 1541a19331d..36f00cab5ae 100644 --- a/sites/www/content/blog/flutter-2023-q1-survey-api-breaking-changes-deep-linking-and-more/index.md +++ b/sites/www/content/blog/flutter-2023-q1-survey-api-breaking-changes-deep-linking-and-more/index.md @@ -5,7 +5,9 @@ description: >- and other priorities for Flutter developers. publishDate: 2023-06-30 author: jayoung-lee -image: images/0BujM3j2SMg1qp3hi.webp +coverImage: + url: images/0BujM3j2SMg1qp3hi.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-2025-roadmap-update/index.md b/sites/www/content/blog/flutter-2025-roadmap-update/index.md index baa9de5f053..4cdcf66f8f9 100644 --- a/sites/www/content/blog/flutter-2025-roadmap-update/index.md +++ b/sites/www/content/blog/flutter-2025-roadmap-update/index.md @@ -5,7 +5,9 @@ description: >- the framework, tooling, platforms, and developer experience. publishDate: 2025-04-02 author: mit-mit -image: images/0sO8Aqa-_eHZ9jcZz.webp +coverImage: + url: images/0sO8Aqa-_eHZ9jcZz.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-and-dart-at-google-cloud-next/index.md b/sites/www/content/blog/flutter-and-dart-at-google-cloud-next/index.md index 5f0e357630b..e2edce8ccac 100644 --- a/sites/www/content/blog/flutter-and-dart-at-google-cloud-next/index.md +++ b/sites/www/content/blog/flutter-and-dart-at-google-cloud-next/index.md @@ -5,7 +5,9 @@ description: >- and community highlights from Google Cloud Next. publishDate: 2024-04-16 author: kkboateng -image: images/0mlHluTwnXfWI-Yzy.webp +coverImage: + url: images/0mlHluTwnXfWI-Yzy.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-and-desktop/index.md b/sites/www/content/blog/flutter-and-desktop/index.md index b104a3376d2..31a00ff3aba 100644 --- a/sites/www/content/blog/flutter-and-desktop/index.md +++ b/sites/www/content/blog/flutter-and-desktop/index.md @@ -4,7 +4,9 @@ description: >- Ongoing progress towards an ambient computing vision publishDate: 2020-06-17 author: timsneath -image: images/0OLMhLy7-b-4BisTc.webp +coverImage: + url: images/0OLMhLy7-b-4BisTc.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-animation-basics-with-implicit-animations/index.md b/sites/www/content/blog/flutter-animation-basics-with-implicit-animations/index.md index 8032207a012..a47d74f717b 100644 --- a/sites/www/content/blog/flutter-animation-basics-with-implicit-animations/index.md +++ b/sites/www/content/blog/flutter-animation-basics-with-implicit-animations/index.md @@ -5,7 +5,9 @@ description: >- how to add polished motion to your apps. publishDate: 2019-12-04 author: theaflowers -image: images/08lW_z0nxESDIBO9R.gif +coverImage: + url: images/08lW_z0nxESDIBO9R.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-codepen-challenge/index.md b/sites/www/content/blog/flutter-codepen-challenge/index.md index 4cb381fd5d1..bd2ceea6a29 100644 --- a/sites/www/content/blog/flutter-codepen-challenge/index.md +++ b/sites/www/content/blog/flutter-codepen-challenge/index.md @@ -4,13 +4,13 @@ description: >- Show your Flutter skills by building beautiful UIs on CodePen publishDate: 2020-07-01 author: anjannarain -image: images/0lBCX1cQ8WF56oRAq.webp +coverImage: + alt: "" + url: images/0lBCX1cQ8WF56oRAq.webp category: news layout: blog --- - - From the outset, one of our goals with Flutter was to enable developers to create beautiful user experiences. And every day the worldwide community amazes us with [countless apps and experiments](https://twitter.com/i/events/1275593667017834502?s=20) that showcase Flutter’s creative potential. Today, we’re pleased to partner with CodePen on a fun series of new challenges to let you show off your Flutter skills. CodePen is one of the top destinations on the internet for front-end developers to experiment, share, and iterate. Ever since we announced our [partnership with CodePen](https://flutter.dev/blog/announcing-codepen-support-for-flutter) in April, we’ve been amazed by the Flutter Pens you’ve created. And so we want to give you the opportunity to show off your amazing Flutter designs to CodePen’s community of over a million designers and coders. diff --git a/sites/www/content/blog/flutter-create-is-live-with-over-10-000-in-prizes/index.md b/sites/www/content/blog/flutter-create-is-live-with-over-10-000-in-prizes/index.md index 41e09cd9995..1cab2db9a3b 100644 --- a/sites/www/content/blog/flutter-create-is-live-with-over-10-000-in-prizes/index.md +++ b/sites/www/content/blog/flutter-create-is-live-with-over-10-000-in-prizes/index.md @@ -5,7 +5,9 @@ description: >- 5 KB or less for a chance to win prizes. publishDate: 2019-02-21 author: aguinis -image: images/1AyxOZQPLHstjafeVvwHbUg.webp +coverImage: + url: images/1AyxOZQPLHstjafeVvwHbUg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-culture-and-how-to-preserve-it/index.md b/sites/www/content/blog/flutter-culture-and-how-to-preserve-it/index.md index 80aa9740cb4..6127497d5ee 100644 --- a/sites/www/content/blog/flutter-culture-and-how-to-preserve-it/index.md +++ b/sites/www/content/blog/flutter-culture-and-how-to-preserve-it/index.md @@ -8,7 +8,9 @@ publishDate: 2019-06-07 author: - filiph - efortuna -image: images/1pI9tDcnxm87Vq1hX1Yzwpg.jpeg +coverImage: + url: images/1pI9tDcnxm87Vq1hX1Yzwpg.jpeg + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/flutter-darts-2026-roadmap/index.md b/sites/www/content/blog/flutter-darts-2026-roadmap/index.md index dcd36a14cd9..e29a2185f56 100644 --- a/sites/www/content/blog/flutter-darts-2026-roadmap/index.md +++ b/sites/www/content/blog/flutter-darts-2026-roadmap/index.md @@ -5,13 +5,13 @@ description: >- and today we're happy to share our roadmap for the next generation of apps. publishDate: 2026-02-24 author: twerske -image: images/1Nx4rPo-suELodUsEQqLFdQ.webp +coverImage: + alt: "" + url: images/1Nx4rPo-suELodUsEQqLFdQ.webp category: news layout: blog --- - - ## Flutter & Dart’s 2026 roadmap Transparency is a core goal of the Flutter open source project, and today we’re happy to share our roadmap for the next generation of apps. Our mission remains largely unchanged, we’re still working toward our long-term goal of creating the most popular, fastest growing, and highest-productivity multi-platform UI framework. You can check out the [**freshly updated roadmap on GitHub**](https://github.com/flutter/flutter/blob/master/docs/roadmap/Roadmap.md) for all the details, and in this post we will cover the themes driving our mission. diff --git a/sites/www/content/blog/flutter-dont-fear-the-garbage-collector/index.md b/sites/www/content/blog/flutter-dont-fear-the-garbage-collector/index.md index 269cd52b18b..157dea9d246 100644 --- a/sites/www/content/blog/flutter-dont-fear-the-garbage-collector/index.md +++ b/sites/www/content/blog/flutter-dont-fear-the-garbage-collector/index.md @@ -5,7 +5,9 @@ description: >- how allocation and collection affect app performance. publishDate: 2019-01-04 author: mjohnsullivan -image: images/1oVVba1QhXL1hUBKE9sfenw.webp +coverImage: + url: images/1oVVba1QhXL1hUBKE9sfenw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-for-web-early-adopter-program-now-open/index.md b/sites/www/content/blog/flutter-for-web-early-adopter-program-now-open/index.md index cdc5dee7a2f..375143160cd 100644 --- a/sites/www/content/blog/flutter-for-web-early-adopter-program-now-open/index.md +++ b/sites/www/content/blog/flutter-for-web-early-adopter-program-now-open/index.md @@ -4,7 +4,9 @@ description: >- Ready for active development of production-quality web apps publishDate: 2019-07-25 author: kevmoo -image: images/1HcggEjhP_Li6Tt7KIzB10g.webp +coverImage: + url: images/1HcggEjhP_Li6Tt7KIzB10g.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-hot-reload/index.md b/sites/www/content/blog/flutter-hot-reload/index.md index f5ea4f41410..3eabff7c528 100644 --- a/sites/www/content/blog/flutter-hot-reload/index.md +++ b/sites/www/content/blog/flutter-hot-reload/index.md @@ -4,7 +4,9 @@ description: >- What happens during a hot reload, and how we made it faster for Flutter 2.2. publishDate: 2021-08-19 author: jensjohansen -image: images/1iaLz5LEBdsZJRR_W8UCQcQ.webp +coverImage: + url: images/1iaLz5LEBdsZJRR_W8UCQcQ.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-in-2022-strategy-and-roadmap/index.md b/sites/www/content/blog/flutter-in-2022-strategy-and-roadmap/index.md index 715fe526445..bd353adf0d1 100644 --- a/sites/www/content/blog/flutter-in-2022-strategy-and-roadmap/index.md +++ b/sites/www/content/blog/flutter-in-2022-strategy-and-roadmap/index.md @@ -4,13 +4,13 @@ description: >- Areas of focus for Flutter as we build growth and momentum publishDate: 2022-02-09 author: timsneath -image: images/1_CcfyhAWUIV8pWwuvdoSPA.webp +coverImage: + alt: "" + url: images/1_CcfyhAWUIV8pWwuvdoSPA.webp category: news layout: blog --- - - ## Flutter in 2022: strategy and roadmap ### Areas of focus for Flutter as we build growth and momentum diff --git a/sites/www/content/blog/flutter-in-2023-strategy-and-roadmap/index.md b/sites/www/content/blog/flutter-in-2023-strategy-and-roadmap/index.md index 207d4691445..27632a67338 100644 --- a/sites/www/content/blog/flutter-in-2023-strategy-and-roadmap/index.md +++ b/sites/www/content/blog/flutter-in-2023-strategy-and-roadmap/index.md @@ -4,13 +4,13 @@ description: >- A guide to our strategy and areas of investment publishDate: 2023-03-30 author: timsneath -image: images/1OMkiWPCxgYijkAvNn-e3MA.webp +coverImage: + alt: "" + url: images/1OMkiWPCxgYijkAvNn-e3MA.webp category: news layout: blog --- - - As an open source project, we believe that we serve our customers best when we are transparent about our roadmap. For developers who adopt a technology like Flutter, it’s not enough for a product to merely offer a useful set of features. A dependency on Flutter is also a long-term commitment to maintain a skillset and codebase. For that reason, it’s important that we articulate a vision and direction that is compelling and realistic. We hope that sharing more about why we (Google) invest in Flutter will give you greater trust in our future and direction, and allow you to plan with better clarity as to how your investments might connect or supplement ours. diff --git a/sites/www/content/blog/flutter-live-what-to-expect-from-googles-event/index.md b/sites/www/content/blog/flutter-live-what-to-expect-from-googles-event/index.md index d6133123f5b..d01b7960302 100644 --- a/sites/www/content/blog/flutter-live-what-to-expect-from-googles-event/index.md +++ b/sites/www/content/blog/flutter-live-what-to-expect-from-googles-event/index.md @@ -5,7 +5,9 @@ description: >- is happening on December 4th. publishDate: 2018-12-02 author: csells -image: images/0MhKKsmIlYcORAT-q.webp +coverImage: + url: images/0MhKKsmIlYcORAT-q.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-on-raspberry-pi-mostly-from-scratch/index.md b/sites/www/content/blog/flutter-on-raspberry-pi-mostly-from-scratch/index.md index 61a264b9abf..136c37a2062 100644 --- a/sites/www/content/blog/flutter-on-raspberry-pi-mostly-from-scratch/index.md +++ b/sites/www/content/blog/flutter-on-raspberry-pi-mostly-from-scratch/index.md @@ -5,7 +5,9 @@ description: >- learn what it takes to support a new target. publishDate: 2018-11-30 author: chinmaygarde -image: images/1K1lyX_AOOILKyv3stAtlQg.jpeg +coverImage: + url: images/1K1lyX_AOOILKyv3stAtlQg.jpeg + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-on-the-web-slivers-and-platform-specific-issues-user-survey-results-from-q3-2020/index.md b/sites/www/content/blog/flutter-on-the-web-slivers-and-platform-specific-issues-user-survey-results-from-q3-2020/index.md index f1e1632517a..b1df870b3e8 100644 --- a/sites/www/content/blog/flutter-on-the-web-slivers-and-platform-specific-issues-user-survey-results-from-q3-2020/index.md +++ b/sites/www/content/blog/flutter-on-the-web-slivers-and-platform-specific-issues-user-survey-results-from-q3-2020/index.md @@ -5,7 +5,9 @@ description: >- Flutter web usage, slivers, and platform-specific development challenges. publishDate: 2020-10-20 author: jayoung-lee -image: images/0_CopRAy_n9COQGqR.webp +coverImage: + url: images/0_CopRAy_n9COQGqR.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-outline-hot-reload-and-the-implementation-of-a-live-widget-preview/index.md b/sites/www/content/blog/flutter-outline-hot-reload-and-the-implementation-of-a-live-widget-preview/index.md index 0bb0e12b649..5dfddf9e42c 100644 --- a/sites/www/content/blog/flutter-outline-hot-reload-and-the-implementation-of-a-live-widget-preview/index.md +++ b/sites/www/content/blog/flutter-outline-hot-reload-and-the-implementation-of-a-live-widget-preview/index.md @@ -5,7 +5,9 @@ description: >- a live widget preview in the IntelliJ plugin. publishDate: 2018-04-04 author: scheglov -image: images/0TUzb7DjU9HweZAAI.webp +coverImage: + url: images/0TUzb7DjU9HweZAAI.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-package-ecosystem-update/index.md b/sites/www/content/blog/flutter-package-ecosystem-update/index.md index ecc39ebc558..71ae72a04ff 100644 --- a/sites/www/content/blog/flutter-package-ecosystem-update/index.md +++ b/sites/www/content/blog/flutter-package-ecosystem-update/index.md @@ -5,7 +5,9 @@ description: >- into production publishDate: 2020-05-20 author: csells -image: images/0jAThFFycWDnklih_.webp +coverImage: + url: images/0jAThFFycWDnklih_.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-performance-updates-in-2019/index.md b/sites/www/content/blog/flutter-performance-updates-in-2019/index.md index 7c5ec93e05f..1475332dc8f 100644 --- a/sites/www/content/blog/flutter-performance-updates-in-2019/index.md +++ b/sites/www/content/blog/flutter-performance-updates-in-2019/index.md @@ -5,7 +5,9 @@ description: >- including rendering, memory, and app size optimizations. publishDate: 2020-07-31 author: sfshaza -image: images/1bWXPMmCXDmBWN7rZbxZcyg.webp +coverImage: + url: images/1bWXPMmCXDmBWN7rZbxZcyg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-performance-updates-in-the-first-half-of-2020/index.md b/sites/www/content/blog/flutter-performance-updates-in-the-first-half-of-2020/index.md index 4b6e9e3d56c..d5b4bc6410d 100644 --- a/sites/www/content/blog/flutter-performance-updates-in-the-first-half-of-2020/index.md +++ b/sites/www/content/blog/flutter-performance-updates-in-the-first-half-of-2020/index.md @@ -5,7 +5,9 @@ description: >- including improvements to speed, memory use, and tooling. publishDate: 2021-02-12 author: liyuqian -image: images/15WEbz38iKKh5EfCj55mGYw.webp +coverImage: + url: images/15WEbz38iKKh5EfCj55mGYw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-platform-channels/index.md b/sites/www/content/blog/flutter-platform-channels/index.md index b7ed96c17fd..f20b40339ca 100644 --- a/sites/www/content/blog/flutter-platform-channels/index.md +++ b/sites/www/content/blog/flutter-platform-channels/index.md @@ -4,7 +4,9 @@ description: >- "Nice UI. But how does Flutter deal with platform-specific APIs?" publishDate: 2018-08-28 author: mravn -image: images/1ykNghfAKtx0xsZWedfgslg.webp +coverImage: + url: images/1ykNghfAKtx0xsZWedfgslg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-q2-2026-survey/index.md b/sites/www/content/blog/flutter-q2-2026-survey/index.md index cf291c6bf19..f1303c3c94c 100644 --- a/sites/www/content/blog/flutter-q2-2026-survey/index.md +++ b/sites/www/content/blog/flutter-q2-2026-survey/index.md @@ -6,13 +6,13 @@ description: >- and updates on Cupertino widgets. publishDate: 2026-08-06 author: twerske -image: images/q2-survey-header.webp +coverImage: + alt: "" + url: images/q2-survey-header.webp category: news layout: blog --- - - The Flutter team has been running user surveys twice a year since Flutter's 1.0 release in 2018. The Q2 2026 survey ran from June 8 to June 22, diff --git a/sites/www/content/blog/flutter-q2-survey/index.md b/sites/www/content/blog/flutter-q2-survey/index.md index 6acbe776558..bc56f33f16f 100644 --- a/sites/www/content/blog/flutter-q2-survey/index.md +++ b/sites/www/content/blog/flutter-q2-survey/index.md @@ -5,13 +5,14 @@ description: >- end of day on Friday, June 19th. publishDate: 2026-06-15 author: sfshaza -image: images/1BVNfy8-YPsP5jHKuD3P-Cg.gif +coverImage: + alt: "" + caption: "Dash completes the Q2 Flutter survey!" + url: images/1BVNfy8-YPsP5jHKuD3P-Cg.gif category: news layout: blog --- - - ## Flutter Q2 survey Just a reminder! Please take the [Flutter Q2 survey](https://google.qualtrics.com/jfe/form/SV_3drKjSfjNeLZfq6?Source=Website)! The survey closes at the end of day on Friday, June 19th. diff --git a/sites/www/content/blog/flutter-spring-2020-update/index.md b/sites/www/content/blog/flutter-spring-2020-update/index.md index 6ac61aa73a1..fb27c7ddcbf 100644 --- a/sites/www/content/blog/flutter-spring-2020-update/index.md +++ b/sites/www/content/blog/flutter-spring-2020-update/index.md @@ -4,7 +4,9 @@ description: >- Continued momentum and enterprise growth, new release model publishDate: 2020-04-22 author: timsneath -image: images/0T39T7UB0oJVIQy_H.webp +coverImage: + url: images/0T39T7UB0oJVIQy_H.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-takes-the-stage-at-gdc/index.md b/sites/www/content/blog/flutter-takes-the-stage-at-gdc/index.md index d95d37ad484..131bbc72bc9 100644 --- a/sites/www/content/blog/flutter-takes-the-stage-at-gdc/index.md +++ b/sites/www/content/blog/flutter-takes-the-stage-at-gdc/index.md @@ -5,7 +5,9 @@ description: >- This week, Flutter made its debut at the Game Developers Conference (GDC)… publishDate: 2024-03-20 author: zoeyfan -image: images/0zVBJt_90TX8KEYoD.webp +coverImage: + url: images/0zVBJt_90TX8KEYoD.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-web-navigating-urls-using-named-routes/index.md b/sites/www/content/blog/flutter-web-navigating-urls-using-named-routes/index.md index d5266ca8f20..7f5af7dd772 100644 --- a/sites/www/content/blog/flutter-web-navigating-urls-using-named-routes/index.md +++ b/sites/www/content/blog/flutter-web-navigating-urls-using-named-routes/index.md @@ -6,7 +6,9 @@ description: >- but they also work for URLs in Flutter web apps. publishDate: 2020-03-30 author: perclasson -image: images/0Uoo0IGsUFUf8GJsT.webp +coverImage: + url: images/0Uoo0IGsUFUf8GJsT.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutter-web-support-hits-the-stable-milestone/index.md b/sites/www/content/blog/flutter-web-support-hits-the-stable-milestone/index.md index c1296e5886f..8d1f852dfbf 100644 --- a/sites/www/content/blog/flutter-web-support-hits-the-stable-milestone/index.md +++ b/sites/www/content/blog/flutter-web-support-hits-the-stable-milestone/index.md @@ -4,13 +4,13 @@ description: >- Publish to web and mobile from the same codebase publishDate: 2021-03-03 author: mariam_hasnany -image: images/1bbkcrsggiQLxNDRAgHiSBQ.webp +coverImage: + alt: "" + url: images/1bbkcrsggiQLxNDRAgHiSBQ.webp category: news layout: blog --- - - Our vision for Flutter is to be a portable UI framework for building beautiful app experiences on any platform. Today, as part of [Flutter 2](https://flutter.dev/blog/whats-new-in-flutter-2-0), we’re announcing that Flutter’s web support has hit the stable milestone. The first Flutter release supported iOS and Android, and has been used to bring over 150,000 apps to mobile app stores. Now, adding web support means that those same apps can reach an even broader audience, as well as opening up new ways to build interactive experiences on the web. diff --git a/sites/www/content/blog/flutter-web-support-updates/index.md b/sites/www/content/blog/flutter-web-support-updates/index.md index 71503ee7515..3bdbcdf52a7 100644 --- a/sites/www/content/blog/flutter-web-support-updates/index.md +++ b/sites/www/content/blog/flutter-web-support-updates/index.md @@ -4,7 +4,9 @@ description: >- PWAs, better debugging, and CanvasKit-based rendering publishDate: 2020-04-29 author: mariam_hasnany -image: images/1w9xtjSXgRDPcCtNJLYhzpQ.webp +coverImage: + url: images/1w9xtjSXgRDPcCtNJLYhzpQ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/flutter-whats-next-on-the-web/index.md b/sites/www/content/blog/flutter-whats-next-on-the-web/index.md index 55a1a60c5e5..3c7db3911ce 100644 --- a/sites/www/content/blog/flutter-whats-next-on-the-web/index.md +++ b/sites/www/content/blog/flutter-whats-next-on-the-web/index.md @@ -5,13 +5,13 @@ description: >- experience and web integration publishDate: 2021-09-14 author: mariam_hasnany -image: images/17iBUzC4UvwNi8agIsCrZ7w.webp +coverImage: + alt: "" + url: images/17iBUzC4UvwNi8agIsCrZ7w.webp category: news layout: blog --- - - Flutter’s web support [hit the stable milestone](https://flutter.dev/blog/flutter-web-support-hits-the-stable-milestone) in March 2021. So what’s next? According to our user research, the web is the target for over 10% of Flutter projects. So our focus is now on improving the quality of the initial stable release and enabling more of you to ship your Flutter web apps to production. diff --git a/sites/www/content/blog/flutters-ios-application-bundle/index.md b/sites/www/content/blog/flutters-ios-application-bundle/index.md index e15f1dcf158..93f27bedb8f 100644 --- a/sites/www/content/blog/flutters-ios-application-bundle/index.md +++ b/sites/www/content/blog/flutters-ios-application-bundle/index.md @@ -5,7 +5,9 @@ description: >- frameworks, and plugins into an iOS app bundle. publishDate: 2018-07-20 author: chinmaygarde -image: images/1xfvovQJT-5OsHBDBIQa92A.webp +coverImage: + url: images/1xfvovQJT-5OsHBDBIQa92A.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/flutters-material-and-cupertino-code-freeze/index.md b/sites/www/content/blog/flutters-material-and-cupertino-code-freeze/index.md index 1db1fa7da7f..3d9474d2aff 100644 --- a/sites/www/content/blog/flutters-material-and-cupertino-code-freeze/index.md +++ b/sites/www/content/blog/flutters-material-and-cupertino-code-freeze/index.md @@ -6,13 +6,14 @@ description: >- and now our first major milestone has arrived! publishDate: 2026-04-07 author: justinmc -image: images/1JN1_t6kPRkgGFVJyetZE0w.webp +coverImage: + alt: "" + caption: "Material and Cupertino libraries are frozen and will be moved from the Flutter framework to new packages" + url: images/1JN1_t6kPRkgGFVJyetZE0w.webp category: news layout: blog --- - - ## Flutter’s Material and Cupertino code freeze We’ve been hard at work preparing to decouple Material and Cupertino from the Framework, and now our first major milestone has arrived! As of April 7th, all contributions to the Material and Cupertino libraries in flutter/flutter are frozen. Our next milestone will be the re-release of these libraries as the [`material_ui`](https://pub.dev/packages/material_ui) and [`cupertino_ui`](https://pub.dev/packages/cupertino_ui) packages on pub.dev. diff --git a/sites/www/content/blog/flutters-multiplatform-value-for-agentic-development/index.md b/sites/www/content/blog/flutters-multiplatform-value-for-agentic-development/index.md index 005ce492281..6c9070ae21b 100644 --- a/sites/www/content/blog/flutters-multiplatform-value-for-agentic-development/index.md +++ b/sites/www/content/blog/flutters-multiplatform-value-for-agentic-development/index.md @@ -6,7 +6,9 @@ description: >- just a single, shared codebase. publishDate: 2026-05-18 author: mit-mit -image: images/1aotSzcGPZg3gYqhwDy4LWQ.webp +coverImage: + url: images/1aotSzcGPZg3gYqhwDy4LWQ.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/gemini-in-android-studio-now-speaks-fluent-flutter/index.md b/sites/www/content/blog/gemini-in-android-studio-now-speaks-fluent-flutter/index.md index 6eecd564977..8e2ddcdbf24 100644 --- a/sites/www/content/blog/gemini-in-android-studio-now-speaks-fluent-flutter/index.md +++ b/sites/www/content/blog/gemini-in-android-studio-now-speaks-fluent-flutter/index.md @@ -5,7 +5,9 @@ description: >- how it helps developers build, troubleshoot, and learn. publishDate: 2025-05-20 author: anderdobo -image: images/151UZbL3Qb7BGDEuujTTg6A.gif +coverImage: + url: images/151UZbL3Qb7BGDEuujTTg6A.gif + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/getting-started-with-flutter-gpu/index.md b/sites/www/content/blog/getting-started-with-flutter-gpu/index.md index 99272be62c4..305ccd66233 100644 --- a/sites/www/content/blog/getting-started-with-flutter-gpu/index.md +++ b/sites/www/content/blog/getting-started-with-flutter-gpu/index.md @@ -4,7 +4,9 @@ description: >- Build custom renderers and render 3D scenes in Flutter. publishDate: 2024-08-06 author: bdero -image: images/1jfeUgpEP9AgAz94yVxVW1g.webp +coverImage: + url: images/1jfeUgpEP9AgAz94yVxVW1g.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/getting-to-the-bottom-of-navigation-in-flutter/index.md b/sites/www/content/blog/getting-to-the-bottom-of-navigation-in-flutter/index.md index 8c5c532f6f7..439d18cd70a 100644 --- a/sites/www/content/blog/getting-to-the-bottom-of-navigation-in-flutter/index.md +++ b/sites/www/content/blog/getting-to-the-bottom-of-navigation-in-flutter/index.md @@ -6,7 +6,9 @@ description: >- Here's how to do it in Flutter. publishDate: 2019-06-27 author: hansmuller -image: images/1pzfLG6bpSs8KGe48AXZR_g.webp +coverImage: + url: images/1pzfLG6bpSs8KGe48AXZR_g.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/global-gamers-challenge-top-20-revealed/index.md b/sites/www/content/blog/global-gamers-challenge-top-20-revealed/index.md index b90226705dd..7205943c09f 100644 --- a/sites/www/content/blog/global-gamers-challenge-top-20-revealed/index.md +++ b/sites/www/content/blog/global-gamers-challenge-top-20-revealed/index.md @@ -6,13 +6,13 @@ description: >- progressing to the final round of judging. publishDate: 2024-04-04 author: kkboateng -image: images/03a0UYlMSfs-7N9fq.webp +coverImage: + alt: "" + url: images/03a0UYlMSfs-7N9fq.webp category: news layout: blog --- - - It’s been incredibly inspiring to see thousands of developers work together to develop epic games for the planet with Flutter and Dart over the last 9 weeks. Entries included RPGs, platformers, AI-powered, and more. Your creative ideas spanned continents, genres, formats, platforms, and even galaxies! Your creativity never fails to amaze us, so our panel of Flutter judges had some tough decisions to make as they evaluated hundreds of games from talented developers, designers, artists, and activists from every corner of the globe. Without further ado, here are the Top 20! diff --git a/sites/www/content/blog/going-deeper-with-flutters-web-support/index.md b/sites/www/content/blog/going-deeper-with-flutters-web-support/index.md index 10db733e706..6dd382c0017 100644 --- a/sites/www/content/blog/going-deeper-with-flutters-web-support/index.md +++ b/sites/www/content/blog/going-deeper-with-flutters-web-support/index.md @@ -4,7 +4,9 @@ description: >- Harnessing the full power of the web platform for app-centric experiences publishDate: 2020-07-29 author: mariam_hasnany -image: images/1dbcXXNRiMmMXxA1YsZYwcQ.webp +coverImage: + url: images/1dbcXXNRiMmMXxA1YsZYwcQ.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/google-hosting-flutter-live-on-dec-4-for-updates-on-new-way-to-build-mobile-apps/index.md b/sites/www/content/blog/google-hosting-flutter-live-on-dec-4-for-updates-on-new-way-to-build-mobile-apps/index.md index be4ac266e8e..1ef09e919d4 100644 --- a/sites/www/content/blog/google-hosting-flutter-live-on-dec-4-for-updates-on-new-way-to-build-mobile-apps/index.md +++ b/sites/www/content/blog/google-hosting-flutter-live-on-dec-4-for-updates-on-new-way-to-build-mobile-apps/index.md @@ -5,7 +5,9 @@ description: >- is happening on December 4th. publishDate: 2018-11-15 author: aguinis -image: images/1WCwp_dTUQuDPDQIa1PV3cA.jpeg +coverImage: + url: images/1WCwp_dTUQuDPDQIa1PV3cA.jpeg + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/google-i-o-spotlight-flutter-in-action-at-bytedance/index.md b/sites/www/content/blog/google-i-o-spotlight-flutter-in-action-at-bytedance/index.md index a2467bac737..92a9561d992 100644 --- a/sites/www/content/blog/google-i-o-spotlight-flutter-in-action-at-bytedance/index.md +++ b/sites/www/content/blog/google-i-o-spotlight-flutter-in-action-at-bytedance/index.md @@ -5,7 +5,9 @@ description: >- build and maintain applications across multiple platforms. publishDate: 2021-06-29 author: sfshaza -image: images/0s0fEzRKPUlPITzxE.webp +coverImage: + url: images/0s0fEzRKPUlPITzxE.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/google-maps-and-flutter/index.md b/sites/www/content/blog/google-maps-and-flutter/index.md index 18a039c9e87..4d53498931e 100644 --- a/sites/www/content/blog/google-maps-and-flutter/index.md +++ b/sites/www/content/blog/google-maps-and-flutter/index.md @@ -5,7 +5,9 @@ description: >- Flutter application. publishDate: 2018-12-14 author: kenzieschmoll -image: images/14dSyF9z9lAYvHVxFPS_oiw.webp +coverImage: + url: images/14dSyF9z9lAYvHVxFPS_oiw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/gsoc-21-creating-a-desktop-sample-for-flutter/index.md b/sites/www/content/blog/gsoc-21-creating-a-desktop-sample-for-flutter/index.md index 570ad9ce8ab..ef1652ded26 100644 --- a/sites/www/content/blog/gsoc-21-creating-a-desktop-sample-for-flutter/index.md +++ b/sites/www/content/blog/gsoc-21-creating-a-desktop-sample-for-flutter/index.md @@ -5,13 +5,13 @@ description: >- demonstrates Flutter desktop capabilities and best practices. publishDate: 2021-08-22 author: abd99 -image: images/1aRiqWvnUYD-cSbGhxTnUsw.jpeg +coverImage: + alt: "" + url: images/1aRiqWvnUYD-cSbGhxTnUsw.jpeg category: case-study layout: blog --- - - [Google Summer of Code](https://summerofcode.withgoogle.com/) (GSoC) is an open source, summer program sponsored by Google. During this program, students work on a project under the guidance of an open source organization. This was the second time that the Dart team participated as a mentoring organization in GSoC. Unfortunately, due to the unavailability of mentors, there weren’t any Flutter projects on the [ideas list](https://docs.google.com/document/d/1KfaTPPt6rqvgPD4kkZcsaehXC9FijcJ20V4J3FDLsRk/edit#) this year. Because it was my second time participating in GSoC, I contacted my mentor from last year, Brett, to see if working on a project would be possible. After a discussion with him and the org admin, I found a project to work on. diff --git a/sites/www/content/blog/hamilton-flare-design-challenge/index.md b/sites/www/content/blog/hamilton-flare-design-challenge/index.md index 5e931e96c4a..46e716911ca 100644 --- a/sites/www/content/blog/hamilton-flare-design-challenge/index.md +++ b/sites/www/content/blog/hamilton-flare-design-challenge/index.md @@ -5,7 +5,9 @@ description: >- create animations inspired by the Hamilton app. publishDate: 2019-07-18 author: aguinis -image: images/0wAn4IQgexh-pkr6K.webp +coverImage: + url: images/0wAn4IQgexh-pkr6K.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/handling-404-page-not-found-error-in-flutter/index.md b/sites/www/content/blog/handling-404-page-not-found-error-in-flutter/index.md index 9e833df495e..01c6c5a3fbb 100644 --- a/sites/www/content/blog/handling-404-page-not-found-error-in-flutter/index.md +++ b/sites/www/content/blog/handling-404-page-not-found-error-in-flutter/index.md @@ -5,13 +5,15 @@ description: >- in your Flutter web application. publishDate: 2020-06-10 author: josealba -image: images/1eU-430nepv8cz3OYLIycng.webp +coverImage: + alt: >- + Flutter's 404 page pairs a missing-page message with links to the + homepage, documentation, and other resources. + url: images/1eU-430nepv8cz3OYLIycng.webp category: deep-dive layout: blog --- - - Flutter has released web support that allows you to create dynamic websites. Flutter supports handling any error that might come from web usage such as 404 errors. But, how do you make a custom 404 page for your Flutter application? This article describes how to create custom pages that are shown anytime a user navigates to a page that doesn’t exist. diff --git a/sites/www/content/blog/handling-web-gestures-in-flutter/index.md b/sites/www/content/blog/handling-web-gestures-in-flutter/index.md index 63ddcb05a73..9a31dba9056 100644 --- a/sites/www/content/blog/handling-web-gestures-in-flutter/index.md +++ b/sites/www/content/blog/handling-web-gestures-in-flutter/index.md @@ -5,13 +5,15 @@ description: >- differ when building Flutter apps for the web. publishDate: 2020-09-21 author: josealba -image: images/1BzcKF4qdbLIFFB6XL8x-9A.webp +coverImage: + alt: >- + The Flutter Gallery home screen, with example apps and Material, + Cupertino, and style demos. + url: images/1BzcKF4qdbLIFFB6XL8x-9A.webp category: deep-dive layout: blog --- - - Flutter has released web support that allows you to create dynamic websites. With Flutter web, macOS, Linux, and Windows operating systems (even on mobile devices connected to a mouse, keyboard, or other peripherals), you now have access to platform-specific behaviors including focus support, keyboard input, custom mouse cursors, and hover input. But, how do you make use of these platform behaviors in Flutter? This article explains how to use the `FocusableActionDetector` widget, which handles keyboard input, focus input, hover input, and custom mouse cursors. diff --git a/sites/www/content/blog/harness-the-gemini-api-in-your-dart-and-flutter-apps/index.md b/sites/www/content/blog/harness-the-gemini-api-in-your-dart-and-flutter-apps/index.md index 599f116f273..a457a6087bd 100644 --- a/sites/www/content/blog/harness-the-gemini-api-in-your-dart-and-flutter-apps/index.md +++ b/sites/www/content/blog/harness-the-gemini-api-in-your-dart-and-flutter-apps/index.md @@ -4,7 +4,9 @@ description: >- Introducing the Google AI Dart SDK publishDate: 2024-02-15 author: anderdobo -image: images/1-KkJmzvv3jNhh88TWxIBJg.webp +coverImage: + url: images/1-KkJmzvv3jNhh88TWxIBJg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-can-we-improve-the-flutter-experience-for-desktop/index.md b/sites/www/content/blog/how-can-we-improve-the-flutter-experience-for-desktop/index.md index a35cb922898..18e00c99561 100644 --- a/sites/www/content/blog/how-can-we-improve-the-flutter-experience-for-desktop/index.md +++ b/sites/www/content/blog/how-can-we-improve-the-flutter-experience-for-desktop/index.md @@ -5,7 +5,9 @@ description: >- Hoover and Chris Bracken publishDate: 2022-12-12 author: melyndahoover -image: images/1VbmSF-liAOyeParju2Y4kw.webp +coverImage: + url: images/1VbmSF-liAOyeParju2Y4kw.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/how-dart-and-flutter-are-thinking-about-ai-in-2026/index.md b/sites/www/content/blog/how-dart-and-flutter-are-thinking-about-ai-in-2026/index.md index 80a514939d4..47a5957eca1 100644 --- a/sites/www/content/blog/how-dart-and-flutter-are-thinking-about-ai-in-2026/index.md +++ b/sites/www/content/blog/how-dart-and-flutter-are-thinking-about-ai-in-2026/index.md @@ -5,13 +5,14 @@ description: >- how our teams approach Dart and Flutter + AI in 2026. publishDate: 2026-04-01 author: mariam_hasnany -image: images/1acnlJyV5J3HU4jFbo2LQog.gif +coverImage: + alt: "" + caption: "Dash imagines the future" + url: images/1acnlJyV5J3HU4jFbo2LQog.gif category: news layout: blog --- - - Last month, we published [Flutter and Dart’s 2026 Roadmap](https://blog.flutter.dev/flutter-darts-2026-roadmap-89378f17ebbd), a peek into how our teams are approaching our core mission: Building the most popular, fastest growing, and highest-productivity multi-platform UI framework. But it’s impossible to talk about development in 2026 without acknowledging AI. To meet this moment, today we are sharing our data-driven and honest thoughts on *how* our teams approach Dart and Flutter + AI in 2026. This post is intended to be less of a roadmap and more of a collection of thoughts guiding our strategy. Transparency is a core pillar of Flutter, and as an open source project, we believe in the value of experimentation in public. Interpret this as a snapshot of how we’re thinking about AI today; we value your input and feedback but we also recognize that, in this rapidly shifting environment, strategy and approach may change as models, tools, and their use evolve. diff --git a/sites/www/content/blog/how-flutter-facilitates-collaboration-between-designers-and-developers-at-l-r/index.md b/sites/www/content/blog/how-flutter-facilitates-collaboration-between-designers-and-developers-at-l-r/index.md index a2c39094b8a..6241bd4c6c1 100644 --- a/sites/www/content/blog/how-flutter-facilitates-collaboration-between-designers-and-developers-at-l-r/index.md +++ b/sites/www/content/blog/how-flutter-facilitates-collaboration-between-designers-and-developers-at-l-r/index.md @@ -5,7 +5,9 @@ description: >- designers and developers while building a Global Citizen app. publishDate: 2024-02-19 author: ivan -image: images/0dv6mhmjDb4HP59LA.webp +coverImage: + url: images/0dv6mhmjDb4HP59LA.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/how-flutter-stays-ahead-of-ios-releases/index.md b/sites/www/content/blog/how-flutter-stays-ahead-of-ios-releases/index.md index 00bfe8ae37b..f4c1554b464 100644 --- a/sites/www/content/blog/how-flutter-stays-ahead-of-ios-releases/index.md +++ b/sites/www/content/blog/how-flutter-stays-ahead-of-ios-releases/index.md @@ -7,13 +7,14 @@ publishDate: 2026-08-25 author: - craiglabenz - louisehsu -image: images/banner.jpg +coverImage: + alt: "" + caption: "Dash watching WWDC 2026" + url: images/banner.jpg category: deep-dive layout: blog --- - - As a Flutter developer, your relationship with each of Flutter's six primary supported platforms can vary (to say nothing of the extended universe platforms, like webOS). For the platform running the phone in your pocket, diff --git a/sites/www/content/blog/how-ibm-is-creating-a-flutter-center-of-excellence/index.md b/sites/www/content/blog/how-ibm-is-creating-a-flutter-center-of-excellence/index.md index f2c06b6a0a8..3d6cac4391b 100644 --- a/sites/www/content/blog/how-ibm-is-creating-a-flutter-center-of-excellence/index.md +++ b/sites/www/content/blog/how-ibm-is-creating-a-flutter-center-of-excellence/index.md @@ -4,7 +4,9 @@ description: >- Learn why and how IBM makes their clients successful with Flutter publishDate: 2023-09-13 author: jjmutter -image: images/1YqawQ_2If_xPlvIbC0mj3g.webp +coverImage: + url: images/1YqawQ_2If_xPlvIbC0mj3g.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/how-its-made-holobooth/index.md b/sites/www/content/blog/how-its-made-holobooth/index.md index ab1425d31d3..453d5ff16e6 100644 --- a/sites/www/content/blog/how-its-made-holobooth/index.md +++ b/sites/www/content/blog/how-its-made-holobooth/index.md @@ -4,7 +4,9 @@ description: >- A virtual photo booth experience showcasing Flutter and Machine Learning publishDate: 2023-01-24 author: verygoodopensource -image: images/18zOCQg2Qwh_dzC4ndMzoqg.webp +coverImage: + url: images/18zOCQg2Qwh_dzC4ndMzoqg.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/how-its-made-i-o-flip/index.md b/sites/www/content/blog/how-its-made-i-o-flip/index.md index db67346bb97..bd0ea35985a 100644 --- a/sites/www/content/blog/how-its-made-i-o-flip/index.md +++ b/sites/www/content/blog/how-its-made-i-o-flip/index.md @@ -5,13 +5,13 @@ description: >- Flutter, Firebase, and Google Cloud publishDate: 2023-05-18 author: verygoodopensource -image: images/1nGcHw9zmkDT1oGhYwuZMqA.jpeg +coverImage: + alt: "" + url: images/1nGcHw9zmkDT1oGhYwuZMqA.jpeg category: case-study layout: blog --- - - ## How It’s Made: I/O FLIP ### AI-generated text and images add some fun to this card game built with Flutter, Firebase, and Google Cloud diff --git a/sites/www/content/blog/how-its-made-i-o-photo-booth/index.md b/sites/www/content/blog/how-its-made-i-o-photo-booth/index.md index b314eb77d77..abd6576e611 100644 --- a/sites/www/content/blog/how-its-made-i-o-photo-booth/index.md +++ b/sites/www/content/blog/how-its-made-i-o-photo-booth/index.md @@ -4,13 +4,13 @@ description: >- A closer look at building a web app with Flutter and Firebase publishDate: 2021-05-17 author: verygoodopensource -image: images/0diM5YKjX2b2OgNvD.webp +coverImage: + alt: "" + url: images/0diM5YKjX2b2OgNvD.webp category: case-study layout: blog --- - - We (the folks at Very Good Ventures) teamed up with Google to bring an interactive experience to this year’s Google I/O: a [photo booth](https://photobooth.flutter.dev/)! You can take pictures with well-known Google mascots: [Flutter’s Dash](https://flutter.dev/dash), Android Jetpack, Chrome’s Dino, and Firebase’s Sparky, and decorate photos with stickers, including party hats, pizza, funky glasses, and more. Finally, you can share photos on social media and download them to update your profile picture for the event! diff --git a/sites/www/content/blog/how-to-build-your-own-flutter-slide-puzzle/index.md b/sites/www/content/blog/how-to-build-your-own-flutter-slide-puzzle/index.md index aad49effce2..5e2f4e5f89e 100644 --- a/sites/www/content/blog/how-to-build-your-own-flutter-slide-puzzle/index.md +++ b/sites/www/content/blog/how-to-build-your-own-flutter-slide-puzzle/index.md @@ -5,13 +5,13 @@ description: >- are already thinking of how to push your creativity to new limits. publishDate: 2022-01-20 author: verygoodopensource -image: images/1r5DaUW3Cdoad6GQBwWIh3Q.webp +coverImage: + alt: "" + url: images/1r5DaUW3Cdoad6GQBwWIh3Q.webp category: deep-dive layout: blog --- - - By now you’ve probably read through the [Flutter Puzzle Hack](https://flutterhack.devpost.com/) challenge and are already thinking of how to push your creativity to new limits. We’re here to give you some more info about how the sample codebase is structured and give you some ideas for creating your contest submission. ## Slide puzzle architecture diff --git a/sites/www/content/blog/how-to-choose-which-flutter-animation-widget-is-right-for-you/index.md b/sites/www/content/blog/how-to-choose-which-flutter-animation-widget-is-right-for-you/index.md index 7c5b2a2f253..1d0e6b2f251 100644 --- a/sites/www/content/blog/how-to-choose-which-flutter-animation-widget-is-right-for-you/index.md +++ b/sites/www/content/blog/how-to-choose-which-flutter-animation-widget-is-right-for-you/index.md @@ -4,7 +4,9 @@ description: >- There are many widgets for animations, but which one to use? publishDate: 2020-04-01 author: fitzface -image: images/0oiCAPHSQGyFgZlUd.webp +coverImage: + url: images/0oiCAPHSQGyFgZlUd.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-to-create-stateless-widgets/index.md b/sites/www/content/blog/how-to-create-stateless-widgets/index.md index 282eb642819..eb7b9fd630c 100644 --- a/sites/www/content/blog/how-to-create-stateless-widgets/index.md +++ b/sites/www/content/blog/how-to-create-stateless-widgets/index.md @@ -5,7 +5,9 @@ description: >- one of the first things you need to learn about is stateless widgets. publishDate: 2019-02-14 author: aguinis -image: images/0GoTVv7PbwxvjCh4S.webp +coverImage: + url: images/0GoTVv7PbwxvjCh4S.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-to-debug-layout-issues-with-the-flutter-inspector/index.md b/sites/www/content/blog/how-to-debug-layout-issues-with-the-flutter-inspector/index.md index ccf05c459be..f76a807ff30 100644 --- a/sites/www/content/blog/how-to-debug-layout-issues-with-the-flutter-inspector/index.md +++ b/sites/www/content/blog/how-to-debug-layout-issues-with-the-flutter-inspector/index.md @@ -4,7 +4,9 @@ description: >- Exploring why they occur and how to solve them publishDate: 2020-07-27 author: ktjlee -image: images/1oWDuoKe1gCDL5UPrQUwePg.webp +coverImage: + url: images/1oWDuoKe1gCDL5UPrQUwePg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-to-embed-a-flutter-application-in-a-website-using-dartpad/index.md b/sites/www/content/blog/how-to-embed-a-flutter-application-in-a-website-using-dartpad/index.md index 0ce8c24dd64..72af18b6fbc 100644 --- a/sites/www/content/blog/how-to-embed-a-flutter-application-in-a-website-using-dartpad/index.md +++ b/sites/www/content/blog/how-to-embed-a-flutter-application-in-a-website-using-dartpad/index.md @@ -5,7 +5,9 @@ description: >- This is now easy to do with Flutter. publishDate: 2020-03-23 author: josealba -image: images/0u979IALi6tiDee8O.webp +coverImage: + url: images/0u979IALi6tiDee8O.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-to-float-an-overlay-widget-over-a-possibly-transformed-ui-widget/index.md b/sites/www/content/blog/how-to-float-an-overlay-widget-over-a-possibly-transformed-ui-widget/index.md index f437c983d86..618eb6681f8 100644 --- a/sites/www/content/blog/how-to-float-an-overlay-widget-over-a-possibly-transformed-ui-widget/index.md +++ b/sites/www/content/blog/how-to-float-an-overlay-widget-over-a-possibly-transformed-ui-widget/index.md @@ -5,7 +5,9 @@ description: >- you want to overlay a floating widget on top of that widget. publishDate: 2020-03-02 author: josealba -image: images/0FB5HpEeEvZ6NjJXl.webp +coverImage: + url: images/0FB5HpEeEvZ6NjJXl.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-to-watch-flutter-at-google-i-o-2018/index.md b/sites/www/content/blog/how-to-watch-flutter-at-google-i-o-2018/index.md index ffeb6bd9874..ee2f563114f 100644 --- a/sites/www/content/blog/how-to-watch-flutter-at-google-i-o-2018/index.md +++ b/sites/www/content/blog/how-to-watch-flutter-at-google-i-o-2018/index.md @@ -5,13 +5,13 @@ description: >- showing up in style at the event. publishDate: 2018-05-01 author: aguinis -image: images/1dArkoJSnhvcjZ6p4ds63BA.webp +coverImage: + alt: "" + url: images/1dArkoJSnhvcjZ6p4ds63BA.webp category: news layout: blog --- - - Google I/O 2018 is just a week away, and Flutter will be showing up in style at the event, with sessions, codelabs, office hours, an interactive sandbox space, and more. This is how to stay up to date with all-things Flutter from May 8–10th regardless of where you’ll be. To see the various Flutter-related sessions, visit [https://google.com/io/](https://events.google.com/io/) where you will be able to view each of the following talks online, both live and on-demand: diff --git a/sites/www/content/blog/how-to-write-a-flutter-web-plugin-part-2/index.md b/sites/www/content/blog/how-to-write-a-flutter-web-plugin-part-2/index.md index bfb88ee09ed..5bfa0174c6f 100644 --- a/sites/www/content/blog/how-to-write-a-flutter-web-plugin-part-2/index.md +++ b/sites/www/content/blog/how-to-write-a-flutter-web-plugin-part-2/index.md @@ -4,7 +4,9 @@ description: >- A guide for writing modern Flutter Web plugins publishDate: 2020-02-13 author: harryterkelsen -image: images/1jLlh4b9zQ3u0aUA-hHAgKg.webp +coverImage: + url: images/1jLlh4b9zQ3u0aUA-hHAgKg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-to-write-a-flutter-web-plugin/index.md b/sites/www/content/blog/how-to-write-a-flutter-web-plugin/index.md index 391bc937738..f971684563b 100644 --- a/sites/www/content/blog/how-to-write-a-flutter-web-plugin/index.md +++ b/sites/www/content/blog/how-to-write-a-flutter-web-plugin/index.md @@ -5,7 +5,9 @@ description: >- connecting Dart APIs to browser implementations. publishDate: 2019-11-20 author: harryterkelsen -image: images/1UTowUOvpkFW35rcuJ3Lf1w.webp +coverImage: + url: images/1UTowUOvpkFW35rcuJ3Lf1w.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/how-we-built-a-flutter-powered-ai-coffee-shop/index.md b/sites/www/content/blog/how-we-built-a-flutter-powered-ai-coffee-shop/index.md index d7292d9cef7..962469e98a1 100644 --- a/sites/www/content/blog/how-we-built-a-flutter-powered-ai-coffee-shop/index.md +++ b/sites/www/content/blog/how-we-built-a-flutter-powered-ai-coffee-shop/index.md @@ -4,13 +4,14 @@ description: >- If you start giving away coffee, people will show up. publishDate: 2026-06-22 author: craiglabenz -image: images/1o8sb5en4Yhr9J0R1cMMO_g.jpeg +coverImage: + alt: "" + caption: "Dash sits on a coffee shop’s checkout counter drinking a latte with the Flutter logo printed on top" + url: images/1o8sb5en4Yhr9J0R1cMMO_g.jpeg category: case-study layout: blog --- - - If you start giving away coffee, people will show up. The Flutter team had been trying for a while to find a way to put this principle to work with a demo that started with a Flutter app and ended with a hot, tasty beverage. The problem was how to make it more interesting, more personal than just taking orders and delivering. Coffee’s cool, but it’s not *The One Thing You Definitely Remember from Google I/O* cool. So what changed? Two new bits of tech arrived on scene. One is Nano Banana, with its ability to quickly generate customized images. The second is GenUI, with its ability to generate UX dynamically at runtime and offer attendees personally tailored questions about how they’d like to modify those images. Put the two together with Flutter and you can offer folks the chance to order coffee with an image of their happy place printed on top with an inkjet printer. Now *that’s* pretty memorable. diff --git a/sites/www/content/blog/how-we-built-it-ask-dash-a-generative-ai-flutter-application/index.md b/sites/www/content/blog/how-we-built-it-ask-dash-a-generative-ai-flutter-application/index.md index 85b6046e7bb..d46264ff40f 100644 --- a/sites/www/content/blog/how-we-built-it-ask-dash-a-generative-ai-flutter-application/index.md +++ b/sites/www/content/blog/how-we-built-it-ask-dash-a-generative-ai-flutter-application/index.md @@ -5,7 +5,9 @@ description: >- a generative AI search and conversation app. publishDate: 2023-12-13 author: verygoodopensource -image: images/092qfA1AlxG0HMJCE.webp +coverImage: + url: images/092qfA1AlxG0HMJCE.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/how-we-built-it-creating-the-i-o-crossword-puzzle-powered-by-ai/index.md b/sites/www/content/blog/how-we-built-it-creating-the-i-o-crossword-puzzle-powered-by-ai/index.md index 0542b0e6036..400f7884991 100644 --- a/sites/www/content/blog/how-we-built-it-creating-the-i-o-crossword-puzzle-powered-by-ai/index.md +++ b/sites/www/content/blog/how-we-built-it-creating-the-i-o-crossword-puzzle-powered-by-ai/index.md @@ -5,13 +5,13 @@ description: >- Genkit, and the Gemini API publishDate: 2024-06-26 author: verygoodopensource -image: images/04ylubp836_tc4Nni.webp +coverImage: + alt: "" + url: images/04ylubp836_tc4Nni.webp category: case-study layout: blog --- - - For this year’s I/O, Very Good Ventures partnered with the Flutter and Firebase teams at Google to create a unique, digital experience to showcase the power of the Gemini API. The fun (and challenge) of crossword puzzles is solving the clues to complete the board. A natural place to start for words and clues was everything we’ve talked about at I/O this year. To generate the game content, we gave videos of the keynotes to [Gemini Advanced](https://gemini.google.com/) and asked it to create a list of topical technology-related words and clues to make playing the game a fun way to learn about everything announced this year at I/O. diff --git a/sites/www/content/blog/how-we-use-user-surveys-to-prioritize-engineering-effort-in-flutter-october-2018-edition/index.md b/sites/www/content/blog/how-we-use-user-surveys-to-prioritize-engineering-effort-in-flutter-october-2018-edition/index.md index 704229dee82..f3d8db95735 100644 --- a/sites/www/content/blog/how-we-use-user-surveys-to-prioritize-engineering-effort-in-flutter-october-2018-edition/index.md +++ b/sites/www/content/blog/how-we-use-user-surveys-to-prioritize-engineering-effort-in-flutter-october-2018-edition/index.md @@ -7,7 +7,9 @@ publishDate: 2019-01-17 author: - jayoung-lee - taodong -image: images/1gKUzs2GxDWCBIS-i218_zQ.webp +coverImage: + url: images/1gKUzs2GxDWCBIS-i218_zQ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/hummingbird-building-flutter-for-the-web/index.md b/sites/www/content/blog/hummingbird-building-flutter-for-the-web/index.md index 8270a246ca3..0f51f773353 100644 --- a/sites/www/content/blog/hummingbird-building-flutter-for-the-web/index.md +++ b/sites/www/content/blog/hummingbird-building-flutter-for-the-web/index.md @@ -5,7 +5,9 @@ description: >- we are experimenting with running Flutter on the Web. publishDate: 2018-12-04 author: yegorj -image: images/0gD64Y8ECWBBuSZrx.webp +coverImage: + url: images/0gD64Y8ECWBBuSZrx.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/i-o-pinball-powered-by-flutter-and-firebase/index.md b/sites/www/content/blog/i-o-pinball-powered-by-flutter-and-firebase/index.md index e288536c280..30390517287 100644 --- a/sites/www/content/blog/i-o-pinball-powered-by-flutter-and-firebase/index.md +++ b/sites/www/content/blog/i-o-pinball-powered-by-flutter-and-firebase/index.md @@ -4,13 +4,13 @@ description: >- Take Flutter game development to the next level publishDate: 2022-05-10 author: verygoodopensource -image: images/1yuiVVfFOuPnrsHcUx7xf_Q.webp +coverImage: + alt: "" + url: images/1yuiVVfFOuPnrsHcUx7xf_Q.webp category: case-study layout: blog --- - - For Google I/O, we teamed up with the Flutter team to reimagine a classic pinball game built using Flutter and Firebase. Here’s how we brought [I/O Pinball](https://pinball.flutter.dev/) to life on the web with the help of the Flame game engine. ## Game development essentials diff --git a/sites/www/content/blog/improving-flutter-with-your-opinion-q4-2019-survey-results/index.md b/sites/www/content/blog/improving-flutter-with-your-opinion-q4-2019-survey-results/index.md index 54a015b800c..03d62edf11a 100644 --- a/sites/www/content/blog/improving-flutter-with-your-opinion-q4-2019-survey-results/index.md +++ b/sites/www/content/blog/improving-flutter-with-your-opinion-q4-2019-survey-results/index.md @@ -7,7 +7,9 @@ publishDate: 2020-02-11 author: - jayoung-lee - taodong -image: images/0W4ladsI7F9pgXph1.webp +coverImage: + url: images/0W4ladsI7F9pgXph1.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/improving-flutters-error-messages/index.md b/sites/www/content/blog/improving-flutters-error-messages/index.md index c04dee103dc..35ef565a3fb 100644 --- a/sites/www/content/blog/improving-flutters-error-messages/index.md +++ b/sites/www/content/blog/improving-flutters-error-messages/index.md @@ -5,7 +5,9 @@ description: >- improves the usability of error messages in Flutter. publishDate: 2019-09-09 author: taodong -image: images/1l8l2xWisc5Mtc6xzFaucmg.webp +coverImage: + url: images/1l8l2xWisc5Mtc6xzFaucmg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/improving-perceived-performance-with-image-placeholders-precaching-and-disabled-navigation/index.md b/sites/www/content/blog/improving-perceived-performance-with-image-placeholders-precaching-and-disabled-navigation/index.md index 5e4e9c1df43..b350e81fadd 100644 --- a/sites/www/content/blog/improving-perceived-performance-with-image-placeholders-precaching-and-disabled-navigation/index.md +++ b/sites/www/content/blog/improving-perceived-performance-with-image-placeholders-precaching-and-disabled-navigation/index.md @@ -5,7 +5,9 @@ description: >- improve perceived performance in your Flutter apps. publishDate: 2020-05-26 author: perclasson -image: images/1Pp2MNotBJdSHDcW3Fhz19A.gif +coverImage: + url: images/1Pp2MNotBJdSHDcW3Fhz19A.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/improving-platform-channel-performance-in-flutter/index.md b/sites/www/content/blog/improving-platform-channel-performance-in-flutter/index.md index 9e4f38887f4..d0af415b34b 100644 --- a/sites/www/content/blog/improving-platform-channel-performance-in-flutter/index.md +++ b/sites/www/content/blog/improving-platform-channel-performance-in-flutter/index.md @@ -7,13 +7,13 @@ description: >- its host platform faster and easier?" publishDate: 2021-06-14 author: gaaclarke -image: images/10lyQIh8t-STSy1o2Yjj1tQ.webp +coverImage: + alt: "" + url: images/10lyQIh8t-STSy1o2Yjj1tQ.webp category: deep-dive layout: blog --- - - Over the past couple of years, I’ve been interested in the problem of “How do we make communication between Flutter and its host platform faster and easier?” This is a question of particular interest to Flutter plugin developers and add-to-app developers. Communication between Flutter and the host platform is typically done with [platform channels](https://flutter.dev/docs/development/platform-integration/platform-channels), so my energy has been focused there. In late 2019, to remedy the amount of boilerplate and [stringly typed](https://wiki.c2.com/?StringlyTyped) code required to use platform channels, I designed a `codegen` package, [Pigeon](https://pub.dev/packages/pigeon), that makes platform channels type-safe, and the team continues to improve it. In spring 2020, I performed an [audit of platform channel and foreign function interface (FFI) performance](https://docs.google.com/document/d/1bD_tiN987fWEPtw7tjXHzqZVg_g9H95IS32Cm609VZ8/edit). Now, I’ve set my sights on [improving the performance](https://docs.google.com/document/d/1oNLxJr_ZqjENVhF94-PqxsGPx0qGXx-pRJxXL6LSagc/edit?usp=sharing) of platform channels. Because Pigeon is built on top of platform channels, and I plan to build a [data synchronization solution](https://flutter.dev/go/data-sync) for multiple Flutter instances on top of Pigeon, this is a good opportunity to help with the many different needs of developers and with my initiatives. diff --git a/sites/www/content/blog/insights-from-flutters-first-user-survey-of-2019/index.md b/sites/www/content/blog/insights-from-flutters-first-user-survey-of-2019/index.md index e1e8c06b61c..c5c97ecc0e9 100644 --- a/sites/www/content/blog/insights-from-flutters-first-user-survey-of-2019/index.md +++ b/sites/www/content/blog/insights-from-flutters-first-user-survey-of-2019/index.md @@ -5,7 +5,9 @@ description: >- the priorities developers identified for the project. publishDate: 2019-04-12 author: jayoung-lee -image: images/1BvDZf83WrPTc4yqukshP-w.webp +coverImage: + url: images/1BvDZf83WrPTc4yqukshP-w.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/introducing-background-isolate-channels/index.md b/sites/www/content/blog/introducing-background-isolate-channels/index.md index b1533309846..189b9ade1bb 100644 --- a/sites/www/content/blog/introducing-background-isolate-channels/index.md +++ b/sites/www/content/blog/introducing-background-isolate-channels/index.md @@ -5,13 +5,13 @@ description: >- use Plugins and Platform Channels from any isolate. publishDate: 2023-01-09 author: gaaclarke -image: images/1bSKidxVM7-brUJFuyKdVFg.webp +coverImage: + alt: "" + url: images/1bSKidxVM7-brUJFuyKdVFg.webp category: deep-dive layout: blog --- - - Now as of Flutter 3.7, I’m pleased to announce that developers can use Plugins and Platform Channels from *any* isolate. This has been one of our [highest ranked issues](https://github.com/flutter/flutter/issues/13937) and has been around since 2018. It was deprioritized since it wasn’t trivial to implement and there was a workaround, albeit cumbersome: always use Plugins from the root isolate (the isolate that Flutter provides). However, as Flutter has matured it has increasingly focused on performance, following the old software adage “Make it work, make it right, make it fast.” Choosing to implement this feature was a happy intersection of improving performance and also making Flutter easier to use. So, it became an easy decision to make the investment. If you want to see how this feature is used, check out the [sample code](https://github.com/flutter/samples/tree/main/background_isolate_channels) on GitHub. diff --git a/sites/www/content/blog/introducing-flutter-3/index.md b/sites/www/content/blog/introducing-flutter-3/index.md index da4547d05a6..08e27e7b40b 100644 --- a/sites/www/content/blog/introducing-flutter-3/index.md +++ b/sites/www/content/blog/introducing-flutter-3/index.md @@ -5,7 +5,9 @@ description: >- desktop, and web publishDate: 2022-05-11 author: timsneath -image: images/0ZQ9Xa7CINFVMA95w.webp +coverImage: + url: images/0ZQ9Xa7CINFVMA95w.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/introducing-google-fonts-for-flutter-v-1-0-0/index.md b/sites/www/content/blog/introducing-google-fonts-for-flutter-v-1-0-0/index.md index cc63deabd56..5c56c020eb6 100644 --- a/sites/www/content/blog/introducing-google-fonts-for-flutter-v-1-0-0/index.md +++ b/sites/www/content/blog/introducing-google-fonts-for-flutter-v-1-0-0/index.md @@ -5,7 +5,9 @@ description: >- add and configure fonts in Flutter apps. publishDate: 2020-04-23 author: clocksmith -image: images/1ndZ8HED7jp2f0X4IFSwtdA.webp +coverImage: + url: images/1ndZ8HED7jp2f0X4IFSwtdA.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/introducing-skills-for-dart-and-flutter/index.md b/sites/www/content/blog/introducing-skills-for-dart-and-flutter/index.md index ca3a10a5fde..ea5a5622d68 100644 --- a/sites/www/content/blog/introducing-skills-for-dart-and-flutter/index.md +++ b/sites/www/content/blog/introducing-skills-for-dart-and-flutter/index.md @@ -4,13 +4,14 @@ description: >- Improving AI with domain expertise publishDate: 2026-05-06 author: mariam_hasnany -image: images/1-cp6K90CIG7efKBLyiZ_jw.webp +coverImage: + alt: "" + caption: "Introducing prepackaged Dart and Flutter Skills!" + url: images/1-cp6K90CIG7efKBLyiZ_jw.webp category: news layout: blog --- - - ## Introducing Skills for Dart and Flutter ### Improving AI with domain expertise diff --git a/sites/www/content/blog/introducing-the-flutter-consulting-directory/index.md b/sites/www/content/blog/introducing-the-flutter-consulting-directory/index.md index c5f296d38a5..8cd583d5f21 100644 --- a/sites/www/content/blog/introducing-the-flutter-consulting-directory/index.md +++ b/sites/www/content/blog/introducing-the-flutter-consulting-directory/index.md @@ -4,7 +4,9 @@ description: >- Where organizations can find consultants to help build their next application publishDate: 2023-09-13 author: leighajarett -image: images/1m5eYW0Qgmdse1bpkqbsPLQ.webp +coverImage: + url: images/1m5eYW0Qgmdse1bpkqbsPLQ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/introducing-the-flutter-meetup-network/index.md b/sites/www/content/blog/introducing-the-flutter-meetup-network/index.md index 0104485f466..aa5465b8033 100644 --- a/sites/www/content/blog/introducing-the-flutter-meetup-network/index.md +++ b/sites/www/content/blog/introducing-the-flutter-meetup-network/index.md @@ -4,13 +4,14 @@ description: >- Sarah Fullmer tells us about support for Flutter meetups. publishDate: 2021-10-01 author: sfshaza -image: images/14eNp-BypLrDgEwkyWbm2zw.webp +coverImage: + alt: "" + caption: "Join forces with other Flutter enthusiasts!" + url: images/14eNp-BypLrDgEwkyWbm2zw.webp category: news layout: blog --- - - The Flutter Meetup Network (FMN) is an international network of Meetup groups united by their enthusiasm for Flutter. The FMN program mission is ***to foster a thriving worldwide community of Flutter developers by empowering community organizers to educate and inspire local communities with engaging events.*** Meetups — and similar developer community groups — are a great resource. As Flutter has grown in popularity over the past few years, over 100 Meetup groups have sprung up organically around the world to celebrate and educate their members about Flutter. The volunteers who run these groups have hosted *many* awesome events and workshops. diff --git a/sites/www/content/blog/introducing-the-flutter-news-toolkit-now-accepting-applications/index.md b/sites/www/content/blog/introducing-the-flutter-news-toolkit-now-accepting-applications/index.md index 737aca87d31..4595a9b0f68 100644 --- a/sites/www/content/blog/introducing-the-flutter-news-toolkit-now-accepting-applications/index.md +++ b/sites/www/content/blog/introducing-the-flutter-news-toolkit-now-accepting-applications/index.md @@ -5,7 +5,9 @@ description: >- Toolkit publishDate: 2022-11-10 author: zoeyfan -image: images/1eQsCJ1lXurwLVnD5wIDxkg.webp +coverImage: + url: images/1eQsCJ1lXurwLVnD5wIDxkg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/issues-bugs-and-backlogs/index.md b/sites/www/content/blog/issues-bugs-and-backlogs/index.md index ddf3f5b33f0..fb062e2f961 100644 --- a/sites/www/content/blog/issues-bugs-and-backlogs/index.md +++ b/sites/www/content/blog/issues-bugs-and-backlogs/index.md @@ -4,7 +4,9 @@ description: >- Managing feedback in a large open source project like Flutter publishDate: 2019-11-25 author: kf6gpe -image: images/1D_MCtnl2h_spFgoORikDcA.webp +coverImage: + url: images/1D_MCtnl2h_spFgoORikDcA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/its-time-the-flutter-clock-contest-results/index.md b/sites/www/content/blog/its-time-the-flutter-clock-contest-results/index.md index 7c0438d2263..541e784c0d7 100644 --- a/sites/www/content/blog/its-time-the-flutter-clock-contest-results/index.md +++ b/sites/www/content/blog/its-time-the-flutter-clock-contest-results/index.md @@ -5,7 +5,9 @@ description: >- explore their creative clock designs. publishDate: 2020-02-25 author: aguinis -image: images/10z33rzzkJfYqORqmhtjdMg.jpeg +coverImage: + url: images/10z33rzzkJfYqORqmhtjdMg.jpeg + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/jaimes-build-context-a-flutter-developer-s-thoughts-about-antigravity-tips/index.md b/sites/www/content/blog/jaimes-build-context-a-flutter-developer-s-thoughts-about-antigravity-tips/index.md index f0eec698c7f..74af0c5de0b 100644 --- a/sites/www/content/blog/jaimes-build-context-a-flutter-developer-s-thoughts-about-antigravity-tips/index.md +++ b/sites/www/content/blog/jaimes-build-context-a-flutter-developer-s-thoughts-about-antigravity-tips/index.md @@ -5,13 +5,13 @@ description: >- lessons and practical tips for building apps with Antigravity. publishDate: 2025-12-09 author: jwren -image: images/1iTTaVFKTZVHVl3ykFCmjyw.jpeg +coverImage: + alt: "" + url: images/1iTTaVFKTZVHVl3ykFCmjyw.jpeg category: deep-dive layout: blog --- - - Hi, I’m Jaime Wren, a long-time developer tooling software engineer on the Flutter team. I’ve seen many shifts in the software industry over the years, but the whole industry has just stepped into a new Wild West at breakneck speed and this is both exciting and nerve-wracking. In my opinion, we developers are complicated creatures driven by two forces: the need for productivity with our tasks and our inherent joy of programming itself. We thrive when we can slip into a fast, uninterrupted loop. To realize our full potential as developers, we need our entire toolchain to come together without introducing friction. As we transition into the Agentic Era, this need for a cohesive loop is non-negotiable; this is where Flutter has a distinct advantage. diff --git a/sites/www/content/blog/jaimes-build-context-prompt-engineering-as-infrastructure/index.md b/sites/www/content/blog/jaimes-build-context-prompt-engineering-as-infrastructure/index.md index 660a74f555f..32deb31be9a 100644 --- a/sites/www/content/blog/jaimes-build-context-prompt-engineering-as-infrastructure/index.md +++ b/sites/www/content/blog/jaimes-build-context-prompt-engineering-as-infrastructure/index.md @@ -5,13 +5,13 @@ description: >- support reliable agentic development. publishDate: 2026-01-23 author: jwren -image: images/1HNqQFQ2hdhAgjew1pIMqXA.webp +coverImage: + alt: "" + url: images/1HNqQFQ2hdhAgjew1pIMqXA.webp category: deep-dive layout: blog --- - - ## Summary In the era of agentic AI, the bottleneck for scaling projects has shifted from code volume to code integrity. To move at the speed AI allows without introducing systemic friction, we must stop treating AI as a magic wand and start treating it as a high-performance engine that requires a perfectly calibrated track. diff --git a/sites/www/content/blog/join-us-for-17daysofflutter/index.md b/sites/www/content/blog/join-us-for-17daysofflutter/index.md index c8eaf82f2e5..bf28b8e905d 100644 --- a/sites/www/content/blog/join-us-for-17daysofflutter/index.md +++ b/sites/www/content/blog/join-us-for-17daysofflutter/index.md @@ -4,13 +4,14 @@ description: >- Curated content leading up to the Flutter Forward event. publishDate: 2023-01-05 author: shamiramarshall -image: images/1cKk9QrcolzFfqB2ZWyUxSQ.webp +coverImage: + alt: "" + caption: "Banner for #17DaysOfFlutter" + url: images/1cKk9QrcolzFfqB2ZWyUxSQ.webp category: news layout: blog --- - - Happy 2023! Why not celebrate the new year by leveling up your Flutter skills? Starting January 9th, and leading up to our [Flutter Forward event](https://flutter.dev/events/flutter-forward) on January 25th, we’ll be hosting 17 Days of Flutter, a Flutter content marathon unveiling brand new content on Monday through Friday from our Flutter experts. Plus, a chance to apply what you learn and share your work with the Flutter community. Whether you’re just starting out with Flutter, or you’re a seasoned Flutter pro, we have new YouTube videos, codelabs, live events, and other curated content to help you along your learning journey. diff --git a/sites/www/content/blog/join-us-for-30daysofflutter/index.md b/sites/www/content/blog/join-us-for-30daysofflutter/index.md index 44f1b9d05d5..8a094b06e9e 100644 --- a/sites/www/content/blog/join-us-for-30daysofflutter/index.md +++ b/sites/www/content/blog/join-us-for-30daysofflutter/index.md @@ -6,13 +6,14 @@ description: >- Do you have an app idea you've been dreaming of over the holidays? publishDate: 2021-01-26 author: nikkitagandhi -image: images/1v7ytVK_8WbqA7Gc-Uol-wQ.webp +coverImage: + alt: "" + caption: "Banner for 30 Days of Flutter" + url: images/1v7ytVK_8WbqA7Gc-Uol-wQ.webp category: news layout: blog --- - - Happy New Year folks. It’s the perfect time of year to learn something new! Do you have an app idea you’ve been dreaming of over the holidays? If so, we have just the opportunity for you! Starting February 1st, leading up to our big [event on March 3rd](https://events.flutter.dev/?utm_source=30DaysOfFlutter&utm_medium=email&utm_campaign=30Days_Engage), join us for **#30DaysOfFlutter** to kickstart your learning journey and meet Flutter experts in the community. Whether you are building your first Flutter app or looking to improve your Flutter skills, we have curated content, code labs, and demos! Flutter is Google’s open source UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. It’s one of the fastest growing, most in-demand cross platform frameworks to learn and is used by freelance developers and large organizations around the world. Flutter uses the Dart language, so it will feel natural to many of you familiar with object-oriented languages. diff --git a/sites/www/content/blog/keys-what-are-they-good-for/index.md b/sites/www/content/blog/keys-what-are-they-good-for/index.md index d62eee5b84f..b7d03814fb8 100644 --- a/sites/www/content/blog/keys-what-are-they-good-for/index.md +++ b/sites/www/content/blog/keys-what-are-they-good-for/index.md @@ -5,7 +5,9 @@ description: >- but their use is less common. publishDate: 2019-03-29 author: efortuna -image: images/1sHDIVXBu9RpJYN9Zdn8iBw.gif +coverImage: + url: images/1sHDIVXBu9RpJYN9Zdn8iBw.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/landing-flutter-3-22-and-dart-3-4-at-google-i-o-2024/index.md b/sites/www/content/blog/landing-flutter-3-22-and-dart-3-4-at-google-i-o-2024/index.md index 2a18b00cecb..4494130bf98 100644 --- a/sites/www/content/blog/landing-flutter-3-22-and-dart-3-4-at-google-i-o-2024/index.md +++ b/sites/www/content/blog/landing-flutter-3-22-and-dart-3-4-at-google-i-o-2024/index.md @@ -5,7 +5,9 @@ description: >- productivity experiments, and more publishDate: 2024-05-14 author: mit-mit -image: images/1Mq-Uj8c8l7rrpPxYQ6Gemw.gif +coverImage: + url: images/1Mq-Uj8c8l7rrpPxYQ6Gemw.gif + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/learn-flutter-for-free-with-flutter-apprentice/index.md b/sites/www/content/blog/learn-flutter-for-free-with-flutter-apprentice/index.md index 817a35b66bd..9add93e087b 100644 --- a/sites/www/content/blog/learn-flutter-for-free-with-flutter-apprentice/index.md +++ b/sites/www/content/blog/learn-flutter-for-free-with-flutter-apprentice/index.md @@ -4,13 +4,15 @@ description: >- A free book for learning Flutter, available for a time-limited period. publishDate: 2021-10-06 author: sfshaza -image: images/1AvOHYfnMrCR81c4GltakzQ.webp +coverImage: + alt: >- + Cover of Flutter Apprentice, second edition: Learn to Build + Cross-Platform Apps. + url: images/1AvOHYfnMrCR81c4GltakzQ.webp category: deep-dive layout: blog --- - - We’ve heard from many folk that they want to learn Flutter, but don’t know where to start. So we have some great news for you — we’re giving away a free book for the next three months, along with a book club to help track your progress and answer questions. *Flutter Apprentice* is written to build on mobile development fundamentals. It takes you through your first fully-featured Flutter app, including designing a complex UI, as well as more advanced concepts such as persistence, state management, and cloud storage with Firebase. The book even covers publishing on both iOS and Android platforms. diff --git a/sites/www/content/blog/learn-flutter-for-free/index.md b/sites/www/content/blog/learn-flutter-for-free/index.md index 7d82eb97423..89a10b5f0a9 100644 --- a/sites/www/content/blog/learn-flutter-for-free/index.md +++ b/sites/www/content/blog/learn-flutter-for-free/index.md @@ -4,7 +4,9 @@ description: >- Ten hours of video and hands-on tutorials to build beautiful apps publishDate: 2020-04-08 author: aguinis -image: images/0li3Xi9x6pYTCZYE2.webp +coverImage: + url: images/0li3Xi9x6pYTCZYE2.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/learn-how-to-build-agentic-apps-with-flutter-angular-firebase-and-vertex-ai/index.md b/sites/www/content/blog/learn-how-to-build-agentic-apps-with-flutter-angular-firebase-and-vertex-ai/index.md index b0dd8994a80..decf39742f9 100644 --- a/sites/www/content/blog/learn-how-to-build-agentic-apps-with-flutter-angular-firebase-and-vertex-ai/index.md +++ b/sites/www/content/blog/learn-how-to-build-agentic-apps-with-flutter-angular-firebase-and-vertex-ai/index.md @@ -7,13 +7,13 @@ description: >- create entirely new kinds of experiences. publishDate: 2025-04-24 author: kkboateng -image: images/0bWWt_FlITTVh_813.webp +coverImage: + alt: "" + url: images/0bWWt_FlITTVh_813.webp category: deep-dive layout: blog --- - - The way we build applications is evolving. Imagine apps that don’t just respond to user input but proactively assist, automate tasks, and create entirely new kinds of experiences. Welcome to the world of **agentic apps**! Today, we’re thrilled to announce the launch of starter kits for our latest learning series, **[Building Agentic Apps](https://flutter.dev/events/building-agentic-apps),** running from today, **April 23rd to May 14th, 2025**! It’s three weeks of new resources, livestreams, and questions & answers, all aimed at giving Angular and Flutter developers the chance to spend a couple weekends hacking on AI tech and in the process gain an understanding of the building blocks of AI, know where and when to put them to work, and build a completed example worth showing off. diff --git a/sites/www/content/blog/learn-testing-with-the-new-flutter-sample-gsoc20-work-product/index.md b/sites/www/content/blog/learn-testing-with-the-new-flutter-sample-gsoc20-work-product/index.md index 6b9796dcf33..2d49331c1b3 100644 --- a/sites/www/content/blog/learn-testing-with-the-new-flutter-sample-gsoc20-work-product/index.md +++ b/sites/www/content/blog/learn-testing-with-the-new-flutter-sample-gsoc20-work-product/index.md @@ -5,13 +5,13 @@ description: >- unit, widget, and integration tests. publishDate: 2020-08-29 author: abd99 -image: images/15PoXySK4-tAKWAY1zCzfHg.webp +coverImage: + alt: "" + url: images/15PoXySK4-tAKWAY1zCzfHg.webp category: deep-dive layout: blog --- - - ## A quick introduction to GSoC [Google Summer of Code](https://summerofcode.withgoogle.com/)(GSoC) is a 3-month program sponsored by Google in which students work with an open source organization. With the help of mentors, the students complete a project during their summer break. diff --git a/sites/www/content/blog/learn-to-build-native-mobile-apps-with-flutter-with-our-free-udacity-course/index.md b/sites/www/content/blog/learn-to-build-native-mobile-apps-with-flutter-with-our-free-udacity-course/index.md index 55dd68904ab..68b3036d60b 100644 --- a/sites/www/content/blog/learn-to-build-native-mobile-apps-with-flutter-with-our-free-udacity-course/index.md +++ b/sites/www/content/blog/learn-to-build-native-mobile-apps-with-flutter-with-our-free-udacity-course/index.md @@ -4,13 +4,14 @@ description: >- TL;DR: Sign up here to get started with our free Udacity course! publishDate: 2018-07-02 author: maryx -image: images/1v_vdCNpmwHNcOM0xiqXIOQ.webp +coverImage: + alt: >- + Two presenters seated at a table for the Flutter video course. + url: images/1v_vdCNpmwHNcOM0xiqXIOQ.webp category: deep-dive layout: blog --- - - Hi everyone! I’m Mary, a software engineer who works with Flutter at Google. I used to work on web development, and transitioned to learning and building with Flutter over the past year. It’s been fun and interesting to build with Flutter, and I wanted to share my knowledge. That’s why the Flutter team at Google, Udacity, and I collaborated to create the free online video course, [“Build Native Mobile Apps with Flutter”](https://udacity.com/course/ud905). I injected my “learning Flutter” experience into the course, which teaches you what Flutter is, and how to (intuitively!) build mobile apps for both iOS and Android. This free course is for all developers; you might be a mobile app developer looking for ways to reach users on all platforms, or a web developer who wants to build for multiple platforms (like me!). Or, maybe you’ve been interested in Flutter but haven’t had time to dig in, or don’t know where to start. Well, you can [sign up for the course](https://udacity.com/course/ud905) and get watching right away! All the code is open source and located [on GitHub](https://github.com/flutter/udacity-course). Each topic is packaged into nicely-sized chunks, with short videos, quizzes, and small coding projects. You can pick it up and pause anytime. Complete the course at your leisure, such as over a weekend, or split it into several sections. diff --git a/sites/www/content/blog/learning-faster-with-antigravity/index.md b/sites/www/content/blog/learning-faster-with-antigravity/index.md index 1ccecd95a7b..b7b12ee8120 100644 --- a/sites/www/content/blog/learning-faster-with-antigravity/index.md +++ b/sites/www/content/blog/learning-faster-with-antigravity/index.md @@ -4,13 +4,14 @@ description: >- Creating Flutter frontends for ADK publishDate: 2026-07-01 author: redbrogdon -image: images/1XhysKMaIjv--tjhGDEas6A.webp +coverImage: + alt: "" + caption: "Dash enjoying Antigravity" + url: images/1XhysKMaIjv--tjhGDEas6A.webp category: deep-dive layout: blog --- - - ## Learning faster with Antigravity ### Creating Flutter frontends for ADK diff --git a/sites/www/content/blog/learning-flutters-new-navigation-and-routing-system/index.md b/sites/www/content/blog/learning-flutters-new-navigation-and-routing-system/index.md index 566fea58bbe..69aa98e6f6d 100644 --- a/sites/www/content/blog/learning-flutters-new-navigation-and-routing-system/index.md +++ b/sites/www/content/blog/learning-flutters-new-navigation-and-routing-system/index.md @@ -5,7 +5,9 @@ description: >- declarative navigation, deep links, and web URLs. publishDate: 2020-09-30 author: johnpryan -image: images/1PYHrYurwAGyQC8vsnAaWiA.webp +coverImage: + url: images/1PYHrYurwAGyQC8vsnAaWiA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/major-steps-this-year-on-the-journey-to-multiplatform-development/index.md b/sites/www/content/blog/major-steps-this-year-on-the-journey-to-multiplatform-development/index.md index 17e05c60c58..a1fd2d046e9 100644 --- a/sites/www/content/blog/major-steps-this-year-on-the-journey-to-multiplatform-development/index.md +++ b/sites/www/content/blog/major-steps-this-year-on-the-journey-to-multiplatform-development/index.md @@ -5,7 +5,9 @@ description: >- and a major refresh of the Flutter Casual Games Toolkit. publishDate: 2023-11-15 author: mit-mit -image: images/0iomk4DoJwIXI44jX.webp +coverImage: + url: images/0iomk4DoJwIXI44jX.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/managing-flutter-application-state-with-inheritedwidgets/index.md b/sites/www/content/blog/managing-flutter-application-state-with-inheritedwidgets/index.md index aebac56bc38..ba32d6fef38 100644 --- a/sites/www/content/blog/managing-flutter-application-state-with-inheritedwidgets/index.md +++ b/sites/www/content/blog/managing-flutter-application-state-with-inheritedwidgets/index.md @@ -6,7 +6,9 @@ description: >- Anyone who has given… publishDate: 2018-12-20 author: hansmuller -image: images/1IVBU5tVCV5TFUI3E5V4fEg.webp +coverImage: + url: images/1IVBU5tVCV5TFUI3E5V4fEg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/managing-issues-in-a-large-scale-open-source-project/index.md b/sites/www/content/blog/managing-issues-in-a-large-scale-open-source-project/index.md index 6e2b4270849..879440552b6 100644 --- a/sites/www/content/blog/managing-issues-in-a-large-scale-open-source-project/index.md +++ b/sites/www/content/blog/managing-issues-in-a-large-scale-open-source-project/index.md @@ -4,7 +4,9 @@ description: >- How the Flutter team addresses its issue backlog publishDate: 2020-07-17 author: kf6gpe -image: images/0E-lTv57-czvPhZre.webp +coverImage: + url: images/0E-lTv57-czvPhZre.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/managing-visibility-in-flutter/index.md b/sites/www/content/blog/managing-visibility-in-flutter/index.md index aaed68538b8..dfb608474df 100644 --- a/sites/www/content/blog/managing-visibility-in-flutter/index.md +++ b/sites/www/content/blog/managing-visibility-in-flutter/index.md @@ -4,13 +4,14 @@ description: >- How hiding widgets can also hide inefficiency in your code publishDate: 2018-06-27 author: lukeaf -image: images/1q-Y9wu-ZE_4YHLYcPpjgGA.jpeg +coverImage: + alt: "" + caption: "By Marian ([https://www.flickr.com/photos/lescientist/8430282209](https://www.flickr.com/photos/lescientist/8430282209)) ([CC BY-NC-SA 2.0](https://creativecommons.org/licenses/by-nc-sa/2.0/))" + url: images/1q-Y9wu-ZE_4YHLYcPpjgGA.jpeg category: deep-dive layout: blog --- - - **Update**: Flutter now has a built in Visibility widget so it’s better you use that. However, it’s still a good read on widget design and implementation so give it a read and a clap! I thought I’d write a quick snippet / tutorial on how you can easily write a generic widget to manage visibility in your Flutter application. It’s a pretty common task and it’s something that, once you’ve written it, you’ll probably re-use across all your projects. But, before we begin, let’s talk about what visibility *means*. diff --git a/sites/www/content/blog/material-3-for-flutter/index.md b/sites/www/content/blog/material-3-for-flutter/index.md index 97f5d501dc6..c2ae6d9875a 100644 --- a/sites/www/content/blog/material-3-for-flutter/index.md +++ b/sites/www/content/blog/material-3-for-flutter/index.md @@ -5,13 +5,13 @@ description: >- These matches are made in heaven! publishDate: 2023-01-18 author: esouthren -image: images/0RuCmIqSnK0G0kHmy.webp +coverImage: + alt: "" + url: images/0RuCmIqSnK0G0kHmy.webp category: news layout: blog --- - - ## Material 3 for Flutter ### Sherlock Holmes and Dr Watson; peanut butter and jam; Flutter and Material! These matches are made in heaven! diff --git a/sites/www/content/blog/material-range-slider-in-flutter/index.md b/sites/www/content/blog/material-range-slider-in-flutter/index.md index c7e6a80a7ed..2b2b06af7af 100644 --- a/sites/www/content/blog/material-range-slider-in-flutter/index.md +++ b/sites/www/content/blog/material-range-slider-in-flutter/index.md @@ -4,7 +4,9 @@ description: >- What is it? Why might you use it? How do you theme it? publishDate: 2019-07-11 author: clocksmith -image: images/0wtmSldtwjSvtRtuI.webp +coverImage: + url: images/0wtmSldtwjSvtRtuI.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/meet-the-flutter-extension-for-gemini-cli/index.md b/sites/www/content/blog/meet-the-flutter-extension-for-gemini-cli/index.md index 4aaa39c907c..f36699d4017 100644 --- a/sites/www/content/blog/meet-the-flutter-extension-for-gemini-cli/index.md +++ b/sites/www/content/blog/meet-the-flutter-extension-for-gemini-cli/index.md @@ -5,13 +5,13 @@ description: >- Gemini CLI publishDate: 2025-10-08 author: johnpryan -image: images/1CXyt0NsoasPW5__Ev4AGNg.webp +coverImage: + alt: "" + url: images/1CXyt0NsoasPW5__Ev4AGNg.webp category: news layout: blog --- - - ## Meet the Flutter Extension for Gemini CLI ### Build high quality, feature rich apps with the new Flutter Extension for Gemini CLI diff --git a/sites/www/content/blog/modern-flutter-plugin-development/index.md b/sites/www/content/blog/modern-flutter-plugin-development/index.md index 6c5d488cb85..c3202c63683 100644 --- a/sites/www/content/blog/modern-flutter-plugin-development/index.md +++ b/sites/www/content/blog/modern-flutter-plugin-development/index.md @@ -5,7 +5,9 @@ description: >- including federated plugins and platform implementations. publishDate: 2020-04-30 author: csells -image: images/1yM2BlF_ckdUzoDnSdAjPoA.webp +coverImage: + url: images/1yM2BlF_ckdUzoDnSdAjPoA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/must-try-use-firebase-to-host-your-flutter-app-on-the-web/index.md b/sites/www/content/blog/must-try-use-firebase-to-host-your-flutter-app-on-the-web/index.md index 3469d169a07..a52e299865b 100644 --- a/sites/www/content/blog/must-try-use-firebase-to-host-your-flutter-app-on-the-web/index.md +++ b/sites/www/content/blog/must-try-use-firebase-to-host-your-flutter-app-on-the-web/index.md @@ -5,7 +5,9 @@ description: >- Look no further! publishDate: 2019-11-11 author: clocksmith -image: images/1eL-dHo08RwyLYOl17DNTog.webp +coverImage: + url: images/1eL-dHo08RwyLYOl17DNTog.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/new-ads-beta-inline-banner-and-native-support-for-the-flutter-mobile-ads-plugin/index.md b/sites/www/content/blog/new-ads-beta-inline-banner-and-native-support-for-the-flutter-mobile-ads-plugin/index.md index 185ad7dff67..23aaecfe9d3 100644 --- a/sites/www/content/blog/new-ads-beta-inline-banner-and-native-support-for-the-flutter-mobile-ads-plugin/index.md +++ b/sites/www/content/blog/new-ads-beta-inline-banner-and-native-support-for-the-flutter-mobile-ads-plugin/index.md @@ -4,7 +4,9 @@ description: >- Beta program opens for inline banner and native ads support publishDate: 2020-11-11 author: haddadniaj -image: images/10kWrLLh_g2Ywwgcs_iAL-w.webp +coverImage: + url: images/10kWrLLh_g2Ywwgcs_iAL-w.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/new-tools-for-flutter-developers-built-in-flutter/index.md b/sites/www/content/blog/new-tools-for-flutter-developers-built-in-flutter/index.md index 970e8c4446f..38a08b9af0d 100644 --- a/sites/www/content/blog/new-tools-for-flutter-developers-built-in-flutter/index.md +++ b/sites/www/content/blog/new-tools-for-flutter-developers-built-in-flutter/index.md @@ -4,7 +4,9 @@ description: >- Why we rebuilt Dart DevTools from scratch in Flutter publishDate: 2020-06-24 author: filiph -image: images/0VLibsxLD9Wv35Pr8.webp +coverImage: + url: images/0VLibsxLD9Wv35Pr8.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/new-updates-to-a2ui-and-flutters-genui-package/index.md b/sites/www/content/blog/new-updates-to-a2ui-and-flutters-genui-package/index.md index d16802628e1..e66302cf76d 100644 --- a/sites/www/content/blog/new-updates-to-a2ui-and-flutters-genui-package/index.md +++ b/sites/www/content/blog/new-updates-to-a2ui-and-flutters-genui-package/index.md @@ -5,13 +5,13 @@ description: >- building dynamic, agent-generated interfaces. publishDate: 2026-05-14 author: redbrogdon -image: images/1yPatUacknopOAVF_Vr86OA.webp +coverImage: + alt: "" + url: images/1yPatUacknopOAVF_Vr86OA.webp category: news layout: blog --- - - Generative UI, or GenUI for short, is a user experience pattern in which an agent not only generates content, but also makes decisions about how that content should be displayed and made interactive for the user. For Flutter developers, implementing GenUI means using A2UI, an open protocol that defines a way for agents and clients (or “renderers”) to collaborate on the composition and state of a user interface. To capitalize on this, the Flutter team built genui, a package that uses A2UI to connect with an agent and provide it with a catalog of widgets to use, and then presents those widgets to the user. Both the `genui` package and the A2UI protocol recently got an update! diff --git a/sites/www/content/blog/only-a-few-days-left-to-submit-for-the-flutter-puzzle-hack-announcing-the-judges/index.md b/sites/www/content/blog/only-a-few-days-left-to-submit-for-the-flutter-puzzle-hack-announcing-the-judges/index.md index 958edae6d90..6fbfe3267d1 100644 --- a/sites/www/content/blog/only-a-few-days-left-to-submit-for-the-flutter-puzzle-hack-announcing-the-judges/index.md +++ b/sites/www/content/blog/only-a-few-days-left-to-submit-for-the-flutter-puzzle-hack-announcing-the-judges/index.md @@ -4,13 +4,13 @@ description: >- Get your project in before the submission deadline! publishDate: 2022-03-09 author: kkboateng -image: images/0LgF82TK9xt1aI14Y.webp +coverImage: + alt: "" + url: images/0LgF82TK9xt1aI14Y.webp category: news layout: blog --- - - There are only a few days left to submit to the [Flutter Puzzle Hack](https://flutterhack.devpost.com/). We’re excited by the puzzles we’ve seen so far, and can’t wait to see even more! Don’t forget that prizes include 4 fully loaded MacBooks, tons of Flutter swag, and cash to over 40 winners, so be sure to get your submission in for a chance at some of these awesome prizes. ## Welcome to the Flutter community diff --git a/sites/www/content/blog/optimizing-performance-in-flutter-web-apps-with-tree-shaking-and-deferred-loading/index.md b/sites/www/content/blog/optimizing-performance-in-flutter-web-apps-with-tree-shaking-and-deferred-loading/index.md index 32be993df9a..2748cedc99a 100644 --- a/sites/www/content/blog/optimizing-performance-in-flutter-web-apps-with-tree-shaking-and-deferred-loading/index.md +++ b/sites/www/content/blog/optimizing-performance-in-flutter-web-apps-with-tree-shaking-and-deferred-loading/index.md @@ -5,7 +5,9 @@ description: >- The initial load time of a Flutter web application can be improved by… publishDate: 2020-05-19 author: perclasson -image: images/0Z8CmvWbWVXUb9Wy4.webp +coverImage: + url: images/0Z8CmvWbWVXUb9Wy4.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/out-of-depth-with-flutter/index.md b/sites/www/content/blog/out-of-depth-with-flutter/index.md index 79d35c41b76..87889c29e50 100644 --- a/sites/www/content/blog/out-of-depth-with-flutter/index.md +++ b/sites/www/content/blog/out-of-depth-with-flutter/index.md @@ -5,7 +5,9 @@ description: >- view logic in deep nesting, and what you can do about it. publishDate: 2018-07-10 author: mravn -image: images/1RNOof30wEFXsbUsQ0Jof7Q.webp +coverImage: + url: images/1RNOof30wEFXsbUsQ0Jof7Q.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/performance-testing-of-flutter-apps/index.md b/sites/www/content/blog/performance-testing-of-flutter-apps/index.md index 0542d92ecd1..570bc4746f6 100644 --- a/sites/www/content/blog/performance-testing-of-flutter-apps/index.md +++ b/sites/www/content/blog/performance-testing-of-flutter-apps/index.md @@ -5,7 +5,9 @@ description: >- but does that mean you don't need to think about performance at all? No. publishDate: 2019-05-09 author: filiph -image: images/1MxtHyEfdBlANwu7ZRyX2mw.webp +coverImage: + url: images/1MxtHyEfdBlANwu7ZRyX2mw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/performance-testing-on-the-web/index.md b/sites/www/content/blog/performance-testing-on-the-web/index.md index 628e0520806..f8eab25b084 100644 --- a/sites/www/content/blog/performance-testing-on-the-web/index.md +++ b/sites/www/content/blog/performance-testing-on-the-web/index.md @@ -4,7 +4,9 @@ description: >- Run performance tests for Flutter web apps in Chrome publishDate: 2020-10-02 author: tianguang -image: images/0LitJY47Vl0J17C5V.webp +coverImage: + url: images/0LitJY47Vl0J17C5V.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/perspective-on-flutter/index.md b/sites/www/content/blog/perspective-on-flutter/index.md index 4d7adf7660b..e52137fbef6 100644 --- a/sites/www/content/blog/perspective-on-flutter/index.md +++ b/sites/www/content/blog/perspective-on-flutter/index.md @@ -4,7 +4,9 @@ description: >- Fun with 3D and the Transform widget publishDate: 2018-06-18 author: wmleler -image: images/1WdpLQEC_L1PYDO1KgxxfMQ.webp +coverImage: + url: images/1WdpLQEC_L1PYDO1KgxxfMQ.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/perspectives-from-early-adopters-of-flutter-as-a-game-development-tool/index.md b/sites/www/content/blog/perspectives-from-early-adopters-of-flutter-as-a-game-development-tool/index.md index 3c3d531754c..0bcab8f7362 100644 --- a/sites/www/content/blog/perspectives-from-early-adopters-of-flutter-as-a-game-development-tool/index.md +++ b/sites/www/content/blog/perspectives-from-early-adopters-of-flutter-as-a-game-development-tool/index.md @@ -4,7 +4,9 @@ description: >- How user research shaped the Flutter Casual Game Toolkit publishDate: 2022-05-12 author: taodong -image: images/0ZrpkIfhAQ0MW1RYp.webp +coverImage: + url: images/0ZrpkIfhAQ0MW1RYp.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/pitching-flutter-to-your-company-or-client/index.md b/sites/www/content/blog/pitching-flutter-to-your-company-or-client/index.md index 35df83f7e84..4560c91c76f 100644 --- a/sites/www/content/blog/pitching-flutter-to-your-company-or-client/index.md +++ b/sites/www/content/blog/pitching-flutter-to-your-company-or-client/index.md @@ -4,7 +4,9 @@ description: >- The business case for Flutter publishDate: 2018-11-01 author: wmleler -image: images/1OOmIZ2plXASJUl49v6TlDA.gif +coverImage: + url: images/1OOmIZ2plXASJUl49v6TlDA.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/platform-channel-examples/index.md b/sites/www/content/blog/platform-channel-examples/index.md index 3e2f87fd2ea..3affd509a6d 100644 --- a/sites/www/content/blog/platform-channel-examples/index.md +++ b/sites/www/content/blog/platform-channel-examples/index.md @@ -4,7 +4,9 @@ description: >- Explore platform channel examples that connect Flutter with native code publishDate: 2020-08-29 author: ayushbherwani1998 -image: images/15PoXySK4-tAKWAY1zCzfHg.webp +coverImage: + url: images/15PoXySK4-tAKWAY1zCzfHg.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/playful-typography-with-flutter/index.md b/sites/www/content/blog/playful-typography-with-flutter/index.md index 674f5d59a45..0a1b2677e47 100644 --- a/sites/www/content/blog/playful-typography-with-flutter/index.md +++ b/sites/www/content/blog/playful-typography-with-flutter/index.md @@ -4,7 +4,9 @@ description: >- Exploring variable fonts and shaders publishDate: 2023-01-20 author: hellobrianjames -image: images/0x9XqN84kLr7s86vK.webp +coverImage: + url: images/0x9XqN84kLr7s86vK.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/profiling-flutter-applications-using-the-timeline/index.md b/sites/www/content/blog/profiling-flutter-applications-using-the-timeline/index.md index 49b15fac146..1946cfba8ba 100644 --- a/sites/www/content/blog/profiling-flutter-applications-using-the-timeline/index.md +++ b/sites/www/content/blog/profiling-flutter-applications-using-the-timeline/index.md @@ -5,7 +5,9 @@ description: >- specific performance issues in your Flutter apps publishDate: 2019-03-01 author: chinmaygarde -image: images/1MBoVBDD8a68IiUpcaD3CjQ.webp +coverImage: + url: images/1MBoVBDD8a68IiUpcaD3CjQ.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/progress-of-the-flutter-package-ecosystem/index.md b/sites/www/content/blog/progress-of-the-flutter-package-ecosystem/index.md index dfa79fd7513..ec90cc6c02d 100644 --- a/sites/www/content/blog/progress-of-the-flutter-package-ecosystem/index.md +++ b/sites/www/content/blog/progress-of-the-flutter-package-ecosystem/index.md @@ -5,7 +5,9 @@ description: >- to know publishDate: 2024-01-22 author: anderdobo -image: images/0tkq_040X0xa_Noms.webp +coverImage: + url: images/0tkq_040X0xa_Noms.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/prospera-using-flutter-to-bring-ai-to-the-frontline-of-sales/index.md b/sites/www/content/blog/prospera-using-flutter-to-bring-ai-to-the-frontline-of-sales/index.md index b5d6b93ff80..1f6d1458202 100644 --- a/sites/www/content/blog/prospera-using-flutter-to-bring-ai-to-the-frontline-of-sales/index.md +++ b/sites/www/content/blog/prospera-using-flutter-to-bring-ai-to-the-frontline-of-sales/index.md @@ -5,13 +5,13 @@ description: >- give sales teams AI-powered insights in the field. publishDate: 2024-11-21 author: tvolkert -image: images/1rV1FMqYeyrHsOvtSUIOnOA.webp +coverImage: + alt: "" + url: images/1rV1FMqYeyrHsOvtSUIOnOA.webp category: case-study layout: blog --- - - Developers around the world are using Google’s Gemini models to tackle real-world challenges, and one of the most exciting applications we’ve seen is in the field of sales. Meet Prospera, winner of both *best Flutter app* and *most Useful app* in our recent [Gemini API Developer Competition](https://ai.google.dev/competition)! Created by Leon Kukuk and Max Hasenohr from Germany, Prospera is an AI-powered sales coach that provides real-time guidance and feedback during and after calls. This innovative Flutter app showcases the power of Gemini to transform how sales professionals learn and improve their skills. diff --git a/sites/www/content/blog/providing-operating-system-compatibility-on-a-large-scale/index.md b/sites/www/content/blog/providing-operating-system-compatibility-on-a-large-scale/index.md index a9c0b38c501..836aea0fc61 100644 --- a/sites/www/content/blog/providing-operating-system-compatibility-on-a-large-scale/index.md +++ b/sites/www/content/blog/providing-operating-system-compatibility-on-a-large-scale/index.md @@ -4,7 +4,9 @@ description: >- Flutter's approach to device diversity in software releases publishDate: 2021-01-14 author: kf6gpe -image: images/0XGMajBOXRRgyu3Pa.jpg +coverImage: + url: images/0XGMajBOXRRgyu3Pa.jpg + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/put-flutter-to-work/index.md b/sites/www/content/blog/put-flutter-to-work/index.md index 594dc2b5f73..7c2d097e53c 100644 --- a/sites/www/content/blog/put-flutter-to-work/index.md +++ b/sites/www/content/blog/put-flutter-to-work/index.md @@ -5,13 +5,15 @@ description: >- lines of code publishDate: 2022-05-26 author: verygoodopensource -image: images/17pcNynupdvylRqlRdi6rPQ.webp +coverImage: + alt: >- + A Flutter feedback dialog with a five-point rating scale and a Submit + button overlays a newsfeed. + url: images/17pcNynupdvylRqlRdi6rPQ.webp category: deep-dive layout: blog --- - - If you’ve ever wanted to try using Flutter, but don’t want to build something from scratch, Flutter’s [add-to-app functionality](https://docs.flutter.dev/development/add-to-app) is a great place to start. To make it even easier to put Flutter to work for you, we teamed up with the Flutter team to create a sample add-to-app prototype to showcase how Flutter can be integrated into a native codebase with minimal effort. Whether you want to take Flutter for a trial run or show your team how Flutter works in a tangible way, this article is for you! diff --git a/sites/www/content/blog/q4-2021-user-survey-results-about-null-safety-ecosystem-text-editing-and-mobile-development/index.md b/sites/www/content/blog/q4-2021-user-survey-results-about-null-safety-ecosystem-text-editing-and-mobile-development/index.md index 89be48571f5..1a2b26797ee 100644 --- a/sites/www/content/blog/q4-2021-user-survey-results-about-null-safety-ecosystem-text-editing-and-mobile-development/index.md +++ b/sites/www/content/blog/q4-2021-user-survey-results-about-null-safety-ecosystem-text-editing-and-mobile-development/index.md @@ -5,7 +5,9 @@ description: >- the package ecosystem, text editing, and mobile development. publishDate: 2022-02-22 author: jayoung-lee -image: images/0Zw_zyVq5CfP7Y09o.webp +coverImage: + url: images/0Zw_zyVq5CfP7Y09o.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/racing-forward-at-i-o-2023-with-flutter-and-dart/index.md b/sites/www/content/blog/racing-forward-at-i-o-2023-with-flutter-and-dart/index.md index cc48b39dd6e..ce5a96788e4 100644 --- a/sites/www/content/blog/racing-forward-at-i-o-2023-with-flutter-and-dart/index.md +++ b/sites/www/content/blog/racing-forward-at-i-o-2023-with-flutter-and-dart/index.md @@ -5,13 +5,13 @@ description: >- and security in Flutter 3.10 publishDate: 2023-05-10 author: timsneath -image: images/1bzC0ul7jBVhOJiastVGKlw.webp +coverImage: + alt: "" + url: images/1bzC0ul7jBVhOJiastVGKlw.webp category: news layout: blog --- - - We’re *delighted* to be back for this year’s Google I/O, streaming live around the world from near our headquarters in Mountain View, California! Just over three months ago, we introduced a bold new roadmap for Flutter and Dart at Flutter Forward in Nairobi, Kenya. At I/O, we’re sharing our progress against that vision with updates across the four themes that we shared: breakthrough graphics experiences, seamless integration with web and platforms, support for new and emerging architectures, and a focus on developer experience. diff --git a/sites/www/content/blog/raster-thread-performance-optimization-tips/index.md b/sites/www/content/blog/raster-thread-performance-optimization-tips/index.md index fef720ca73c..d5f0c42d46c 100644 --- a/sites/www/content/blog/raster-thread-performance-optimization-tips/index.md +++ b/sites/www/content/blog/raster-thread-performance-optimization-tips/index.md @@ -5,7 +5,9 @@ description: >- an app that was built as a design showcase for Flutter Engage publishDate: 2021-09-01 author: filiph -image: images/116rv_KQNNU3IsAHCfI3G6A.webp +coverImage: + url: images/116rv_KQNNU3IsAHCfI3G6A.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/rich-and-dynamic-user-interfaces-with-flutter-and-generative-ui/index.md b/sites/www/content/blog/rich-and-dynamic-user-interfaces-with-flutter-and-generative-ui/index.md index 64f310fec24..5ae8780cb65 100644 --- a/sites/www/content/blog/rich-and-dynamic-user-interfaces-with-flutter-and-generative-ui/index.md +++ b/sites/www/content/blog/rich-and-dynamic-user-interfaces-with-flutter-and-generative-ui/index.md @@ -5,13 +5,14 @@ description: >- now available in alpha on pub.dev. publishDate: 2025-11-18 author: abdallahshaban557 -image: images/12R8k2Qbswy4G7h3yYIyk1A.webp +coverImage: + alt: "" + caption: "Introducing the GenUI SDK for Flutter" + url: images/12R8k2Qbswy4G7h3yYIyk1A.webp category: news layout: blog --- - - ## Rich and dynamic user interfaces with Flutter and generative UI We’re thrilled to introduce GenUI SDK for Flutter, now available in alpha on [pub.dev](https://pub.dev/packages/genui). This new SDK for Flutter helps you generate dynamic, personalized UI with Gemini (or other LLMs) to significantly improve the usability and satisfaction of your GenAI and agent-based user experiences, which also adheres to your established brand guidelines and using your own widget catalog. diff --git a/sites/www/content/blog/running-unit-tests-as-part-of-your-everyday-flutter-workflow/index.md b/sites/www/content/blog/running-unit-tests-as-part-of-your-everyday-flutter-workflow/index.md index 0a4c46252de..a4a010caeaf 100644 --- a/sites/www/content/blog/running-unit-tests-as-part-of-your-everyday-flutter-workflow/index.md +++ b/sites/www/content/blog/running-unit-tests-as-part-of-your-everyday-flutter-workflow/index.md @@ -6,7 +6,9 @@ description: >- and have started thinking about how you'd test your app publishDate: 2018-03-06 author: devoncarew -image: images/1GKGBr7v55mRKhQyOkNaFoA.webp +coverImage: + url: images/1GKGBr7v55mRKhQyOkNaFoA.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/save-the-date-flutter-day-june-25-2020/index.md b/sites/www/content/blog/save-the-date-flutter-day-june-25-2020/index.md index 9a15d69c1e1..efef953aeca 100644 --- a/sites/www/content/blog/save-the-date-flutter-day-june-25-2020/index.md +++ b/sites/www/content/blog/save-the-date-flutter-day-june-25-2020/index.md @@ -5,7 +5,9 @@ description: >- livestreamed talks, codelabs, and community events. publishDate: 2020-05-21 author: csells -image: images/0RDn0t0fyTKSy2x_k.webp +coverImage: + url: images/0RDn0t0fyTKSy2x_k.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/saying-goodbye-to-cocoapods-swift-package-manager-is-soon-the-default-in-flutter/index.md b/sites/www/content/blog/saying-goodbye-to-cocoapods-swift-package-manager-is-soon-the-default-in-flutter/index.md index 2bf9617c6d5..021914b6ce6 100644 --- a/sites/www/content/blog/saying-goodbye-to-cocoapods-swift-package-manager-is-soon-the-default-in-flutter/index.md +++ b/sites/www/content/blog/saying-goodbye-to-cocoapods-swift-package-manager-is-soon-the-default-in-flutter/index.md @@ -5,13 +5,14 @@ description: >- the default dependency manager for iOS and macOS apps. publishDate: 2026-04-30 author: magder -image: images/12A_CUygcOEFYUv5ms5KAJw.webp +coverImage: + alt: "" + caption: "Dash migration!" + url: images/12A_CUygcOEFYUv5ms5KAJw.webp category: news layout: blog --- - - ## Saying goodbye to CocoaPods: Swift Package Manager is soon the default in Flutter! Starting with the next stable Flutter release, 3.44, Swift Package Manager (SwiftPM) replaces CocoaPods as the default dependency manager for iOS and macOS apps. *This means no more messing around with Ruby or CocoaPods installations just to get your app running!* diff --git a/sites/www/content/blog/sharing-flutters-2024-roadmap/index.md b/sites/www/content/blog/sharing-flutters-2024-roadmap/index.md index 28009a41f08..c5800c1c57f 100644 --- a/sites/www/content/blog/sharing-flutters-2024-roadmap/index.md +++ b/sites/www/content/blog/sharing-flutters-2024-roadmap/index.md @@ -5,7 +5,9 @@ description: >- the framework, platforms, tooling, and developer experience. publishDate: 2024-02-15 author: mit-mit -image: images/18v__Z0fIVOBm4uxFnMLAVg.webp +coverImage: + url: images/18v__Z0fIVOBm4uxFnMLAVg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/slivers-demystified/index.md b/sites/www/content/blog/slivers-demystified/index.md index daf1d4c134a..adb053b614d 100644 --- a/sites/www/content/blog/slivers-demystified/index.md +++ b/sites/www/content/blog/slivers-demystified/index.md @@ -4,7 +4,9 @@ description: >- Or, how to do fancy scrolling techniques in your mobile app with Flutter publishDate: 2018-10-18 author: efortuna -image: images/1acfGrRUFKsC4z_0wHHt_Lg.gif +coverImage: + url: images/1acfGrRUFKsC4z_0wHHt_Lg.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/speeding-up-generative-ui-with-async-a2ui/index.md b/sites/www/content/blog/speeding-up-generative-ui-with-async-a2ui/index.md index d5f48311aeb..3573b8cc12f 100644 --- a/sites/www/content/blog/speeding-up-generative-ui-with-async-a2ui/index.md +++ b/sites/www/content/blog/speeding-up-generative-ui-with-async-a2ui/index.md @@ -5,13 +5,13 @@ description: >- latency and build instant, responsive generative UI in Flutter. publishDate: 2026-08-13 author: redbrogdon -image: images/hero_image.webp +coverImage: + alt: "" + url: images/hero_image.webp category: deep-dive layout: blog --- - - Generative UI (GenUI) is changing how I build user interfaces. Instead of presenting every user with a static set of screens, GenUI allows an AI agent to dynamically compose and update the user interface diff --git a/sites/www/content/blog/starting-2024-strong-with-flutter-and-dart/index.md b/sites/www/content/blog/starting-2024-strong-with-flutter-and-dart/index.md index ccc08703e14..be7deda1a1c 100644 --- a/sites/www/content/blog/starting-2024-strong-with-flutter-and-dart/index.md +++ b/sites/www/content/blog/starting-2024-strong-with-flutter-and-dart/index.md @@ -5,7 +5,9 @@ description: >- Gemini era publishDate: 2024-02-15 author: brandonbadger -image: images/0gO0yYMh4FUkpue3w.gif +coverImage: + url: images/0gO0yYMh4FUkpue3w.gif + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/studying-developers-usage-of-ides-for-flutter-development/index.md b/sites/www/content/blog/studying-developers-usage-of-ides-for-flutter-development/index.md index 02804bc8a62..70b030ff5d3 100644 --- a/sites/www/content/blog/studying-developers-usage-of-ides-for-flutter-development/index.md +++ b/sites/www/content/blog/studying-developers-usage-of-ides-for-flutter-development/index.md @@ -5,7 +5,9 @@ description: >- use IDEs and which editor features matter most. publishDate: 2022-09-12 author: jayoung-lee -image: images/1lHHYRiiookkYcA-Uhq9pgg.webp +coverImage: + url: images/1lHHYRiiookkYcA-Uhq9pgg.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/supercharge-your-dart-flutter-development-experience-with-the-dart-mcp-server/index.md b/sites/www/content/blog/supercharge-your-dart-flutter-development-experience-with-the-dart-mcp-server/index.md index ff3d2c80493..6726ffd77d9 100644 --- a/sites/www/content/blog/supercharge-your-dart-flutter-development-experience-with-the-dart-mcp-server/index.md +++ b/sites/www/content/blog/supercharge-your-dart-flutter-development-experience-with-the-dart-mcp-server/index.md @@ -5,7 +5,9 @@ description: >- Dart and Flutter development tools and project context. publishDate: 2025-07-23 author: anderdobo -image: images/13K1rgoDtIBWbIFZPp1VCEQ.webp +coverImage: + url: images/13K1rgoDtIBWbIFZPp1VCEQ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/supernova-a-design-system-platform/index.md b/sites/www/content/blog/supernova-a-design-system-platform/index.md index 00b5577bbbf..c7724090c7b 100644 --- a/sites/www/content/blog/supernova-a-design-system-platform/index.md +++ b/sites/www/content/blog/supernova-a-design-system-platform/index.md @@ -4,7 +4,9 @@ description: >- Experience of an early adopter building a Flutter web app publishDate: 2021-09-30 author: mariam_hasnany -image: images/1GOSImwOIA3oqItUMRmq5Kw.webp +coverImage: + url: images/1GOSImwOIA3oqItUMRmq5Kw.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/supporting-six-platforms-with-two-keyboards/index.md b/sites/www/content/blog/supporting-six-platforms-with-two-keyboards/index.md index 92396f3df52..e3da53fb8a4 100644 --- a/sites/www/content/blog/supporting-six-platforms-with-two-keyboards/index.md +++ b/sites/www/content/blog/supporting-six-platforms-with-two-keyboards/index.md @@ -5,13 +5,13 @@ description: >- Linux without losing your sanity publishDate: 2022-12-06 author: domesticmouse -image: images/1RQs5hWCyE30nkyfsVqDb0A.jpeg +coverImage: + alt: "" + url: images/1RQs5hWCyE30nkyfsVqDb0A.jpeg category: deep-dive layout: blog --- - - The joy of Flutter is the ease of developing applications for six platforms. The pain is verifying your application on six platforms. I’m writing a codelab that uses Dart’s Foreign Function Interface (FFI) to integrate C code from iOS, Android, macOS, Linux, and Windows. This story describes how I can develop for all the platforms that Flutter supports without covering my desk in devices. diff --git a/sites/www/content/blog/testable-flutter-and-cloud-firestore/index.md b/sites/www/content/blog/testable-flutter-and-cloud-firestore/index.md index a64e595ae69..f7ee9dbc3de 100644 --- a/sites/www/content/blog/testable-flutter-and-cloud-firestore/index.md +++ b/sites/www/content/blog/testable-flutter-and-cloud-firestore/index.md @@ -4,13 +4,13 @@ description: >- Using dependency injection to test apps using Flutter and Firebase publishDate: 2020-10-15 author: craiglabenz -image: images/1pQJzBr81G169df-ffo24Cg.webp +coverImage: + alt: "" + url: images/1pQJzBr81G169df-ffo24Cg.webp category: deep-dive layout: blog --- - - ## Why Cloud Firestore? The [FlutterFire](https://firebase.flutter.dev/) tech stack, consisting of Flutter and Firebase (and specifically Cloud Firestore), unlock unprecedented development velocity as you build and launch your app. In this article, you’ll explore a robust integration between these two technologies with a focus on testing and using clean architectural patterns. However, instead of jumping straight to the final implementation, you’ll build your way there, one step at a time, so the reasoning behind each step is clear. diff --git a/sites/www/content/blog/that-flutters-reload-is-so-hot-right-now/index.md b/sites/www/content/blog/that-flutters-reload-is-so-hot-right-now/index.md index 5fa91fa02a8..0a76afb69d0 100644 --- a/sites/www/content/blog/that-flutters-reload-is-so-hot-right-now/index.md +++ b/sites/www/content/blog/that-flutters-reload-is-so-hot-right-now/index.md @@ -4,13 +4,15 @@ description: >- Testing how Flutter's hot reload scales up. publishDate: 2018-03-13 author: swavkulinski -image: images/17BKoEbJbiH08LxyMIpQdew.webp +coverImage: + alt: >- + VS Code beside an iPhone simulator displaying many nested bordered + widgets in the hot reload test app. + url: images/17BKoEbJbiH08LxyMIpQdew.webp category: deep-dive layout: blog --- - - When it comes to discussing hot reload there is really no chance to avoid a Zoolander meme so please forgive me the title. One of the most popular features of Flutter framework is its **hot reload**. It allows reloading the code on the running app without losing the state, massively reducing development time. What is really important is that Flutter’s hot reload isn’t a feature which was added to the framework, like **Instant Run** in AndroidStudio. Flutter was designed this way from day one and it just leverages the power of its architecture. Flutter is fairly young but mobile companies already try to tackle full-scale development. I have noticed this by observing the shift in questions asked on [https://gitter.im/flutter/flutter](https://gitter.im/flutter/flutter) and on meetups. The initial wave of questions : diff --git a/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-cloud-next/index.md b/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-cloud-next/index.md index a6e0a5312b7..28c22b50d29 100644 --- a/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-cloud-next/index.md +++ b/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-cloud-next/index.md @@ -5,13 +5,14 @@ description: >- community highlights from Google Cloud Next. publishDate: 2026-04-27 author: twerske -image: images/1MdrcuqmMZPxXdrkJbDAdIA.webp +coverImage: + alt: "" + caption: "Google Cloud Next Recap 2026" + url: images/1MdrcuqmMZPxXdrkJbDAdIA.webp category: news layout: blog --- - - ## That’s a wrap: Everything Flutter at Google Cloud Next Our team has been hard at work this Spring, preparing to meet over 30,000 of you in Las Vegas for Google Cloud Next. For those who couldn’t make it in-person, here is a breakdown of the major highlights, announcements, and experiences from the Flutter and Dart team. diff --git a/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-i-o-2026/index.md b/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-i-o-2026/index.md index 346c928ceb0..83590f04df7 100644 --- a/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-i-o-2026/index.md +++ b/sites/www/content/blog/thats-a-wrap-everything-flutter-at-google-i-o-2026/index.md @@ -6,13 +6,14 @@ description: >- the Flutter and Dart communities. publishDate: 2026-05-28 author: twerske -image: images/1N5Jz1tLlbGEC9sU49O97IA.webp +coverImage: + alt: "" + caption: "Flutter recap at Google I/O 2026!" + url: images/1N5Jz1tLlbGEC9sU49O97IA.webp category: news layout: blog --- - - ## That’s a wrap: Everything Flutter at Google I/O 2026 What a week! Google I/O 2026 is officially in the books. It’s time to recap the whirlwind of updates for the Flutter and Dart communities. diff --git a/sites/www/content/blog/the-flutter-create-winners-are/index.md b/sites/www/content/blog/the-flutter-create-winners-are/index.md index d871f83ebd2..e44b5cced0a 100644 --- a/sites/www/content/blog/the-flutter-create-winners-are/index.md +++ b/sites/www/content/blog/the-flutter-create-winners-are/index.md @@ -5,7 +5,9 @@ description: >- what they built with Flutter in 5 KB or less. publishDate: 2019-05-07 author: aguinis -image: images/1q-DyfLgHgeJRsrEsm9wOVw.jpeg +coverImage: + url: images/1q-DyfLgHgeJRsrEsm9wOVw.jpeg + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/the-future-of-ios-development-with-flutter/index.md b/sites/www/content/blog/the-future-of-ios-development-with-flutter/index.md index 3e45dc2abc9..1874cdd0e35 100644 --- a/sites/www/content/blog/the-future-of-ios-development-with-flutter/index.md +++ b/sites/www/content/blog/the-future-of-ios-development-with-flutter/index.md @@ -5,7 +5,9 @@ description: >- tool for developing iOS apps publishDate: 2023-05-18 author: leighajarett -image: images/1OGs9_siPcMAYd1yDAp-AOA.webp +coverImage: + url: images/1OGs9_siPcMAYd1yDAp-AOA.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/the-power-of-the-flutters-transform-and-gesturedetector-widgets/index.md b/sites/www/content/blog/the-power-of-the-flutters-transform-and-gesturedetector-widgets/index.md index 1a1c32b02a9..0831962af56 100644 --- a/sites/www/content/blog/the-power-of-the-flutters-transform-and-gesturedetector-widgets/index.md +++ b/sites/www/content/blog/the-power-of-the-flutters-transform-and-gesturedetector-widgets/index.md @@ -5,13 +5,15 @@ description: >- interactive, draggable, and scalable Flutter interfaces. publishDate: 2019-06-13 author: justinmc -image: images/16hQYJrDKEE1r961qkxrMwQ.jpeg +coverImage: + alt: >- + A phone running the 2D Transformations demo, with a grid of hexagonal + tiles. + url: images/16hQYJrDKEE1r961qkxrMwQ.jpeg category: deep-dive layout: blog --- - - When it first clicked for me that Flutter gives me full control of everything on the screen, right down to the last pixel, I immediately wanted to go beyond the fixed and predictable world of most app UIs. The fully custom widgets that I could draw using [CustomPaint](https://api.flutter.dev/flutter/widgets/CustomPaint-class.html) begged to be broken out of the typical ScrollView or Container. I wanted to move around, zoom in on things, and navigate the world that Flutter makes it possible to create. The [Transform](https://api.flutter.dev/flutter/widgets/Transform-class.html) widget was my vehicle for navigating this world, and [GestureDetector](https://api.flutter.dev/flutter/widgets/GestureDetector-class.html) provided the controls. diff --git a/sites/www/content/blog/the-power-of-webviews-in-flutter/index.md b/sites/www/content/blog/the-power-of-webviews-in-flutter/index.md index 49b3fd6b2fb..66961a7f493 100644 --- a/sites/www/content/blog/the-power-of-webviews-in-flutter/index.md +++ b/sites/www/content/blog/the-power-of-webviews-in-flutter/index.md @@ -5,7 +5,9 @@ description: >- having to open your mobile device's browser? publishDate: 2019-01-31 author: efortuna -image: images/1aMgCX1bmq6hRNgmsDDVOXQ.gif +coverImage: + url: images/1aMgCX1bmq6hRNgmsDDVOXQ.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/the-top-ten-highlights-from-flutter-dart-in-2025/index.md b/sites/www/content/blog/the-top-ten-highlights-from-flutter-dart-in-2025/index.md index 4f57dafc10f..992034060da 100644 --- a/sites/www/content/blog/the-top-ten-highlights-from-flutter-dart-in-2025/index.md +++ b/sites/www/content/blog/the-top-ten-highlights-from-flutter-dart-in-2025/index.md @@ -5,13 +5,13 @@ description: >- including releases, tooling, AI, and community milestones. publishDate: 2025-12-17 author: twerske -image: images/138nWNBqHADyCszyyX-h98Q.webp +coverImage: + alt: "" + url: images/138nWNBqHADyCszyyX-h98Q.webp category: news layout: blog --- - - ## The Top Ten Highlights from Flutter & Dart in 2025 Hi, Flutter community! My name is Emma Twersky, and I’m back with monthly updates from the Flutterverse. I’m so thankful for the warm welcome, and excited to be a part of this community. diff --git a/sites/www/content/blog/time-is-ticking-clock-contest-live-with-over-10-000-in-prizes/index.md b/sites/www/content/blog/time-is-ticking-clock-contest-live-with-over-10-000-in-prizes/index.md index 1db89c0941b..7afd8bfc0d1 100644 --- a/sites/www/content/blog/time-is-ticking-clock-contest-live-with-over-10-000-in-prizes/index.md +++ b/sites/www/content/blog/time-is-ticking-clock-contest-live-with-over-10-000-in-prizes/index.md @@ -5,7 +5,9 @@ description: >- beautiful, innovative clock face for the Lenovo Smart Clock. publishDate: 2019-11-18 author: aguinis -image: images/1uDHQJzyDKsFEz4X59pi5Uw.webp +coverImage: + url: images/1uDHQJzyDKsFEz4X59pi5Uw.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/try-flutter-web-with-webassembly-week/index.md b/sites/www/content/blog/try-flutter-web-with-webassembly-week/index.md index b42a42d5afe..4e7c6dca7a6 100644 --- a/sites/www/content/blog/try-flutter-web-with-webassembly-week/index.md +++ b/sites/www/content/blog/try-flutter-web-with-webassembly-week/index.md @@ -4,13 +4,14 @@ description: >- Unlock up to 2x to 5x faster web performance by opting into Wasm compilation today publishDate: 2026-08-17 author: kevmoo -image: images/header.webp +coverImage: + alt: "" + caption: "Welcome to Try Flutter Web with WebAssembly Week" + url: images/header.webp category: news layout: blog --- - - Flutter lets you build expressive, multi-platform apps from a single codebase. Whether you're building a dashboard, a tool for your team, or a full web application, Flutter Web gives you the power to bring your app to diff --git a/sites/www/content/blog/tune-in-for-flutterinproduction-coming-soon-to-a-screen-near-you/index.md b/sites/www/content/blog/tune-in-for-flutterinproduction-coming-soon-to-a-screen-near-you/index.md index cfb24f3299d..66c304b9afd 100644 --- a/sites/www/content/blog/tune-in-for-flutterinproduction-coming-soon-to-a-screen-near-you/index.md +++ b/sites/www/content/blog/tune-in-for-flutterinproduction-coming-soon-to-a-screen-near-you/index.md @@ -5,7 +5,9 @@ description: >- PT on December 17, 2024. publishDate: 2024-12-03 author: kkboateng -image: images/1SSIgDyW3jMaOF5nxH5D9lw.gif +coverImage: + url: images/1SSIgDyW3jMaOF5nxH5D9lw.gif + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/two-months-of-fluttergoodnewswednesday/index.md b/sites/www/content/blog/two-months-of-fluttergoodnewswednesday/index.md index ce2238f2f9c..f5f0ba26e50 100644 --- a/sites/www/content/blog/two-months-of-fluttergoodnewswednesday/index.md +++ b/sites/www/content/blog/two-months-of-fluttergoodnewswednesday/index.md @@ -4,7 +4,9 @@ description: >- New apps and plugins, free training and tooling: oh my! publishDate: 2020-05-27 author: timsneath -image: images/0B33kcAC_6aXEEdVZ.webp +coverImage: + url: images/0B33kcAC_6aXEEdVZ.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/unleash-new-ai-capabilities-for-flutter-in-firebase-studio/index.md b/sites/www/content/blog/unleash-new-ai-capabilities-for-flutter-in-firebase-studio/index.md index 41cbaeed4bf..8e61bdbd5cd 100644 --- a/sites/www/content/blog/unleash-new-ai-capabilities-for-flutter-in-firebase-studio/index.md +++ b/sites/www/content/blog/unleash-new-ai-capabilities-for-flutter-in-firebase-studio/index.md @@ -4,7 +4,9 @@ description: >- Flutter development just got a lot smarter in Firebase Studio! publishDate: 2025-07-23 author: antfitch -image: images/1lPy6kRkj2N5ybEhHIKjbVw.webp +coverImage: + url: images/1lPy6kRkj2N5ybEhHIKjbVw.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/updates-on-flutter-and-firebase/index.md b/sites/www/content/blog/updates-on-flutter-and-firebase/index.md index e1714b40495..161a7c52c3f 100644 --- a/sites/www/content/blog/updates-on-flutter-and-firebase/index.md +++ b/sites/www/content/blog/updates-on-flutter-and-firebase/index.md @@ -5,7 +5,9 @@ description: >- Flutter-specific docs, snippets and videos publishDate: 2020-08-19 author: csells -image: images/0v4wFYjvXB2iCem55.webp +coverImage: + url: images/0v4wFYjvXB2iCem55.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/updates-on-flutter-testing/index.md b/sites/www/content/blog/updates-on-flutter-testing/index.md index d51ea5fc164..ff622fe0f77 100644 --- a/sites/www/content/blog/updates-on-flutter-testing/index.md +++ b/sites/www/content/blog/updates-on-flutter-testing/index.md @@ -5,7 +5,9 @@ description: >- stand-alone support for web and desktop, too! publishDate: 2020-12-09 author: csells -image: images/0PEc27voy2YR_winG.webp +coverImage: + url: images/0PEc27voy2YR_winG.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/vibe-once-run-anywhere-with-antigravity-and-flutter/index.md b/sites/www/content/blog/vibe-once-run-anywhere-with-antigravity-and-flutter/index.md index 1036af35211..e0ff3ac301e 100644 --- a/sites/www/content/blog/vibe-once-run-anywhere-with-antigravity-and-flutter/index.md +++ b/sites/www/content/blog/vibe-once-run-anywhere-with-antigravity-and-flutter/index.md @@ -6,13 +6,13 @@ publishDate: 2026-06-29 author: - craiglabenz - rodydavis -image: images/1Mg2Bj5FBg1I19r1Jw4q9Kg.webp +coverImage: + alt: "" + url: images/1Mg2Bj5FBg1I19r1Jw4q9Kg.webp category: case-study layout: blog --- - - Coding agents and the way we use them has already dramatically evolved since their arrival just a handful of months ago. Initially, the focus was heavily on observation — reviewing every single output line by line. But as models rapidly increased in capability, the industry shifted toward true agentic engineering. Today, developers, PMs, and designers are wearing multiple hats, focusing on lofty conceptual goals and letting agents tackle the individual components. To explore this new frontier, our team wanted to build an experience that showcased this exact workflow. We wanted to build a game, generate its assets, write the marketing page, and deploy the whole thing, all using Google’s premiere AI-native platform: Antigravity. diff --git a/sites/www/content/blog/video-web-ad-support-in-flutter/index.md b/sites/www/content/blog/video-web-ad-support-in-flutter/index.md index 352940612ba..92410d20f3b 100644 --- a/sites/www/content/blog/video-web-ad-support-in-flutter/index.md +++ b/sites/www/content/blog/video-web-ad-support-in-flutter/index.md @@ -5,7 +5,9 @@ description: >- Google Mobile Ads plugins for Flutter. publishDate: 2024-12-17 author: zoeyfan -image: images/0xsAbaMexfbR30wgK.webp +coverImage: + url: images/0xsAbaMexfbR30wgK.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/we-hear-you-learnings-from-q3-2019-flutter-user-survey/index.md b/sites/www/content/blog/we-hear-you-learnings-from-q3-2019-flutter-user-survey/index.md index cac37054e5c..1e0a98c921d 100644 --- a/sites/www/content/blog/we-hear-you-learnings-from-q3-2019-flutter-user-survey/index.md +++ b/sites/www/content/blog/we-hear-you-learnings-from-q3-2019-flutter-user-survey/index.md @@ -4,7 +4,9 @@ description: >- On performance, add-to-app, plugins, and more publishDate: 2019-11-19 author: jayoung-lee -image: images/0UMfWbaBispXV0tMD.webp +coverImage: + url: images/0UMfWbaBispXV0tMD.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/we-rebuilt-flutters-websites-with-dart-and-jaspr/index.md b/sites/www/content/blog/we-rebuilt-flutters-websites-with-dart-and-jaspr/index.md index 40c404ac8ec..2f01e374754 100644 --- a/sites/www/content/blog/we-rebuilt-flutters-websites-with-dart-and-jaspr/index.md +++ b/sites/www/content/blog/we-rebuilt-flutters-websites-with-dart-and-jaspr/index.md @@ -5,13 +5,14 @@ description: >- their web presence with Dart and Jaspr. publishDate: 2026-04-15 author: parlough -image: images/1y6lc2WLpxXBKsuoKJywapQ.webp +coverImage: + alt: "" + caption: "Rebuilding three websites using Jaspr, a Dart-based, open-source web framework." + url: images/1y6lc2WLpxXBKsuoKJywapQ.webp category: case-study layout: blog --- - - Despite Dart starting out as a web language and being used every day to build apps across platforms, including the web, our own websites ([dart.dev](https://dart.dev), [flutter.dev](https://flutter.dev), [docs.flutter.dev](https://docs.flutter.dev)) relied on a fragmented mix of non-Dart tools. That’s finally changed. We’ve migrated all three websites to use [Jaspr](https://jaspr.site/), an open-source framework for building websites with Dart. The result is a unified stack with a consistent developer experience where contributing only requires Dart. If you’re curious about building web experiences with Dart beyond standard Flutter web apps, this post explores what motivated our migration and how Dart and Jaspr made it all possible. diff --git a/sites/www/content/blog/web-support-for-flutter-goes-beta/index.md b/sites/www/content/blog/web-support-for-flutter-goes-beta/index.md index 8199cfe2aca..a6abbdd0710 100644 --- a/sites/www/content/blog/web-support-for-flutter-goes-beta/index.md +++ b/sites/www/content/blog/web-support-for-flutter-goes-beta/index.md @@ -5,7 +5,9 @@ description: >- production-quality web apps from a shared codebase. publishDate: 2019-12-11 author: mariam_hasnany -image: images/0M7sTluUPVsk6DcnU.webp +coverImage: + url: images/0M7sTluUPVsk6DcnU.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/what-are-the-important-difficult-tasks-for-flutter-devs-q1-2020-survey-results/index.md b/sites/www/content/blog/what-are-the-important-difficult-tasks-for-flutter-devs-q1-2020-survey-results/index.md index c4dd65e6e22..01a161307f1 100644 --- a/sites/www/content/blog/what-are-the-important-difficult-tasks-for-flutter-devs-q1-2020-survey-results/index.md +++ b/sites/www/content/blog/what-are-the-important-difficult-tasks-for-flutter-devs-q1-2020-survey-results/index.md @@ -5,7 +5,9 @@ description: >- most important and difficult tasks faced by Flutter developers. publishDate: 2020-05-15 author: jayoung-lee -image: images/0OfKgvG4OS6Jt7Wum.webp +coverImage: + url: images/0OfKgvG4OS6Jt7Wum.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/what-can-we-do-better-to-improve-flutter-q2-2021-user-survey-results/index.md b/sites/www/content/blog/what-can-we-do-better-to-improve-flutter-q2-2021-user-survey-results/index.md index 602c1f95ab7..c3e10cd0927 100644 --- a/sites/www/content/blog/what-can-we-do-better-to-improve-flutter-q2-2021-user-survey-results/index.md +++ b/sites/www/content/blog/what-can-we-do-better-to-improve-flutter-q2-2021-user-survey-results/index.md @@ -5,7 +5,9 @@ description: >- Flutter developers wanted most. publishDate: 2021-08-13 author: jayoung-lee -image: images/0m2ihVMc99emY4hQY.webp +coverImage: + url: images/0m2ihVMc99emY4hQY.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/what-do-flutter-package-users-need-findings-from-q2-user-survey/index.md b/sites/www/content/blog/what-do-flutter-package-users-need-findings-from-q2-user-survey/index.md index 3df4ba81061..486b4d898e7 100644 --- a/sites/www/content/blog/what-do-flutter-package-users-need-findings-from-q2-user-survey/index.md +++ b/sites/www/content/blog/what-do-flutter-package-users-need-findings-from-q2-user-survey/index.md @@ -5,13 +5,16 @@ description: >- discover, evaluate, and use packages. publishDate: 2019-07-25 author: jayoung-lee -image: images/0JGPtcSX7QYbN8Dvn.webp +coverImage: + alt: >- + A word cloud of survey comments in the shape of the Flutter logo, with + app, Dart, widget, and need among the largest words. + caption: "*A word cloud made with the Q2 survey comments* ☁️ *(link to the original [image](https://raw.githubusercontent.com/timsneath/wordcloud_flutter/master/flutter_wordcloud.png), [code](https://github.com/timsneath/wordcloud_flutter))*" + url: images/0JGPtcSX7QYbN8Dvn.webp category: news layout: blog --- - - We recently ran our sixth quarterly user survey and collected responses from over 7,000 Flutter users. We found that 92.5% of the respondents are satisfied or very satisfied, which is slightly higher than the [last quarter](https://flutter.dev/blog/insights-from-flutters-first-user-survey-of-2019)! We are thrilled to see a consistent level of satisfaction with Flutter. In this article, we cover some deep-dive questions around Flutter’s ecosystem, because we recognize that helping the Flutter community grow the ecosystem is important. As of July, 2019, you can find over 2,800 Flutter-dependent packages published on [pub.dev](https://pub.dev). At the same time last year, there were about 350 Flutter-dependent packages available, showing tremendous growth! And this does not include the thousands of additional Dart packages that are compatible with Flutter apps. diff --git a/sites/www/content/blog/what-we-learned-from-the-flutter-q2-2020-survey/index.md b/sites/www/content/blog/what-we-learned-from-the-flutter-q2-2020-survey/index.md index ea064e05168..ca19027b00e 100644 --- a/sites/www/content/blog/what-we-learned-from-the-flutter-q2-2020-survey/index.md +++ b/sites/www/content/blog/what-we-learned-from-the-flutter-q2-2020-survey/index.md @@ -4,7 +4,9 @@ description: >- With a focus on code samples, app performance, and writing packages publishDate: 2020-07-22 author: jayoung-lee -image: images/1BJJb_evaKM8qgJV5VCn95Q.webp +coverImage: + url: images/1BJJb_evaKM8qgJV5VCn95Q.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/what-we-learned-from-the-flutter-q3-2022-survey/index.md b/sites/www/content/blog/what-we-learned-from-the-flutter-q3-2022-survey/index.md index b4717cf2449..8ce248685ea 100644 --- a/sites/www/content/blog/what-we-learned-from-the-flutter-q3-2022-survey/index.md +++ b/sites/www/content/blog/what-we-learned-from-the-flutter-q3-2022-survey/index.md @@ -4,7 +4,9 @@ description: >- About Firebase SDKs, quick fixes and refactorings, and target platforms publishDate: 2022-12-08 author: jayoung-lee -image: images/0XaZXV1SPtqbuZhFc.webp +coverImage: + url: images/0XaZXV1SPtqbuZhFc.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/what-weve-learned-from-the-july-2018-flutter-user-survey/index.md b/sites/www/content/blog/what-weve-learned-from-the-july-2018-flutter-user-survey/index.md index ecc1aa005e2..1bb4f51af53 100644 --- a/sites/www/content/blog/what-weve-learned-from-the-july-2018-flutter-user-survey/index.md +++ b/sites/www/content/blog/what-weve-learned-from-the-july-2018-flutter-user-survey/index.md @@ -6,7 +6,9 @@ description: >- user satisfaction and understand user needs. publishDate: 2018-08-30 author: jayoung-lee -image: images/1gM8BhAAqil2B79RCarJ5-A.jpeg +coverImage: + url: images/1gM8BhAAqil2B79RCarJ5-A.jpeg + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-2-0/index.md b/sites/www/content/blog/whats-new-in-flutter-2-0/index.md index 7c702bcf929..73b33a748d4 100644 --- a/sites/www/content/blog/whats-new-in-flutter-2-0/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-2-0/index.md @@ -5,7 +5,9 @@ description: >- so much more! publishDate: 2021-03-03 author: csells -image: images/0KQZef4s2-koToHMA.webp +coverImage: + url: images/0KQZef4s2-koToHMA.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-2-10/index.md b/sites/www/content/blog/whats-new-in-flutter-2-10/index.md index ba37ea6ec32..6d0f076f2da 100644 --- a/sites/www/content/blog/whats-new-in-flutter-2-10/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-2-10/index.md @@ -4,7 +4,9 @@ description: >- Windows stable, performance improvements, Material 3 updates and more! publishDate: 2022-02-03 author: csells -image: images/0278rYAB5Pac8_7SD.webp +coverImage: + url: images/0278rYAB5Pac8_7SD.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-2-2/index.md b/sites/www/content/blog/whats-new-in-flutter-2-2/index.md index 733abcd7a5c..1a4e2a3a7cc 100644 --- a/sites/www/content/blog/whats-new-in-flutter-2-2/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-2-2/index.md @@ -5,7 +5,9 @@ description: >- Android deferred components, web improvements, and new tooling. publishDate: 2021-05-19 author: csells -image: images/0fS4WbRPwmo_FQgDo.webp +coverImage: + url: images/0fS4WbRPwmo_FQgDo.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-2-5/index.md b/sites/www/content/blog/whats-new-in-flutter-2-5/index.md index 3f511c8b6cf..f89cde2b0c0 100644 --- a/sites/www/content/blog/whats-new-in-flutter-2-5/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-2-5/index.md @@ -5,7 +5,9 @@ description: >- app template, and more! publishDate: 2021-09-08 author: csells -image: images/0esYsdKzKL64130ln.webp +coverImage: + url: images/0esYsdKzKL64130ln.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-2-8/index.md b/sites/www/content/blog/whats-new-in-flutter-2-8/index.md index d780de17c0f..a9be1c3e310 100644 --- a/sites/www/content/blog/whats-new-in-flutter-2-8/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-2-8/index.md @@ -5,7 +5,9 @@ description: >- tooling updates, and more! publishDate: 2021-12-09 author: csells -image: images/00frogkEKgpNOgCVF.webp +coverImage: + url: images/00frogkEKgpNOgCVF.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-3-10/index.md b/sites/www/content/blog/whats-new-in-flutter-3-10/index.md index d92bbcf71fe..95a228b3aca 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-10/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-10/index.md @@ -5,7 +5,9 @@ description: >- Impeller in stable, and more publishDate: 2023-05-10 author: itsjustkevin -image: images/1CPv57Dp1cYXPz-YtZ2jMcA.webp +coverImage: + url: images/1CPv57Dp1cYXPz-YtZ2jMcA.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-3-13/index.md b/sites/www/content/blog/whats-new-in-flutter-3-13/index.md index c99db8c1148..16981e624dd 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-13/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-13/index.md @@ -4,13 +4,13 @@ description: >- 2D scrolling, faster graphics, Material 3 updates and more publishDate: 2023-08-16 author: itsjustkevin -image: images/0H4kTD2wabl_kscFq.webp +coverImage: + alt: "" + url: images/0H4kTD2wabl_kscFq.webp category: release layout: blog --- - - ## What’s new in Flutter 3.13 ### 2D scrolling, faster graphics, Material 3 updates and more diff --git a/sites/www/content/blog/whats-new-in-flutter-3-16/index.md b/sites/www/content/blog/whats-new-in-flutter-3-16/index.md index b755a29c3a9..99b7a7d64f3 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-16/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-16/index.md @@ -5,13 +5,13 @@ description: >- much more publishDate: 2023-11-15 author: itsjustkevin -image: images/1TDndNB8cS95g5faXBKitHA.webp +coverImage: + alt: "" + url: images/1TDndNB8cS95g5faXBKitHA.webp category: release layout: blog --- - - ## What’s new in Flutter 3.16 ### Material 3 by default, Impeller preview for Android, DevTools extensions, and much more diff --git a/sites/www/content/blog/whats-new-in-flutter-3-19/index.md b/sites/www/content/blog/whats-new-in-flutter-3-19/index.md index 3d564dbfa3d..afe6284d3ad 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-19/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-19/index.md @@ -5,13 +5,13 @@ description: >- Windows Arm64 Support publishDate: 2024-02-15 author: itsjustkevin -image: images/0ZX3bHJdGGZwwOQHt.gif +coverImage: + alt: "" + url: images/0ZX3bHJdGGZwwOQHt.gif category: release layout: blog --- - - ## What’s new in Flutter 3.19 ### Revolutionizing App Development with the Gemini API, Impeller Updates, and Windows Arm64 Support diff --git a/sites/www/content/blog/whats-new-in-flutter-3-22/index.md b/sites/www/content/blog/whats-new-in-flutter-3-22/index.md index 0867b78dee6..9fb1225828e 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-22/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-22/index.md @@ -5,13 +5,13 @@ description: >- integration publishDate: 2024-05-14 author: itsjustkevin -image: images/1hf9CEzGh0uhxnzVZi2Kk4g.webp +coverImage: + alt: "" + url: images/1hf9CEzGh0uhxnzVZi2Kk4g.webp category: release layout: blog --- - - ## What’s new in Flutter 3.22 ### WebAssembly, Graphics rendering enhancements, and more options for AI integration diff --git a/sites/www/content/blog/whats-new-in-flutter-3-24/index.md b/sites/www/content/blog/whats-new-in-flutter-3-24/index.md index fa4a485714c..9d2eef634fd 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-24/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-24/index.md @@ -4,7 +4,9 @@ description: >- Unleashing Flutter GPU, Multi-View Embedding, and More publishDate: 2024-08-06 author: itsjustkevin -image: images/0bdcb6KGonosfPZ6m.webp +coverImage: + url: images/0bdcb6KGonosfPZ6m.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-3-27/index.md b/sites/www/content/blog/whats-new-in-flutter-3-27/index.md index 7e9b2a31af2..f7e3d6df6df 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-27/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-27/index.md @@ -4,13 +4,13 @@ description: >- Elevating App Development with Impeller, Cupertino Updates, and More publishDate: 2024-12-11 author: itsjustkevin -image: images/1auh3JCfdFKzK_licnLrEKQ.webp +coverImage: + alt: "" + url: images/1auh3JCfdFKzK_licnLrEKQ.webp category: release layout: blog --- - - ## What’s new in Flutter 3.27 ### Elevating App Development with Impeller, Cupertino Updates, and More diff --git a/sites/www/content/blog/whats-new-in-flutter-3-29/index.md b/sites/www/content/blog/whats-new-in-flutter-3-29/index.md index 37d56729d81..c7e2309d128 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-29/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-29/index.md @@ -4,13 +4,13 @@ description: >- Enhancing Performance and Fidelity Across Platforms publishDate: 2025-02-12 author: itsjustkevin -image: images/1-XHpdhmBoEU-K3pSPWTX3g.webp +coverImage: + alt: "" + url: images/1-XHpdhmBoEU-K3pSPWTX3g.webp category: release layout: blog --- - - ## What’s new in Flutter 3.29 ### Enhancing Performance and Fidelity Across Platforms diff --git a/sites/www/content/blog/whats-new-in-flutter-3-3/index.md b/sites/www/content/blog/whats-new-in-flutter-3-3/index.md index dcd78a9f922..8250251e388 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-3/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-3/index.md @@ -4,7 +4,9 @@ description: >- Exciting updates for text handling, performance improvements, and more! publishDate: 2022-08-30 author: itsjustkevin -image: images/04Mac8uQL3ynXVIuD.webp +coverImage: + url: images/04Mac8uQL3ynXVIuD.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-3-32/index.md b/sites/www/content/blog/whats-new-in-flutter-3-32/index.md index 770048a883f..ec08b1f08d3 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-32/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-32/index.md @@ -4,13 +4,13 @@ description: >- Hot reload on web, native fidelity, and deeper integrations publishDate: 2025-05-20 author: itsjustkevin -image: images/1FTpRgnrZGMzzCjEl4sCmiw.webp +coverImage: + alt: "" + url: images/1FTpRgnrZGMzzCjEl4sCmiw.webp category: release layout: blog --- - - ## What’s new in Flutter 3.32 ### Hot reload on web, native fidelity, and deeper integrations diff --git a/sites/www/content/blog/whats-new-in-flutter-3-35/index.md b/sites/www/content/blog/whats-new-in-flutter-3-35/index.md index 63da756807c..a5b25dda091 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-35/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-35/index.md @@ -4,13 +4,13 @@ description: >- Hot Reload, Widget Previews, and More publishDate: 2025-08-14 author: itsjustkevin -image: images/1KLn6ye1qAU9vAI3zgIhLCg.webp +coverImage: + alt: "" + url: images/1KLn6ye1qAU9vAI3zgIhLCg.webp category: release layout: blog --- - - ## What’s new in Flutter 3.35 ### Hot Reload, Widget Previews, and More diff --git a/sites/www/content/blog/whats-new-in-flutter-3-38/index.md b/sites/www/content/blog/whats-new-in-flutter-3-38/index.md index 868e8f7c04e..d2bf93de366 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-38/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-38/index.md @@ -4,13 +4,13 @@ description: >- Write less, see more, build faster publishDate: 2025-11-12 author: itsjustkevin -image: images/1MMtTv_yj5ycI6is3vkXRow.webp +coverImage: + alt: "" + url: images/1MMtTv_yj5ycI6is3vkXRow.webp category: release layout: blog --- - - ## What’s new in Flutter 3.38 ### Write less, see more, build faster diff --git a/sites/www/content/blog/whats-new-in-flutter-3-41/index.md b/sites/www/content/blog/whats-new-in-flutter-3-41/index.md index dff6e2110a6..d7243245431 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-41/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-41/index.md @@ -4,7 +4,9 @@ description: >- Empowering the community publishDate: 2026-02-11 author: itsjustkevin -image: images/1jmKuW7ItWRJAHNABfTEhHA.gif +coverImage: + url: images/1jmKuW7ItWRJAHNABfTEhHA.gif + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-3-44/index.md b/sites/www/content/blog/whats-new-in-flutter-3-44/index.md index 8b0f60ad5a6..b17f4426dfc 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-44/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-44/index.md @@ -4,13 +4,14 @@ description: >- Empowering developers at Google I/O 2026 publishDate: 2026-05-20 author: khanhnwin -image: images/1vZ-dmpSHSo3nF0ChZDb02A.gif +coverImage: + alt: "" + caption: "Flutter 3.44: Scaling to more users on more devices!" + url: images/1vZ-dmpSHSo3nF0ChZDb02A.gif category: release layout: blog --- - - ## What’s new in Flutter 3.44 Empowering developers at Google I/O 2026 diff --git a/sites/www/content/blog/whats-new-in-flutter-3-47/index.md b/sites/www/content/blog/whats-new-in-flutter-3-47/index.md index 548e088aa1a..0b5330a7c58 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-47/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-47/index.md @@ -3,14 +3,15 @@ title: "What’s new in Flutter 3.47" description: "Modular by design: Standalone UI Packages and Impeller on Desktop" publishDate: 2026-08-12 author: twerske -image: images/hero_image.webp +coverImage: + alt: "" + caption: "What's new in Flutter 3.47" + url: images/hero_image.webp socialImage: images/hero_image_cover.webp category: release layout: blog --- - - Flutter 3.47 is here, and with it, we’ve got some exciting new updates. Today, we welcome the 1.0 release of the standalone diff --git a/sites/www/content/blog/whats-new-in-flutter-3-7/index.md b/sites/www/content/blog/whats-new-in-flutter-3-7/index.md index b7203aca94b..bc9561024be 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3-7/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3-7/index.md @@ -4,7 +4,9 @@ description: >- Material 3 updates, iOS improvements, and much more! publishDate: 2023-01-24 author: itsjustkevin -image: images/1AsyYVtFMXY0iS6gLz_O4BA.png +coverImage: + url: images/1AsyYVtFMXY0iS6gLz_O4BA.png + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-3/index.md b/sites/www/content/blog/whats-new-in-flutter-3/index.md index 6b8f8d6a1a8..095be400d82 100644 --- a/sites/www/content/blog/whats-new-in-flutter-3/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-3/index.md @@ -5,7 +5,9 @@ description: >- performance improvements, and more! publishDate: 2022-05-11 author: itsjustkevin -image: images/1K1Ru7PVkH74N56hgjBTjjQ.webp +coverImage: + url: images/1K1Ru7PVkH74N56hgjBTjjQ.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-in-flutter-beta-3/index.md b/sites/www/content/blog/whats-new-in-flutter-beta-3/index.md index 37987c673d9..cbd36076965 100644 --- a/sites/www/content/blog/whats-new-in-flutter-beta-3/index.md +++ b/sites/www/content/blog/whats-new-in-flutter-beta-3/index.md @@ -5,7 +5,9 @@ description: >- our toolkit for building beautiful mobile UI for iOS and Android. publishDate: 2018-05-07 author: timsneath -image: images/0Sdp8z8g2G2spsW3j.webp +coverImage: + url: images/0Sdp8z8g2G2spsW3j.webp + display: false category: release layout: blog --- diff --git a/sites/www/content/blog/whats-new-with-the-slider-widget/index.md b/sites/www/content/blog/whats-new-with-the-slider-widget/index.md index 53071c12ffc..2f2395fdbf8 100644 --- a/sites/www/content/blog/whats-new-with-the-slider-widget/index.md +++ b/sites/www/content/blog/whats-new-with-the-slider-widget/index.md @@ -5,13 +5,14 @@ description: >- customize its appearance and behavior with Material components. publishDate: 2020-06-18 author: josealba -image: images/10vbyZT-NITTvqljO8HtU4w.webp +coverImage: + alt: >- + A phone mockup showing a slider beside the text “Selecting a range?” + url: images/10vbyZT-NITTvqljO8HtU4w.webp category: news layout: blog --- - - Flutter lets you create beautiful, natively compiled applications. The reason Flutter can do this is because Flutter loves Material. [Material](https://material.io) is a design system that helps build high-quality, digital experiences. As UI design continues to evolve, Material continues to update its components, motion, and design system. Flutter recently updated the [`Slider`](https://api.flutter.dev/flutter/material/Slider-class.html) and [`RangeSlider`](https://api.flutter.dev/flutter/material/RangeSlider-class.html) widgets to the latest the Material guidelines. The new sliders were designed with better accessibility in mind: The tracks are taller, the thumbs have shadows, and the value indicators have a new shape and improved text scaling support. diff --git a/sites/www/content/blog/whats-next-for-flutter/index.md b/sites/www/content/blog/whats-next-for-flutter/index.md index 857f2c49472..b3eb215b3e6 100644 --- a/sites/www/content/blog/whats-next-for-flutter/index.md +++ b/sites/www/content/blog/whats-next-for-flutter/index.md @@ -4,7 +4,9 @@ description: >- Setting out our vision at the Flutter Forward event in Nairobi publishDate: 2023-01-25 author: timsneath -image: images/01m_CqCW7oMEoqPrl.webp +coverImage: + url: images/01m_CqCW7oMEoqPrl.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/when-should-i-useanimatedbuilder-or-animatedwidget/index.md b/sites/www/content/blog/when-should-i-useanimatedbuilder-or-animatedwidget/index.md index 2f4dde2263e..08a7af89d9d 100644 --- a/sites/www/content/blog/when-should-i-useanimatedbuilder-or-animatedwidget/index.md +++ b/sites/www/content/blog/when-should-i-useanimatedbuilder-or-animatedwidget/index.md @@ -5,7 +5,9 @@ description: >- so thank you for choosing AnimatedBuilder and AnimatedWidget. publishDate: 2020-01-19 author: efortuna -image: images/1BdRzZMnfFtwe0Wn1dxWp4g.gif +coverImage: + url: images/1BdRzZMnfFtwe0Wn1dxWp4g.gif + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/which-factors-affected-users-decisions-to-adopt-flutter-q1-2021-user-survey-results/index.md b/sites/www/content/blog/which-factors-affected-users-decisions-to-adopt-flutter-q1-2021-user-survey-results/index.md index 3c171b1a645..885e15d450c 100644 --- a/sites/www/content/blog/which-factors-affected-users-decisions-to-adopt-flutter-q1-2021-user-survey-results/index.md +++ b/sites/www/content/blog/which-factors-affected-users-decisions-to-adopt-flutter-q1-2021-user-survey-results/index.md @@ -5,7 +5,9 @@ description: >- influence developers' decisions to adopt Flutter. publishDate: 2021-05-13 author: jayoung-lee -image: images/0_m-0usdhsHPmeZ8U.webp +coverImage: + url: images/0_m-0usdhsHPmeZ8U.webp + display: false category: news layout: blog --- diff --git a/sites/www/content/blog/why-flutter-doesnt-use-oem-widgets/index.md b/sites/www/content/blog/why-flutter-doesnt-use-oem-widgets/index.md index d4deebdeaf5..e0e6541a218 100644 --- a/sites/www/content/blog/why-flutter-doesnt-use-oem-widgets/index.md +++ b/sites/www/content/blog/why-flutter-doesnt-use-oem-widgets/index.md @@ -5,13 +5,16 @@ description: >- the future of non-OEM widgets, and bespoke mobile design publishDate: 2017-11-16 author: xster -image: images/1Tt9lpvpKa1700v74KcjcIw.webp +coverImage: + alt: >- + A Nexus S 4G displays a Material Design contact screen; its settings + show Android 4.1.2. + caption: "Modern, consistent Material Design on a phone shipped **4 years** before Material Design was unveiled" + url: images/1Tt9lpvpKa1700v74KcjcIw.webp category: deep-dive layout: blog --- - - ## Preface Before joining the Flutter team early in 2017, I developed mobile applications for years — some in a fast-paced startup agency, and more recently for large-scale consumer applications inside Google. diff --git a/sites/www/content/blog/why-you-should-smoke-test-your-sample-code-and-how-to-do-it-in-flutter/index.md b/sites/www/content/blog/why-you-should-smoke-test-your-sample-code-and-how-to-do-it-in-flutter/index.md index 687d1ed6165..76aaab5884b 100644 --- a/sites/www/content/blog/why-you-should-smoke-test-your-sample-code-and-how-to-do-it-in-flutter/index.md +++ b/sites/www/content/blog/why-you-should-smoke-test-your-sample-code-and-how-to-do-it-in-flutter/index.md @@ -5,7 +5,9 @@ description: >- with Travis CI to catch breakages on every change and across Flutter releases. publishDate: 2018-06-06 author: filiph -image: images/1khKciHLLdyG1gIY3qmwbLw.webp +coverImage: + url: images/1khKciHLLdyG1gIY3qmwbLw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/wonderous-explore-the-world-with-flutter/index.md b/sites/www/content/blog/wonderous-explore-the-world-with-flutter/index.md index 75262034331..ac51928db58 100644 --- a/sites/www/content/blog/wonderous-explore-the-world-with-flutter/index.md +++ b/sites/www/content/blog/wonderous-explore-the-world-with-flutter/index.md @@ -4,7 +4,9 @@ description: >- A reference app that shows how to develop tailored UI using Flutter publishDate: 2022-08-30 author: leighajarett -image: images/1Tb-JXZnxo2pu232C4c2KqQ.webp +coverImage: + url: images/1Tb-JXZnxo2pu232C4c2KqQ.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/wonderous-nominated-for-webby-award/index.md b/sites/www/content/blog/wonderous-nominated-for-webby-award/index.md index f0040b07763..d0f4397012b 100644 --- a/sites/www/content/blog/wonderous-nominated-for-webby-award/index.md +++ b/sites/www/content/blog/wonderous-nominated-for-webby-award/index.md @@ -5,7 +5,9 @@ description: >- category. publishDate: 2023-04-06 author: leighajarett -image: images/1XksvK4Wq0YbZoIG8udUShw.webp +coverImage: + url: images/1XksvK4Wq0YbZoIG8udUShw.webp + display: false category: case-study layout: blog --- diff --git a/sites/www/content/blog/zero-to-one-with-flutter-part-two/index.md b/sites/www/content/blog/zero-to-one-with-flutter-part-two/index.md index 6f7bcb9a798..206bfa5795a 100644 --- a/sites/www/content/blog/zero-to-one-with-flutter-part-two/index.md +++ b/sites/www/content/blog/zero-to-one-with-flutter-part-two/index.md @@ -5,7 +5,9 @@ description: >- the context of a cross-platform mobile app publishDate: 2017-03-31 author: mravn -image: images/1OSc2sFHg8KH4ZQR2ymytKg.webp +coverImage: + url: images/1OSc2sFHg8KH4ZQR2ymytKg.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/content/blog/zero-to-one-with-flutter/index.md b/sites/www/content/blog/zero-to-one-with-flutter/index.md index d4a1b176983..56e33048c8b 100644 --- a/sites/www/content/blog/zero-to-one-with-flutter/index.md +++ b/sites/www/content/blog/zero-to-one-with-flutter/index.md @@ -6,7 +6,9 @@ description: >- implement animated charts publishDate: 2017-02-22 author: mravn -image: images/1n76TpChNv8Q25WrfBiuWpw.webp +coverImage: + url: images/1n76TpChNv8Q25WrfBiuWpw.webp + display: false category: deep-dive layout: blog --- diff --git a/sites/www/lib/src/components/common/content_image.dart b/sites/www/lib/src/components/common/content_image.dart new file mode 100644 index 00000000000..ba683381439 --- /dev/null +++ b/sites/www/lib/src/components/common/content_image.dart @@ -0,0 +1,63 @@ +// Copyright 2026 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:jaspr/dom.dart'; +import 'package:jaspr/jaspr.dart'; +import 'package:jaspr_content/jaspr_content.dart'; +import 'package:site_shared/markdown.dart'; + +/// An image in page content, with an optional figure and Markdown caption. +class ContentImage extends StatelessComponent { + const ContentImage({ + required this.src, + required this.alt, + this.caption, + this.isFigure = false, + this.figureClass, + this.imageClass, + this.imageStyle = '', + super.key, + }); + + /// The image path, resolved relative to the current page. + final String src; + + /// The alternative text, or an empty string for a decorative image. + final String alt; + + /// The optional caption, rendered as inline Markdown. + final String? caption; + + /// Whether to wrap the image and caption in a figure. + final bool isFigure; + + /// The CSS classes for the optional figure wrapper. + final String? figureClass; + + /// The CSS classes for the image. + final String? imageClass; + + /// The inline CSS declarations for the image. + final String imageStyle; + + @override + Component build(BuildContext context) { + final child = Component.fragment([ + img( + src: context.resolveAsset(src), + alt: alt, + classes: imageClass, + attributes: { + if (imageStyle.isNotEmpty) 'style': imageStyle, + }, + ), + if (caption case final caption? when caption.isNotEmpty) + figcaption(classes: 'figure-caption', [ + DashMarkdown(content: caption, inline: true), + ]), + ]); + + return isFigure ? figure(classes: figureClass, [child]) : child; + } +} diff --git a/sites/www/lib/src/components/common/dash_image.dart b/sites/www/lib/src/components/common/dash_image.dart index b52c47e0117..30da843492f 100644 --- a/sites/www/lib/src/components/common/dash_image.dart +++ b/sites/www/lib/src/components/common/dash_image.dart @@ -2,10 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:jaspr/dom.dart'; import 'package:jaspr/jaspr.dart'; import 'package:jaspr_content/jaspr_content.dart'; -import 'package:site_shared/markdown.dart'; + +import 'content_image.dart'; class DashImage with CustomComponentBase { const DashImage(); @@ -19,7 +19,7 @@ class DashImage with CustomComponentBase { final imgSrc = attributes['src'] ?? (throw Exception( - ' component requires an "image" attribute.', + ' component requires a "src" attribute.', )); final caption = attributes['caption'] ?? ''; @@ -38,29 +38,14 @@ class DashImage with CustomComponentBase { .map((style) => style.endsWith(';') ? style : '$style;') .join(' '); - final child = Builder( - builder: (context) => Component.fragment([ - img( - src: context.resolveAsset(imgSrc), - alt: alt, - classes: imgClass, - attributes: { - if (style.isNotEmpty) 'style': style, - }, - ), - if (caption.isNotEmpty) - figcaption(classes: 'figure-caption', [ - DashMarkdown(content: caption, inline: true), - ]), - ]), + return ContentImage( + src: imgSrc, + alt: alt, + caption: caption, + isFigure: isFigure, + figureClass: figureClass, + imageClass: imgClass, + imageStyle: style, ); - - if (isFigure) { - return figure(classes: figureClass, [ - child, - ]); - } - - return child; } } diff --git a/sites/www/lib/src/layouts/blog_layout.dart b/sites/www/lib/src/layouts/blog_layout.dart index 394a6139076..7f5ac557228 100644 --- a/sites/www/lib/src/layouts/blog_layout.dart +++ b/sites/www/lib/src/layouts/blog_layout.dart @@ -14,6 +14,7 @@ import 'package:site_shared/components/common/breadcrumbs.dart'; import 'package:site_shared/components/common/client/back_to_top_button.dart'; import 'package:site_shared/util.dart'; +import '../components/common/content_image.dart'; import '../utils/scroll_spy.dart'; import 'default_layout.dart'; @@ -96,6 +97,14 @@ class BlogLayout extends DefaultLayout { ]), ]), if (post != null) PostInfo(post: post, url: page.url), + if (post?.coverImage case final coverImage? + when coverImage.display) + ContentImage( + src: coverImage.url, + alt: coverImage.alt ?? '', + caption: coverImage.caption, + isFigure: true, + ), child, if (isPost) BlogNextPosts(currentPage: page, category: pageCategory), diff --git a/sites/www/lib/src/loaders/blog_data_processor.dart b/sites/www/lib/src/loaders/blog_data_processor.dart index 3b57971a489..4fe40b3f704 100644 --- a/sites/www/lib/src/loaders/blog_data_processor.dart +++ b/sites/www/lib/src/loaders/blog_data_processor.dart @@ -5,6 +5,9 @@ import 'package:jaspr_content/jaspr_content.dart'; /// Adds derived data to each filesystem-backed blog post. +/// +/// Run before the asset data loader so the derived card image is resolved +/// for both blog cards and social metadata. final class BlogPostDataProcessor implements DataLoader { static final RegExp _wordPattern = RegExp(r'\w+'); @@ -21,9 +24,30 @@ final class BlogPostDataProcessor implements DataLoader { final wordCount = _wordPattern.allMatches(page.content).length; final readingTime = (wordCount / 250).ceil(); + if (page.data.page['image'] != null) { + throw ArgumentError( + 'Unsupported "image" metadata at "${page.url}". ' + 'Use "coverImage" instead.', + ); + } + + // Reject invalid URLs before the asset loader tries to read them. + final coverImageUrl = switch (page.data.page['coverImage']) { + null => null, + final Map coverImage when coverImage.isEmpty => null, + {'url': final String url} when url.trim().isNotEmpty => url, + _ => throw ArgumentError( + 'Invalid "coverImage" metadata at "${page.url}". ' + 'Must include a non-empty "url" string.', + ), + }; + page.apply( data: { - 'page': {'readingTime': '$readingTime min read'}, + 'page': { + 'readingTime': '$readingTime min read', + 'image': ?coverImageUrl, + }, }, ); }