Construindo o FLIP
Como o construímos
O I/O FLIP é um exemplo de integração perfeita entre as novas ferramentas de IA do Google e ferramentas que você já conhece e ama. As imagens dos personagens são geradas com o DreamBooth no Muse, e as descrições foram geradas usando a API PaLM. A interface e as animações do jogo são criadas em Flutter e o backend é escrito em Dart. Ele usa um conjunto de ferramentas do Firebase e do Google Cloud para hospedagem e compartilhamento.
Saiba maisO Código
Explore o código
Acesse o código que compõe o I/O FLIP e deixe-se inspirar a usar todas as ferramentas do I/O FLIP e muito mais para criar inovações ainda mais divertidas e encantadoras.
MergulheFAQs
Perguntas
Frequentes
O que é isto?
O I/O FLIP é um jogo de cartas desenhado por IA com tecnologia do Google, criado para o Google I/O 2023.
Como as imagens e descrições foram criadas?
As imagens foram geradas usando o Muse, um modelo Transformer de texto para imagem desenvolvido pelo Google Research e treinado com artes que criamos. O texto foi gerado usando a API PaLM com base em entradas de texto criadas pelo Google. Para garantir uma experiência positiva a todos os usuários, as imagens e o texto foram gerados offline para que pudessem ser revisados por avaliadores humanos e garantir que aderem aos Princípios de IA do Google.
Como a IA foi usada?
A IA foi usada para criar as imagens e descrições de cada carta.
Há prêmios para os vencedores?
Não há prêmios como parte do jogo.
Quais dados são armazenados e ficam publicamente disponíveis ao compartilhar?
Se você optar por compartilhar, suas iniciais, cartas e pontuação ficarão disponíveis em uma URL exclusiva por 30 dias e depois serão automaticamente excluídas.
Keynote do Flutter Forward
Anúncios empolgantes de produtos, demonstrações técnicas e convidados especiais!
AssistirDesign com Flutter
Traduzindo Design em Código com o Material 3
Aprenda a construir o estudo de material Basil em Flutter com técnicas avançadas de tematização e como construir para múltiplos contextos de dispositivos.
Prototipando designs bonitos com Flutter
Vamos mostrar por que o Flutter é uma ótima escolha para construir designs ambiciosos, à medida que começamos a prototipar um app de quebra-cabeça com animações personalizadas, fontes variáveis e shaders.
Usando o FlutterFlow para criar experiências envolventes com extrema rapidez
Aprenda a criar interfaces bonitas e responsivas, adicionar animações, criar widgets personalizados, gerar código limpo e publicar nas lojas de aplicativos e na web com um clique usando o FlutterFlow.
Crie jogos de RPG em Flutter com o Bonfire
Aprenda a construir jogos de RPG em Flutter com o Bonfire, um pacote construído sobre o motor de jogos Flame.
Desenvolvimento Full Stack
Principais dicas de desenvolvimento em nuvem para desenvolvedores Flutter
Complemente seus apps Flutter com Dart no servidor nestes dez passos que vão do desenvolvimento inicial do projeto até a implantação e a automação de QA.
Jogos em tempo real com Dart
Aprenda a executar Dart no backend para conduzir um jogo multiplayer simples em tempo real em múltiplas plataformas. Vamos brincar com o motor de jogos Flame e tentar reutilizar parte do código entre cliente e servidor.
Controle seu app Flutter em tempo real com o Firebase Remote Config
Atualizações em tempo real, feature flags, testes A/B - e se eu dissesse que você pode habilitar esses recursos poderosos na sua aplicação Flutter com mínimo esforço de desenvolvimento e sem custo algum? O Firebase Remote Config é um serviço gratuito que permite alterar o comportamento de um app remotamente sem publicar uma atualização. Neste vídeo, vou abordar diversos casos de uso reais em que o Firebase Remote Config pode ajudar você ao construir apps Flutter.
O futuro do Dart e do Flutter
Trazendo pattern matching para o Dart
Records e pattern matching são dois dos maiores recursos que chegam no Dart 3.0. Vou falar sobre o que são, para que servem e como se harmonizam com o restante da linguagem Dart.
Impeller
Tudo o que você precisa saber sobre o Impeller, uma nova solução de runtime de renderização para o Flutter que resolve problemas de jank logo no início. O Impeller pré-compila um conjunto menor e mais simples de shaders no momento de build do Engine, para que não sejam compilados enquanto o app está em execução.
Apresentando capturas de tela no pub.dev
Uma palestra curta sobre por que e como estamos introduzindo capturas de tela no pub.dev.
Rolagem bidimensional
Uma prévia dos próximos recursos de rolagem - em duas dimensões!
Prévia de múltiplas janelas no desktop
Nesta palestra você terá uma prévia de como será renderizar conteúdo em múltiplas janelas a partir de um único app Flutter.
Engenharia com Flutter
Canvas.draw Vertices
Nesta palestra, Filip explicará a API de Canvas.drawVertices() e o construtor Vertices.raw() — ambos são obscuros, de muito baixo nível e difíceis de explicar apenas com documentação. Mas valem a pena quando você precisa extrair até a última gota de desempenho do Flutter.
Tornando a animação de UI fácil e divertida
Esta palestra do Flutter Forward 2023 mergulha na biblioteca Flutter Animate, explorando como é fácil criar belas animações de UI com apenas algumas linhas de código. Ela aborda como aplicar e ajustar a ampla variedade de efeitos incluídos, como criar efeitos totalmente personalizados, como controlar a reprodução das animações e compartilha dicas para reduzir o impacto das animações no desempenho.
Navegação com o Go Router 6
Aprenda a gerenciar a navegação no seu app Flutter com o novo pacote Go Router 6.
Como escrever testes eficazes em Flutter e Dart
Saiba mais sobre testes de software, por que escrevemos testes, os tipos de testes que você pode e deve escrever, e como escrever os testes mais eficazes para apps Flutter.
Migre seus apps nativos para o Flutter
Aprenda os aspectos essenciais da conversão de um app existente para o Flutter, com base nos aprendizados da ZestMoney. Vamos nos aprofundar para entender quanto tempo e recursos serão necessários para fazer essa conversão.
Toques específicos de plataforma
UI adaptativa para um mundo multiplataforma
Um olhar aprofundado sobre a adaptabilidade de aplicações e formas práticas de adicionar adaptabilidade às suas aplicações Flutter.
Flutter no Desktop
Esta palestra começa com uma breve discussão explicando o benefício de um projeto multiplataforma em múltiplas telas (ou seja, desktop), depois mergulha na construção de uma aplicação desktop usando Flutter no macOS, Linux e Windows. Em seguida, aborda a distribuição de aplicações desktop nessas três plataformas, dando uma visão geral de uma solução de ponta a ponta para criar sua primeira aplicação desktop.
Como integrar um gateway de pagamento em um app web Flutter
O Flutter web está estável agora e amadurecendo. Na maioria das vezes consideramos o Flutter web para construir portfólios ou aplicações de página única. Se você quiser desenvolver qualquer aplicação que precise de funcionalidades básicas e importantes como um gateway de pagamento, quais são as opções disponíveis no Flutter web e com que facilidade você pode integrar um gateway de pagamento. Vamos abordar isso em mais detalhes nesta palestra.
7 maneiras de acelerar seus apps web Flutter
Aprenda 7 passos que você pode adotar para acelerar o carregamento dos seus apps web Flutter.
Dart
Evolução da linguagem Dart desde a 2.15
Mergulhe na evolução da linguagem Dart, do Dart 2.15 ao Dart 2.18, abordando recursos como constructor tearoffs, enums aprimorados, parâmetros de super inicializador e argumentos nomeados aprimorados.
Segurança da cadeia de suprimentos de software para o Flutter e seu ecossistema
O Dart e o Flutter estão investindo pesadamente em ferramentas e serviços para proteger sua cadeia de suprimentos de software. Nesta palestra, compartilharemos nosso progresso na melhoria da segurança da cadeia de suprimentos de software do Flutter e as ferramentas criadas para ajudar o ecossistema Flutter a melhorar sua postura de segurança.
Protegendo apps Flutter
Revisar o top 10 da OWASP para mobile, relatar vulnerabilidades, melhores práticas para minimizar riscos, prevenir engenharia reversa, manter-se atualizado e identificar e bloquear ataques em tempo real com tecnologias como RASP (Runtime Application Self-Protection) são os tópicos que você levará desta palestra.
Pacotes Dart e Flutter privados
Neste vídeo, mostramos como pacotes privados podem ser referenciados e qual é a forma mais conveniente de trabalhar quando você precisa manter pacotes secretos e seguros.
Tiny Flutter
O Dart adicionou recentemente suporte experimental à nova arquitetura de CPU RISC-V e as primeiras placas com esses novos chips estão começando a ficar disponíveis. Uma delas é a Sipeed Lichee D1. Aprenda a colocar o Dart em execução em uma dessas placas com uma tela minúscula e como o Flutter pode ajudar.
Community
Flutter na África
Conheça as comunidades Flutter na África e as coisas empolgantes que desenvolvedores Flutter de todo o continente estão construindo!
Demo do Flutter
Saiba como construímos a demo de Machine Learning Holobooth, um app Flutter Web que usa o TensorFlowJS com o modelo MediaPipe FaceMesh para detectar pontos faciais em 3D em tempo real no navegador!
Saiba mais
Acompanhe as novidades do Flutter Forward
Criando widgets de tela inicial e de bloqueio para o seu app Flutter
Neste workshop, vamos percorrer os passos necessários para adicionar widgets de Tela Inicial e widgets de Tela de Bloqueio ao seu app Flutter no iOS e no Android.
Antes de chegar
Este workshop percorrerá tanto o desenvolvimento nativo Android quanto o nativo iOS. Além de ter o Flutter SDK instalado e um ambiente de desenvolvimento, você precisará de alguns softwares para acompanhar cada parte. Para acompanhar a parte do Android, você só precisará do Android Studio. Para acompanhar a parte do iOS, você precisará de um computador MacOS com o Xcode instalado e uma conta Apple Developer. Mais informações podem ser encontradas no README deste repositório do Github.
Mão na massa com autenticação multifator e consultas de contagem no Firestore
Obtenha os recursos mais recentes do Firebase para o seu app Flutter. Vamos começar com um app básico e depois adicionar autenticação multifator por telefone para garantir um login mais seguro. Em seguida, usaremos o novo operador COUNT() no Firestore para incluir contagens no app por uma fração do custo e da complexidade.
Antes de chegar
Para acompanhar este workshop, você precisará de um ambiente de desenvolvimento Flutter e Firebase configurado. Você pode seguir as instruções de configuração no codelab Get to know Firebase for Flutter. É importante que você complete os passos um a quatro do codelab para ter seu ambiente configurado. Se você não tem experiência com Firebase, recomendamos completar o codelab inteiro antes do workshop.
Como construir o estudo Basil em Material 3
Aprenda a usar recursos avançados de tematização e o sistema de cores HCT do Material com o estudo Basil em Material 3. O app Basil também demonstra como construir para displays ambientes e inteligentes.
Antes de chegar
Este workshop inclui etapas do processo de design, que ajudarão os desenvolvedores a aprender como transformar design em código. Para acompanhar a parte do processo de design do workshop, você deve instalar o Figma ou planejar usar o Web Client do Figma. (Se você planeja usar o cliente web, deve testar o Figma com antecedência, pois ele é menos confiável que o cliente desktop se a conexão de internet não for rápida o suficiente.) Além do Figma, este workshop usará apenas o ambiente de desenvolvimento padrão do Flutter.
Community
Diretrizes da Comunidade
Diretrizes da Comunidade Google e Política Antiassédio para Eventos Presenciais e Virtuais
O Google se dedica a proporcionar uma experiência de evento inclusiva e livre de assédio para todos, independentemente de identidade e expressão de gênero, orientação sexual, deficiências, neurodiversidade, aparência física, tamanho corporal, etnia, nacionalidade, raça, idade, religião ou outra categoria protegida. Não toleramos o assédio de participantes de eventos de nenhuma forma. O Google leva a sério as violações da nossa política e responderá de forma apropriada.
Todos os participantes dos eventos do Google, incluindo participantes presenciais e online, equipe do evento, palestrantes e Googlers, devem cumprir a seguinte política:
Sejam respeitosos uns com os outros.
Trate todos com respeito. Participe reconhecendo que todos merecem estar aqui — e cada um de nós tem o direito de aproveitar nossa experiência sem medo de assédio, discriminação ou condescendência, seja de forma evidente ou por meio de microagressões. Nenhuma forma de comunicação deve rebaixar os outros. Considere o que você está dizendo e como você se sentiria se isso fosse dito a você, ou sobre você.
Manifeste-se se você vir ou ouvir algo.
O assédio não é tolerado, e você está autorizado a intervir educadamente quando você ou outras pessoas forem desrespeitadas. A pessoa que está fazendo você se sentir desconfortável pode não estar ciente do que está fazendo, e chamar a atenção dela educadamente para o seu comportamento é encorajado.
- Perseguição/stalking
- Intimidação deliberada
- Fotografia ou gravação com intuito de assédio
- Interrupção contínua de palestras ou outros eventos
- Linguagem verbal ofensiva
- Linguagem verbal que reforça estruturas sociais de dominação
- Imagens e linguagem de teor sexual em espaços públicos
- Contato físico inapropriado
- Atenção sexual ou física indesejada
- Ameaças físicas ou cibernéticas
Relacionado a, mas não limitado a:
- Neurodiversidade
- Raça
- Cor
- Origem nacional
- Identidade de gênero
- Expressão de gênero
- Orientação sexual
- Idade
- Tamanho corporal
- Deficiências
- Aparência
- Religião
- Gravidez
- Situação militar
- Perfil socidemográfico
Espera-se que os participantes solicitados a interromper qualquer comportamento de assédio cumpram imediatamente. Nossa política de tolerância zero significa que investigaremos e revisaremos toda alegação de violação das nossas Diretrizes da Comunidade de Eventos e da Política Antiassédio, e responderemos de forma apropriada. Para relatar qualquer comportamento que faça você ou outras pessoas se sentirem desconfortáveis, envie-nos uma mensagem para flutter-engage-community@google.com.
Esta política se estende a palestras, fóruns, workshops, codelabs, redes sociais, todos os participantes, parceiros, patrocinadores, voluntários, equipe, etc. Você entendeu a ideia. O Google se reserva o direito de recusar a entrada ou remover qualquer pessoa de qualquer evento organizado pelo Google (incluindo eventos futuros do Google) a qualquer momento, a seu exclusivo critério. Isso inclui, mas não se limita a, participantes que se comportem de maneira desordeira ou que não cumpram esta política e os termos e condições aqui descritos. Se um participante adotar um comportamento de assédio ou desconfortável, os organizadores da conferência podem tomar qualquer medida que julguem apropriada, incluindo advertir ou expulsar o infrator da conferência sem reembolso, ou bloquear a conta do infrator de participar online.