• 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. iOS e Swift: Diferenças na construção de layouts com Storyboard, XIB e View Code

    iOS e Swift: Diferenças na construção de layouts com Storyboard, XIB e View Code

    8 min8 minutos de leitura

    8 min8 minutos de leitura

    Publicado: 14/02/2022

    Última atualização: 02/03/2026

    1. Introdução
    2. Storyboard
    3. XIB
    4. View Code
    5. Vantagens e Desvantagens
    6. E no mercado de trabalho, qual o mais utilizado?
    7. Conclusão

    Neste artigo, vamos entender quais as diferenças entre Storyboard, XIB e View Code, três maneiras diferentes para a construção de layouts utilizando o framework UIKit.
    Veremos também:

    • Quais as vantagens/desvantagens de cada um;
    • Qual o mais utilizado no mercado atualmente.

    Depois de ler esse artigo, você vai conseguir compreender essas diferenças e entender qual opção faz mais sentido para o seu projeto atual. Vamos lá?

    Introdução

    Quando criamos uma aplicação, precisamos pensar muito em como o seu layout será desenvolvido. No mundo do desenvolvimento iOS, falando especificamente sobre o UIKit, que é um framework criado pela Apple que permite a construção de aplicações iOS, temos três diferentes modos de construir interfaces: Storyboard, XIB ou View Code. Vamos começar entendendo as características de cada um deles, e depois partimos para as suas vantagens e desvantagens.

    Bora lá?

    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”.

    Storyboard

    Quando iniciamos uma aplicação com o framework UIKit, vemos um arquivo chamado Main.storyboard. Esse é um único arquivo que mostra todas as telas do nosso aplicativo, bem como todo o fluxo de navegação entre elas.

    Quando construímos através dessa maneira, podemos utilizar algo chamado interface builder, que é basicamente uma ferramenta drag in drop, ou seja, você arrasta os elementos para a tela e constrói de uma maneira totalmente visual.

    Veja abaixo uma imagem mostrando como funciona o arquivo Main.storyboard com diferentes telas e todo o seu fluxo de navegação:

    Imagem mostrando o fluxo de navegação entre as telas de uma aplicação usando o storyboard.

    Na imagem acima, temos um painel à esquerda que mostra a lista de telas e a hierarquia dos elementos. No centro, há três telas que podemos editar e estão conectadas entre si por uma seta. Por último, ao lado direito, temos o painel de atributos em que podemos selecionar opções para editar as telas e elementos (cores, textos, tabelas), ou seja, adicionar modificadores.

    Quando falamos em Storyboard, podemos também mencionar velocidade e agilidade, porque quando criamos um projeto em Xcode, o projeto vem com um Storyboard por padrão, pronto para você utilizar.

    De acordo com a documentação da Apple: "Usar storyboards é a maneira recomendada de projetar a interface do usuário do seu aplicativo porque eles permitem que você visualize a aparência e o fluxo da interface do usuário em uma tela".

    Você constrói o protótipo inteiro em um só lugar, colocando seus elementos (botão, textos, imagens, entre outros), junto com algumas regras de layouts para funcionar em diferentes tamanhos de dispositivos e é basicamente isso! Está criado o layout da sua aplicação.

    Do lado direito do nosso XCode, temos um painel chamado de atributos, no qual conseguimos alterar algumas propriedades do nosso layout, como cor, cor de fundo, tamanho da fonte, entre outros.

    Você pode estar se perguntando: "mas se no storyboard é tudo visual, como eu posso determinar o toque de um botão, por exemplo, para então disparar uma função?". A resposta pra isso é: através de outlets e actions!

    Com outlets, conseguimos referenciar um elemento do storyboard no nosso código, e com as actions, conseguimos referenciar uma ação de um elemento do storyboard no nosso código, por exemplo, o fato do botão ser pressionado pelo usuário, para então lidarmos da maneira com que queremos.

    Por isso falamos que Storyboard é muito amigável para iniciantes, porque é muito mais fácil você desenvolver uma aplicação conseguindo visualizar todo o layout, bem como o fluxo de navegação entre as telas. Além disso, a ferramenta drag in drop ("pega e arrasta") também facilita o desenvolvimento para iniciantes.

    Agora que você já entendeu como o Storyboard funciona, vamos entender um pouco mais sobre XIBs?

    XIB

    O XIB também utiliza da ferramenta chamada Interface Builder, a qual permite que você construa a tela de uma forma visual, arrastando diferentes elementos para ela, sendo bem similar ao storyboard.

    A diferença é que cada arquivo .xib representa uma única view. E uma view pode ser uma parte da tela que você está desenvolvendo. Em outras palavras, um texto é uma view, assim como uma imagem também. A junção de um texto com uma imagem também pode ser considerada uma view, assim por diante.

    Portanto, vamos pensar na criação de xibs como componentes. Cada xib representa um componente da sua aplicação. O cabeçalho de uma tela, por exemplo, é um componente.

    Anteriormente, um arquivo xib era conhecido como nib, por isso, você pode se deparar com essa nomenclatura também atualmente.

    Agora que você já entendeu o uso do storyboard e xib, vamos para a última maneira de construir interfaces que iremos abordar nesse artigo: a maneira programática, mais conhecida como view code.

    View Code

    Chegamos na última maneira (e spoiler: mais utilizada) de construir interfaces em uma aplicação iOS. Como o nome já sugere, quando criamos um layout com view code, significa que estamos criando via código. Não usamos mais storyboards e nem xibs.

    Portanto, não utilizamos ferramentas como o interface builder, que permite arrastar os elementos para dentro da tela. Além disso, não temos um feedback visual instantâneo como temos com storyboard e xib. Para visualizar os efeitos do view code, é necessário buildar a nossa aplicação para rodar no simulador (ou em um dispositivo físico).

    Vamos ver a seguir um exemplo de criação de um texto utilizando o view code:

    let label = UILabel()
    label.textColor = .white
    label.text = “Criando um texto com View Code”
    label.font = .systemFont(ofSize: 24.0)
    

    Basicamente, esse código cria um elemento do tipo UILabel. Esse tipo, na verdade, cria um texto qualquer.

    Em seguida, atribuímos alguns modificadores a esse elemento, como cor, o texto em si e também o tamanho da fonte.

    Quando você está acostumado com storyboard, esses modificadores, na verdade, podem ser encontrados no painel de atributos, mencionado anteriormente aqui também. Porém, esse painel de atributos possui apenas alguns atributos, as possibilidades com view code são muito maiores.

    Pronto, ufa! Vimos as três maneiras de construirmos layouts no iOS: Storyboard, XIB e View Code. Agora vamos fazer um comparativo entre os três e descobrir suas vantagens e desvantagens.

    Vantagens e Desvantagens

    Agora que você já compreendeu as características de cada maneira diferente de construirmos layouts, vamos discutir um pouco sobre as vantagens e desvantagens de cada uma delas.

    Vantagens do Storyboard/XIB

    • Velocidade para construir, pois é totalmente visual e ainda utiliza da ferramenta drag in drop, você simplesmente arrasta os elementos para a tela e obtém um feedback visual muito rápido;
    • Amigável para quem possui baixa experiência na área, ou seja, está iniciando no mundo do desenvolvimento iOS já que usa menos código e exige menos conhecimentos de programação ou linguagem;
    • Velocidade para encontrar os respectivos arquivos e constraints;
    • Uma boa maneira de gerenciar como diferentes telas conversam entre si;
    • Visualização de todo o fluxo da nossa aplicação;
    • Funciona muito bem em pequenas aplicações.

    Desvantagens do Storyboard/XIB

    • Baixa curva de aprendizado, pois você não sabe exatamente o que está acontecendo por baixo dos panos, é algo extremamente visual;
    • Quando trabalhando em equipe, podem haver muitos conflitos na ferramenta de versionamento, como o git;
    • Com storyboard, não é permitido a reutilização de views como componentes, apenas com XIB/View Code;
    • Sem controle do fluxo de inicialização;
    • Pouco conhecimento sobre as propriedades dos elementos nativos (os elementos já vem com várias propriedades configuradas);
    • Acessibilidade reduzida, pois pessoas cegas não conseguem utilizar ferramentas visuais do tipo drag in drop, portanto, é uma alternativa menos acessível para muitas pessoas.

    Vantagens do View Code

    • Controle do fluxo de inicialização;
    • Reutilização de componentes de maneira fácil;
    • Fácil manutenção para resolver conflitos de merge quando trabalhamos em equipe;
    • Aumento de conhecimento sobre as propriedades dos elementos nativos;
    • O código é mais fácil de debugar;
    • Aumento de performance;
    • Mais controle do código e da aplicação.

    Desvantagens do View Code

    • Exige mais conhecimentos prévios de programação e da linguagem, como Swift;
    • Não é visual. Aqui construímos interfaces diretamente com código, sem o interface builder, sem receber um feedback visual instantâneo, e isso pode dificultar um pouco na hora de construirmos o código, sem saber exatamente como ficará;
    • Se não for feito da maneira correta, a complexidade aumenta muito. Precisamos utilizar das boas práticas de View Code para não ter muita dor de cabeça;
    • É mais demorado por não ser algo visual, apenas feito com código.

    E no mercado de trabalho, qual o mais utilizado?

    Atualmente, no mercado de trabalho, a técnica mais utilizada é a View Code, ou seja, construir o layout de forma programática. Porque, como vimos anteriormente, essa técnica causa muito menos conflitos quando estamos falando em versionamento do projeto e dá muito mais liberdade para você desenvolver.

    Se você está iniciando no iOS, seria legal começar com o Storyboard, já ele que possui uma interface mais amigável e exige menos conhecimentos prévios.

    Depois, aos poucos, conforme você vai entendendo e aprofundando nos estudos, seria ideal migrar para a construção de forma totalmente programática, utilizando o View Code, que permite mais flexibilidade e liberdade de criação.

    E aí, curtiu? Que tal aprender um pouco mais sobre View Code logo depois de finalizar esse artigo?

    Conclusão

    Neste artigo, entendemos mais sobre as diferentes técnicas de construção de layouts utilizando o framework UIKit.

    Se você tem interesse em outros artigos ou quer conhecer mais sobre o desenvolvimento iOS, basta me procurar aqui: Linkedin.

    Quer saber mais sobre iOS? Confira nosso curso para iniciantes aqui na Alura: Swift parte 1 - Desenvolvendo para iOS no Xcode.

    Até a próxima!

    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 Giovanna Moeller

      Autor(a)

      Giovanna Moeller

      Desenvolvedora de Software e Instrutora iOS.

    Explore por tópico

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

    Leia também

    • 03/04/2025

      React Navigation ou Expo Router: qual escolher para o react native

      Ler mais
    • 06/10/2022

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

      Ler mais
    • 26/05/2021

      Injeção de dependência no Android com o Hilt

      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