• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Mobile
    3. BloC ou Cubit no Flutter: qual escolher?

    BloC ou Cubit no Flutter: qual escolher?

    12 min12 minutos de leitura

    12 min12 minutos de leitura

    Publicado: 06/08/2024

    1. O que é Cubit no Flutter?
    2. Quais são as vantagens do Cubit?
    3. Quais são as desvantagens do Cubit?
    4. O que é BloC no Flutter?
    5. Como funciona o BloC no Flutter
    6. Quais são as vantagens do BloC?
    7. Quais são as desvantagens do BloC no Flutter?
    8. Cubit ou BloC: qual utilizar no Flutter?
    9. Quando usar BloC e Cubit?
    10. Como usar o BloC e Cubit?
    11. Cursos de BloC e Cubit
    12. Conclusão
    13. Referências

    Se você estuda ou trabalha com Flutter, talvez saiba: qualquer aplicativo precisa de alguma biblioteca de gerenciamento de estados, pois as funcionalidades padrões do Flutter não são suficientes para resolver todas as nossas necessidades.

    Existem várias ferramentas que gerenciam estados no Flutter, mas hoje vamos falar de duas grandes bibliotecas no mercado: O BloC e o Cubit.

    Neste artigo, você vai descobrir as características, semelhanças, diferenças e qual ferramenta é a mais adequada ao seu projeto.

    Vamos lá?

    O que é Cubit no Flutter?

    O Cubit é um pacote de gerenciamento de estados, que mais recentemente, se fundiu com o pacote BloC.

    Portanto, quando você procurar pela biblioteca de Cubit, vai apenas encontrar a de BloC.

    Como falei antes, Cubit é uma biblioteca de gerenciamento de estados; serve principalmente para fazer atualizações visuais na tela do dispositivo quando alguma coisa/valor for alterada.

    E como isso é feito? O Cubit possui um código que fica “escutando” se algum valor foi alterado no aplicativo.

    Esse princípio (de escutar por alguma coisa, realizar uma lógica e atualizar a tela do dispositivo) é o que move praticamente qualquer ferramenta de gerenciamento de estados.

    A diferença costuma ser na implementação, controle e situação em que é melhor utilizar uma delas.

    Cubit se encontra na parte mais simples no espectro de implementação, sendo uma das bibliotecas mais simples de lidar com estados dentro do Flutter.

    Mas vamos entender um pouco melhor as suas vantagens. “Bora”?

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Quais são as vantagens do Cubit?

    Podemos destacar dois pontos principais:

    1. Aprendizagem relativamente mais simples;
    2. Foco na praticidade e eficiência.

    Aprendizagem relativamente mais amigável

    O Cubit é mais simples de aprender e usar pelos seguintes pontos:

    • Curva de aprendizagem mais suave: O Cubit é relativamente mais simples de aprender e aplicar em um projeto. Precisa de muito menos familiaridade com conceitos complexos de gerenciamento de estado e padrões de design;
    • Implementação mais clara: Para quem está começando no Flutter, o código escrito com Cubit é bem mais fácil de ler e escrever por conta de uma sintaxe mais direta e concisa;
    • Menos Boilerpllate: Ou seja, o Cubit precisa de menos conjuntos de instruções para lidar com estados, dispensando repetição de código.

    Foco na praticidade e eficiência

    A facilidade e aprendizagem do Cubit deve-se a sua praticidade e eficiência:

    • Ideal para casos simples: O Cubit se encaixa perfeitamente para gerenciar estados em projetos com uma regra de negócios mais direta e com interface de usuário com pouca interatividade (ou menos reatividade);
    • Desenvolvimento acelerado: A simplicidade do Cubit acelera várias etapas de trabalho: a prototipagem, a validação de ideias e a construção de MVPs;
    • Menos fragmentação: A estrutura mais compacta do Cubit pode levar um código menos fragmentado e mais fácil de manter, especialmente para projetos menores;
    • Capacidade de escalar: O Cubit é simples, mas não simplório. Versátil, você pode adaptá-lo a projetos de tamanho moderado, que necessitam de certo grau de escalabilidade (a menos que a lógica de negócios seja realmente complexa).

    Quais são as desvantagens do Cubit?

    Nenhuma tecnologia é absoluta (ou seja, tem pontos fortes e fracos)! Vamos ver as desvantagens do Cubit.

    Limitações para casos complexos

    Os poderes do Cubit têm limites:

    • Falta de modularidade: O Cubit não oferece o mesmo nível de modularidade do BloC, dificultando a reutilização de uma lógica de negócios complexa em diferentes partes da aplicação;
    • Tratamento de eventos assíncronos: O Cubit apresenta menos recursos para lidar com eventos assíncronos, como requisições para APIs. Logo, você pode precisar de soluções alternativas ou bibliotecas adicionais;
    • Gerenciamento de erros: O Cubit não dispõe de mecanismos robustos para tratar erros e exceções. Então, o cuidado extra é bom para assegurar a segurança da aplicação.

    Simplicidade excessiva

    Cresceu o projeto? Aí temos alguns pontos fracos do Cubit:

    • Falta de flexibilidade: A flexibilidade não é tão elástica. O Cubit vira uma pedra no caminho dos projetos com sofisticadas regras de negócio ou alto grau de controle sobre o fluxo de dados;
    • Menos reutilizável: A concisão é uma faca de dois gumes: simplifica por um lado, e, por outro, dificulta que você produza componentes reutilizáveis. Consequentemente, você talvez precise duplicar código em projetos maiores. Esse ponto pode ser conflitante com uma das vantagens, mas aqui o ponto chave é projetos maiores.

    O que é BloC no Flutter?

    O BloC também é uma biblioteca de gerenciamento de estados, mas ele tem um diferencial na maneira como é implementado.

    O BloC utiliza o padrão chamado Business Logic Component, ou "componente de lógica de negócios".

    Esse padrão se baseia em uma arquitetura de software que separa responsabilidades dentro do código em camadas, onde a lógica de negócios fica em uma camada dedicada e distinta da interface de usuário.

    No BloC, a comunicação entre a interface do usuário e a lógica de negócios é realizada por meio de uma camada de eventos.

    Os widgets da interface disparam eventos para as classes BloC que, por sua vez, emite novos estados em resposta a esses eventos.

    Essa abordagem reativa atualiza a interface do usuário automaticamente sempre que o estado muda.

    Vamos pegar um exemplo prático. Considere um aplicativo de delivery como o iFood: ao adicionar um combo de lanche no carrinho, clicando em um botão, o aplicativo (com ajuda do BloC) dispara eventos: atualizar a tela com o carrinho com o lanche, calcular o valor total do pedido e, enfim, atualizar o estado do aplicativo.

    Como funciona o BloC no Flutter

    O BloC funciona com quatro componentes que você precisa implementar em seu projeto:

    • Eventos: Representam as ações do usuário ou outras entradas que acionam alterações no estado;
    • Estados: Representam os dados atuais da aplicação e são imutáveis;
    • BloCs: Classes responsáveis por processar eventos e emitir novos estados;
    • BlocBuilder e BlocListener: Widgets que observam o estado do BloC e atualizam a interface de usuário de acordo.

    Agora que entendemos esses pontos, vamos conhecer as vantagens e desvantagens do BloC.

    Quais são as vantagens do BloC?

    O BloC, resumindo, possui três vantagens principais:

    1. Código organizado com um arquitetura robusta e modular;
    2. Possui ferramentas para testar e garantir qualidade;
    3. Escalabilidade do projeto em longo prazo.

    Arquitetura robusta e modular

    Um código organizado é uma necessidade em qualquer aplicação. Onde a bagunça reina, há erros e retrabalho, ou seja, dores de cabeça. O BloC traz:

    • Separação de responsabilidades: O BloC separa responsabilidades entre a interface do usuário, a lógica de negócios e o gerenciamento de estado, deixando um código mais organizado, testável e fácil de manter;
    • Reuso de código: A estrutura modular do BloC facilita a criação de componentes reutilizáveis ​​e independentes, reduzindo a duplicação de código. Por exemplo, reutilizar classes de eventos para outros componentes;
    • Gerenciamento de complexidade: O BloC é ideal para lidar com lógicas de negócios complexas, encadeamento de eventos, tratamento de erros assíncronos e debouncing (limitar requisições por milissegundos) de requisições - e outras funcionalidades avançadas.

    Fluxo de dados unidirecional e previsível

    A organização trazida pelo BloC vem da maneira em que o fluxo de dados navega em uma aplicação.

    Pense que esse fluxo vai de um ponto A a um ponto B, sempre em frente e sem nunca voltar para trás:

    • Previsibilidade do estado: O BloC segue um fluxo unidirecional de dados, onde os eventos fluem dos widgets para o BloC, funções processam esses eventos e geram novos estados, e esses estados são então propagados de volta para os widgets. Essa arquitetura garante que o estado da aplicação seja previsível e consistente, facilitando o raciocínio e o debug do código;
    • Testabilidade: A separação clara entre eventos, estados e transformações facilita a escrita de testes unitários e de integração, o que contribui para o seu código ficar mais robusto e confiável.

    Escalabilidade de projetos

    As vantagens anteriores ajudam em outra: a escalabilidade. Em poucas palavras, escalabilidade é a capacidade de uma aplicação crescer de forma saudável e sustentável. Veja os pontos a seguir:

    • Aplicações complexas: O BloC foi projetado para lidar com aplicações complexas com alto grau de interação do usuário e regra de negócios, assegurando a escalabilidade do gerenciamento de estado à medida em que o projeto cresce;
    • Desempenho eficiente: mesmo aplicações com grande volume de dados e interações frequentes rodam com bom desempenho graças ao BloC;
    • Manutenabilidade em longo prazo: O código modular e bem organizado do BloC facilita a manutenção e o aprimoramento da aplicação a longo prazo, reduzindo o tempo e o esforço necessários para futuras modificações.

    O BloC é realmente um bloco sólido onde você pode construir uma aplicação duradoura e robusta, repleta de funcionalidades.

    Quais são as desvantagens do BloC no Flutter?

    As principais desvantagens são duas:

    1. Curva de aprendizagem mais acentuada;
    2. Verbosidade do código.

    Curva de aprendizagem mais acentuada

    Ideal para aplicações complexas, o BloC pode parecer desafiador de início (e seu uso depende de conhecimentos prévios específicos):

    • Conceitos complexos: O BloC requer familiaridade com conceitos intermediários e avançados como streams, transformações de eventos, padrões de design como MVVM e programação reativa. Logo, pessoas iniciantes ou menos experientes podem sentir-se desafiadas no início dos estudos;
    • Maior tempo de aprendizagem: Dominar o BloC pode levar mais tempo se comparado a outras ferramentas.

    Verbosidade do Código

    A verbosidade, ou seja, excesso de “palavras”, é um risco possível do BloC:

    • Sintaxe detalhada: o BloC tende a gerar um código mais verboso em eventos e transformações complexas. Um risco possível é o aumento da dificuldade na compreensão do código;
    • Maior quantidade de código: Um código, a princípio simples, pode ocupar mais linhas com o BloC. Mais código pode aumentar o tempo de desenvolvimento e a complexidade da manutenção;
    • Menos legibilidade: O código verboso do BloC pode dificultar a compreensão do fluxo de dados e da lógica de negócios da aplicação, especialmente para pessoas desenvolvedoras pouco habituadas com a ferramenta;
    • Complicação desnecessária: Em projetos mais simples, ou seja, com uma lógica de negócio direta e uma interface de usuário com pouca interatividade, o BloC pode complicar o código mais que o necessário.

    Cubit ou BloC: qual utilizar no Flutter?

    Falamos de todas as diferenças, vantagens e desvantagens de cada uma dessas ferramentas, mas existe um detalhe crucial.

    No começo deste artigo, você aprendeu que as duas bibliotecas estão dentro do mesmo pacote. Isso quer dizer que nós temos acesso aos dois pacotes ao mesmo tempo!

    Logo, você não é obrigado a trabalhar com apenas uma das ferramentas. Inclusive, a própria documentação recomenda começar com o Cubit e, se a solução não for mais suficiente, você pode incrementar com o BloC.

    Por exemplo: Vamos começar o desenvolvimento de uma ideia de um aplicativo de notas (sim, mais um app de notas!).

    No começo, o aplicativo não tem muitas features, mas tem um grande diferencial que foi o incentivo para você desenvolvê-lo. Então, você começa pelas partes básicas, utilizando apenas o Cubit.

    Aos poucos, a aplicação vai crescendo e ganhando novas features e aí você vê que apenas com Cubit não rola mais desenvolver. Em vez de migrar para outra ferramenta, basta adicionar o BloC!

    Neste exemplo, o Cubit fica com a tarefa principal de apenas atualizar os dados, mas a lógica fica responsável pelo BloC.

    Quando usar BloC e Cubit?

    A decisão entre BloC e Cubit depende dos requisitos específicos do seu projeto, da preferência e da experiência da equipe de desenvolvimento. Em uma palavra, é como uma pessoa sênior diz: "depende".

    Para melhor embasar sua decisão, vamos ver alguns casos gerais que servem de orientação.

    Quando usar o Cubit no Flutter?

    Você pode preferir o Cubit em três situações:

    1. Projetos simples e médios que priorizam simplicidade, legibilidade e facilidade de implementação;
    2. Desenvolvedores iniciantes em gerenciamento de estado no Flutter que se beneficiam da simplicidade e curva de aprendizagem mais amigável;
    3. Casos de uso que não exigem o controle granular do fluxo de eventos e estados proporcionado pelo BloC.

    Quando usar o BloC no Flutter?

    Veja três casos interessantes em que BloC é uma boa escolha:

    1. Aplicações complexas com lógica de negócios intrincada e necessidade de controle preciso sobre o fluxo de eventos e estados;
    2. Projetos que exigem funcionalidades avançadas, como debouncing, throttling e tratamento de erros complexos;
    3. Equipe experiente com o padrão Flux e familiarizada com os conceitos do BloC.

    Como usar o BloC e Cubit?

    Acesse a página oficial do BloC e siga os comandos para instalá-lo em seu projeto Flutter.

    Cursos de BloC e Cubit

    Se você é uma pessoa mais experiente (ou está em um nível intermediário), pode estudar BloC e Cubit na Alura:

    • Curso Flutter: aplicando BloC com Cubit da Formação Gerenciamento de Estados com Flutter.

    Caso você seja iniciante, continue persistindo! Recomendamos que se dedique em aprender bem os fundamentos do Flutter.

    Consulte o tech.guide de Flutter para ver as habilidades pedidas pelo mercado e montar seu plano de estudos.

    Conclusão

    Neste artigo, vimos duas ferramentas excelentes para o gerenciamento de estado no Flutter (e que precisam fazer parte da sua “caixa de ferramentas de dev Flutter”).

    O BloC é um conjunto de blocos sólidos que fortalece aplicações complexas, de larga escala, nas mãos de devs experientes.

    Já o Cubit é mais flexível e amigável para que pessoas iniciantes construam projetos de pequena e média escala.

    Referências

    • Artigo O que é gerenciamento de estados no Flutter e principais ferramentas
    • Curso Flutter: aplicando BloC com Cubit
    • Documentação oficial do BloC
    • Documentação oficial de Gerenciamento de estados no Flutter
    • Formação Gerenciamento de Estados com Flutter
    • Tech.guide de Flutter
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Matheus Alberto

      Autor(a)

      Matheus Alberto

      Formado em Sistemas de Informação na FIAP e em Design Gráfico na Escola Panamericana de Artes e Design. Trabalho como desenvolvedor e instrutor na Alura. Nas horas vagas sou artista/ilustrador.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 22/08/2023

      Closures no Swift: o que são e como utilizá-las

      Ler mais
    • 06/10/2022

      Como usar cores dinâmicas no Material Design 3 do Android

      Ler mais
    • 04/09/2016

      Criando menu de contexto no Android (Context Menu)

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura