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 设计的 AI 驱动的纸牌游戏,专为 Google I/O 2023 而打造。

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

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

AI 如何使用?

AI 用于创建每张卡片上的图像和描述。

获胜者有奖品吗?

游戏没有奖品。

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

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

日程

星期三,
1 月 25 日

Flutter Forward 日程

Flutter Forward 主题演讲

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

观看

使用 Flutter 进行设计

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

了解如何使用高级主题技术在 Flutter 中构建罗勒材料研究,以及如何为多个设备上下文构建。

使用 Flutter 原型设计精美设计

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

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

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

使用 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

学习将现有应用程序转换为 Flutter 的基本方面,这些知识来自 ZestMoney 的经验教训。我们将深入了解如何确定完成此转换所需的时间和资源。

平台特定功能

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

深入了解应用程序自适应性以及在 Flutter 应用程序中添加自适应性的实用方法。

桌面上的 Flutter

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

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

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

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

学习 7 个步骤,可以加快 Flutter Web 应用程序的加载速度。

Dart

自 2.15 版以来的 Dart 语言演变

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

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 Web 应用程序,它使用 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 存储库的 README 中找到。

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

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


抵达之前

为了参与本研讨会,您需要设置 Flutter 和 Firebase 开发环境。您可以按照 了解 Firebase for Flutter 代码实验室 中的设置说明进行操作。请务必完成代码实验室中的步骤 1 到 4,以设置您的环境。如果您没有 Firebase 使用经验,建议您在参加研讨会之前完成整个代码实验室。

如何构建 Basil Material 3 学习项目

学习如何使用高级主题功能和 Material hct 色彩系统,以及 Basil Material 3 学习项目。Basil 应用还展示了如何为环境和智能显示器构建应用。


抵达之前

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

社区

社区准则

社区准则

Google 社区准则和反骚扰政策,适用于线下和线上活动

Google 致力于为所有人提供一个无骚扰、包容的活动体验,无论其性别认同和表达、性取向、残疾、神经多样性、外貌、体型、种族、国籍、种族、年龄、宗教或其他受保护类别。我们不宽恕任何形式的活动参与者骚扰行为。Google 对违反我们政策的行为非常重视,并将采取适当的措施进行处理。


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

互相尊重。

尊重所有人。在参与活动时,请承认每个人都有权参与,并且我们每个人都有权在没有受到骚扰、歧视或轻视的情况下享受我们的体验,无论是明目张胆的还是通过微攻击。所有形式的交流都不应该贬低他人。请考虑您所说的话以及如果这些话是对您说或关于您的,您会有什么感受。

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

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

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

与以下相关,但不限于

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

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


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