Google_IO_Flip_FlutterMinisite_SectionIcons_How.png

构建 FLIP

我们是如何构建它的

I/O FLIP 是 Google 新的人工智能工具与您已经熟悉和喜爱的工具之间无缝集成的示例。角色图像使用 Muse 上的 DreamBooth 生成,描述使用 PaLM API 生成。游戏 UI 和动画在 Flutter 中创建,后端使用 Dart 编写。它使用 Firebase 和 Google Cloud 工具套件进行托管和共享。

了解更多
Google_IO_Flip_FlutterMinisite_SectionIcons_Code.png

代码

深入代码

访问构成 I/O FLIP 的代码,并以此为灵感,使用 I/O FLIP 中的所有工具以及更多工具,创造出更多有趣和令人愉悦的创新。

深入了解

常见问题

常见
问题

这是什么?

I/O FLIP 是一款由 Google 提供支持,为 Google I/O 2023 打造的人工智能设计纸牌游戏。

图像和描述是如何创建的?

图像使用 Muse 生成,Muse 是 Google Research 开发的文本到图像 Transformer 模型,并使用我们创建的艺术作品进行训练。文本使用 PaLM API 基于 Google 创建的文本输入生成。为了确保所有用户都能获得积极的体验,图像和文本是在离线状态下生成的,以便由人工审核员进行审查,以确保它们符合 Google AI 原则

如何使用人工智能?

人工智能用于创建每张卡片上的图像和描述。

获胜者是否有奖品?

游戏没有奖品。

共享时会存储和公开哪些数据?

如果您选择共享,您的姓名首字母、卡片和分数将在唯一的 URL 上提供 30 天,然后自动删除。

时间安排

星期三,
1 月 25 日

Flutter Forward Schedule

Flutter Forward 主题演讲

激动人心的产品发布、技术演示和特邀嘉宾!

观看

使用 Flutter 进行设计

使用 Material 3 将设计转换为代码

学习如何使用高级主题技术在 Flutter 中构建罗勒材质研究,以及如何为多种设备上下文构建。

使用 Flutter 制作漂亮的原型设计

我们将展示为什么 Flutter 是构建雄心勃勃的设计的绝佳选择,因为我们开始使用自定义动画、可变字体和着色器为益智应用程序制作原型。

使用 FlutterFlow 以闪电般的速度创建引人入胜的体验

学习如何创建美观且响应迅速的 UI、添加动画、创建自定义 widget、生成干净的代码,以及使用 FlutterFlow 一键部署到应用商店和网络。

使用 Bonfire 在 Flutter 中构建 RPG 游戏

学习如何使用 Bonfire 在 Flutter 中构建 RPG 游戏,Bonfire 是一个基于 Flame 游戏引擎的软件包。

全栈开发

Flutter 开发人员的顶级云开发技巧

在以下十个步骤中,使用 Dart 在服务器上补充您的 Flutter 应用程序,这些步骤从初始项目开发一直运行到部署和 QA 自动化。

使用 Dart 进行实时游戏

学习如何在后端运行 Dart 以驱动跨多个平台的简单实时多人游戏。我们将使用 Flame 游戏引擎并尝试在客户端和服务器之间重用一些代码。

使用 Firebase Remote Config 随时控制您的 Flutter 应用程序

实时更新、功能标记、A/B 测试——如果我告诉你,你可以通过最少的开发工作和没有任何成本地在你的 Flutter 应用程序中启用这些强大的功能,你会怎么想?Firebase Remote Config 是一项免费服务,它允许在不发布应用程序更新的情况下远程更改应用程序的行为。在本视频中,我将介绍 Firebase Remote Config 在构建 Flutter 应用程序时可以帮助您的多个现实世界用例。

Dart 和 Flutter 的未来

将模式匹配引入 Dart

记录和模式匹配是 Dart 3.0 中即将推出的两个最大功能。我将讨论它们是什么、它们对什么有用以及它们如何与 Dart 语言的其余部分协调。

Impeller

关于 Impeller 的所有你需要知道的信息,Impeller 是 Flutter 的一种新的渲染运行时解决方案,用于解决早期卡顿问题。Impeller 在引擎构建时预编译一组更小、更简单的着色器,以便在应用程序运行时不会编译它们。

在 pub.dev 上推出屏幕截图

关于我们在 pub.dev 上推出屏幕截图的原因和方法的简短说明。

二维滚动

即将推出的滚动功能的预览——二维!

预览桌面上的多个窗口

在本演讲中,您将抢先预览从单个 Flutter 应用程序向多个窗口渲染内容的效果。

使用 Flutter 进行工程

Canvas.draw Vertices

在本演讲中,Filip 将解释 Canvas.drawVertices() 的 API 和 Vertices.raw() 构造函数——两者都很模糊、非常底层,而且仅靠文档很难解释。但是,当您需要从 Flutter 中榨取最后一点性能时,它们是值得的。

使 UI 动画变得轻松有趣

本次针对 Flutter Forward 2023 的演讲深入探讨了 Flutter Animate 库,探索了只需几行代码即可轻松创建精美 UI 动画的方法。它涵盖了如何应用和调整各种包含的效果、如何创建完全自定义的效果、如何控制动画播放以及分享减少动画性能影响的技巧。

使用 Go Router 6 进行导航

学习如何使用新的 Go Router 6 软件包管理 Flutter 应用程序中的导航。

如何编写有效的 Flutter 和 Dart 测试

详细了解软件测试、我们编写测试的原因、您可以且应该编写的测试类型以及如何为 Flutter 应用程序编写最有效的测试。

将您的原生应用程序迁移到 Flutter

从 ZestMoney 的经验教训中学习将现有应用程序转换为 Flutter 的基本方面。我们将深入了解要进行此转换需要多少时间和资源。

平台特定功能

适用于多平台世界的自适应 UI

深入了解应用程序自适应性和向 Flutter 应用程序添加自适应性的实用方法。

Flutter 在桌面端

本次演讲首先简要讨论了跨平台项目在多个屏幕(即桌面)上的优势,然后深入探讨了在 macOS、Linux 和 Windows 上使用 Flutter 构建桌面应用程序。然后,它继续讨论在这三个平台上发布桌面应用程序,为您提供端到端解决方案的概述,以制作您自己的第一个桌面应用程序。

如何在 Flutter 网页应用程序中集成支付网关

Flutter 网页现在已经稳定并日趋成熟。大多数情况下,我们考虑使用 Flutter 网页来构建投资组合或任何单页应用程序。如果您想开发任何需要某些基本且重要功能(如支付网关)的应用程序,那么 Flutter 网页中有哪些可用选项以及如何轻松集成支付网关。让我们在本演讲中更详细地讨论这个问题。

加速 Flutter 网页应用程序的 7 种方法

学习可以采取的 7 个步骤来加快 Flutter 网页应用程序的加载速度。

Dart

自 2.15 版以来的 Dart 语言发展

从 Dart 2.15 到 Dart 2.18 深入了解 Dart 语言的发展,涵盖构造函数撕裂、增强枚举、超级初始化程序参数、改进的命名参数等功能。

Flutter 及其生态系统的软件供应链安全

Dart 和 Flutter 正在大力投资工具和服务以保护其软件供应链。在本演讲中,我们将分享我们在提高 Flutter 软件供应链安全方面取得的进展以及为帮助 Flutter 生态系统提高其安全态势而创建的工具。

保护 Flutter 应用程序

审查 OWASP 的十大移动安全风险、报告漏洞、最大程度降低风险的最佳实践、防止逆向工程、保持最新状态以及使用 RASP(运行时应用程序自我保护)等技术实时识别和阻止攻击是您将从本演讲中获得的主题。

私有 Dart 和 Flutter 软件包

在本视频中,我们展示了如何引用私有软件包以及当您需要将软件包保密和安全时最方便的工作方式。

微型 Flutter

Dart 最近添加了对新型 RISC-V CPU 架构的实验性支持,并且现在开始提供配备这些新型芯片的首批开发板。其中之一是 Sipeed Lichee D1。学习如何在这些带有微型屏幕的开发板上运行 Dart,以及 Flutter 如何提供帮助。

社区

非洲的 Flutter

了解非洲的 Flutter 社区以及整个非洲大陆的 Flutter 开发人员正在构建的令人兴奋的事物!

Flutter 演示

学习我们是如何构建 Holobooth 机器学习演示的,这是一个 Flutter 网页应用程序,它使用 TensorFlowJS 和 MediaPipe FaceMesh 模型在浏览器中实时检测 3D 面部特征点!

了解更多
Holo Booth Home

关注 Flutter Forward 的最新动态

探索

17 天 Flutter

17 Days of Flutter

为您的 Flutter 应用程序创建主屏幕和小部件

在本研讨会中,我们将逐步介绍在 iOS 和 Android 中向您的 Flutter 应用程序添加主屏幕小部件和小部件所需的步骤。


您到达之前

本研讨会将介绍原生 Android 和原生 iOS 开发。除了安装 Flutter SDK 和开发环境外,您还需要某些软件才能遵循每个部分。要遵循 Android 部分,您只需要 Android Studio。要遵循 iOS 部分,您需要一台安装了 Xcode 的 MacOS 计算机,以及一个 Apple 开发者帐户。更多信息可以在此 Github 存储库的自述文件 中找到。

动手体验多因素身份验证和 Firestore 计数查询

获取 Flutter 应用的最新 Firebase 功能。我们将从一个基本应用开始,然后添加多因素电话身份验证以确保更安全的登录。然后,我们将使用 Firestore 中新的 COUNT() 运算符在应用中包含计数,而成本和复杂性仅为一小部分。


您到达之前

为了跟随本研讨会,您需要设置 Flutter 和 Firebase 开发环境。您可以按照了解 Flutter 的 Firebase codelab中的设置说明进行操作。完成 codelab 的第一步到第四步以设置您的环境非常重要。如果您没有 Firebase 经验,建议您在研讨会之前完成整个 codelab。

如何构建 Basil Material 3 学习案例

学习如何使用高级主题功能和 Basil Material 3 学习案例中的 Material hct 颜色系统。Basil 应用还展示了如何为环境和智能显示屏构建应用。


您到达之前

本研讨会包含设计流程的步骤,这将帮助开发人员学习如何将设计转化为代码。为了跟随研讨会的设计流程部分,您应该安装 Figma,或计划使用 Figma 的 Web 客户端。(如果您计划使用 Web 客户端,则应事先测试 Figma,因为如果网络连接不够快,它不如桌面客户端可靠。)除了 Figma 之外,本研讨会将仅使用标准 Flutter 开发环境。

社区

社区准则

Community Guidelines

Google 社区准则和针对线下及线上活动的反骚扰政策

Google 致力于为所有人提供无骚扰且包容的活动体验,无论其性别认同和表达、性取向、残疾、神经多样性、外貌、体型、种族、国籍、年龄、宗教或其他受保护类别如何。我们不容忍任何形式的活动参与者骚扰。Google 对违反我们政策的行为非常重视,并将做出相应的回应。


所有 Google 活动的参与者,包括线下和线上参与者、活动工作人员、演讲者和 Google 员工,都必须遵守以下政策

互相尊重。

尊重每个人。在参与时,要承认每个人都应该在这里——我们每个人都有权享受自己的体验,而不必担心受到骚扰、歧视或轻视,无论是公然的还是通过微侵略。所有形式的沟通都不应该贬低他人。考虑您所说的话以及如果对您说或关于您说的话会有什么感觉。

如果您看到或听到什么,请说出来。

不宽容骚扰,并且您有权在您或其他人受到不尊重时礼貌地介入。让您感到不舒服的人可能没有意识到他们在做什么,礼貌地提醒他们注意他们的行为是值得鼓励的。

  • 跟踪/尾随
  • 蓄意恐吓
  • 骚扰性拍照或录音
  • 持续干扰演讲或其他活动
  • 攻击性语言
  • 强化社会支配结构的语言
  • 在公共场所使用性暗示的图像和语言
  • 不适当的身体接触
  • 不受欢迎的性或身体关注
  • 身体或网络威胁

与之相关,但不限于

  • 神经多样性
  • 种族
  • 肤色
  • 原国籍
  • 性别认同
  • 性别表达
  • 性取向
  • 年龄
  • 体型
  • 残疾
  • 外貌
  • 宗教
  • 怀孕
  • 服役状态
  • 社会人口统计

要求停止任何骚扰行为的参与者应立即遵守。我们的零容忍政策意味着我们将调查和审查每一起违反我们的活动社区准则和反骚扰政策的指控,并做出相应的回应。要报告任何让您或他人感到不舒服的行为,请发送邮件至 [email protected]


此政策扩展到演讲、论坛、研讨会、codelab、社交媒体、所有与会者、合作伙伴、赞助商、志愿者、工作人员等。您明白了。Google 保留随时自行决定拒绝任何人士进入任何 Google 主办的活动(包括未来的 Google 活动)或将其从任何 Google 主办的活动中移除的权利。这包括但不限于行为不端或未能遵守本政策以及此处条款和条件的与会者。如果参与者有骚扰或令人不适的行为,会议组织者可以采取他们认为适当的任何行动,包括警告或将违规者驱逐出会议且不予退款或阻止违规者在线参与。