NovoJornada
Aprenda Swift
Um curso online de Swift, grátis e interativo. Você escreve Swift em toda lição — sintaxe, optionals, structs, classes, protocols, closures — com dicas de IA quando um optional te pega de surpresa e um certificado grátis ao concluir.
1,502+ codders inscritos
- Ideal para iniciantes
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
Seção 1
Fundamentos
Começar seçãoIniciarExpandirRecolherConstrua uma base sólida com conceitos essenciais e habilidades básicasIntrodução
3 lições216- 01A LinguagemDesafio
- 02Olá Mundo!DesafioQuizÁudio
- 03ComentáriosQuizÁudio
Variáveis
7 lições751- 01Let vs VarDesafioQuizÁudio
- 02Anotações de TipoDesafioQuizÁudio
- 03NúmerosDesafioQuizÁudio
- 04StringDesafioQuizÁudio
- 05BooleanosDesafioQuizÁudio
- 06Convenções de NomenclaturaDesafioQuizÁudio
- 07Recapitulação - Inicializar VariáveisDesafio
Opcionais
5 lições532- 01O que são OpcionaisDesafioQuizÁudio
- 02Desembrulhando com If LetDesafioQuizÁudio
- 03Guard LetDesafioQuizÁudio
- 04Operador de Coalescência NulaDesafioQuizÁudio
- 05Recapitulação - Desembrulho SeguroDesafio
Operadores Parte 1
5 lições534- 01Operadores AritméticosDesafioQuizÁudio
- 02Operador de MóduloDesafioQuizÁudio
- 03Atribuição CompostaDesafioQuizÁudio
- 04Recapitulação - Matemática SimplesDesafio
- 05Operadores de ComparaçãoDesafioQuizÁudio
Operadores Parte 2
5 lições532- 01Operadores Lógicos Parte 1DesafioQuizÁudio
- 02Operadores Lógicos Parte 2DesafioQuizÁudio
- 03Recapitulação - Lógica SimplesDesafio
- 04Operadores Lógicos Parte 3DesafioQuizÁudio
- 05Operador TernárioDesafioQuizÁudio
Tomada de Decisão
5 lições534- 01Estrutura IfDesafioQuizÁudio
- 02If - ElseDesafioQuizÁudio
- 03Recapitulação - Calculadora SimplesDesafio
- 04Estrutura SwitchDesafioQuizÁudio
- 05Switch com IntervalosDesafioQuizÁudio
IO Básico
6 lições634- 01Função PrintDesafioQuizÁudio
- 02Interpolação de StringsDesafioQuizÁudio
- 03Entrada ReadLineDesafioQuizÁudio
- 04Conversão de TiposDesafioQuizÁudio
- 05Recapitulação - Até 120Desafio
- 06Recapitulação - Verdadeiro ou FalsoDesafio
Calculadora de Divisão de Conta
Projeto5 lições1- 01Mensagem de Boas-vindasDesafio
- 02Obtendo EntradaProjeto
- 03Calculando Gorjeta e TotalProjeto
- 04Dividindo a ContaProjeto
- 05Saída FormatadaProjeto
Loops
9 lições967- 01Loop For-InDesafioQuizÁudio
- 02Loop WhileDesafioQuizÁudio
- 03Loop Repeat-WhileDesafioQuizÁudio
- 04BreakDesafioQuizÁudio
- 05ContinueDesafioQuizÁudio
- 06Recapitulação - FatorialDesafioQuiz
- 07Intervalos em LoopsDesafioQuizÁudio
- 08Loop AninhadoDesafioQuizÁudio
- 09Recapitulação - Entrada DinâmicaDesafio
Funções
7 lições742- 01Declarar uma FunçãoDesafioQuizÁudio
- 02Parâmetros e ArgumentosDesafioQuizÁudio
- 03Valores de RetornoDesafioQuizÁudio
- 04Rótulos de ArgumentosDesafioQuizÁudio
- 05Recapitulação - Função SigmaDesafio
- 06Recapitulação - Função de ValidaçãoDesafio
- 07Valores PadrãoDesafioQuizÁudio
FizzBuzz com um Diferencial
Projeto4 lições1- 01Visão Geral do JogoDesafio
- 02A Função FizzBuzzProjeto
- 03Percorrendo os NúmerosProjeto
- 04Adicionando o DiferencialProjeto
Fundamentos de Arrays
7 lições745- 01Declarando um ArrayDesafioQuizÁudio
- 02Acessando ElementosDesafioQuizÁudio
- 03Modificando ArraysDesafioQuizÁudio
- 04Métodos de ArrayDesafioQuizÁudio
- 05Recapitulação - Lista de ProdutosDesafio
- 06Recapitulação - Array InvertidoDesafio
- 07TuplasDesafioQuizÁudio
Iterando sobre Sequências
4 lições434- 01Iterando sobre ElementosDesafioQuizÁudio
- 02O Método EnumeratedDesafioQuizÁudio
- 03Iterando sobre Strings P1DesafioQuizÁudio
- 04Iterando sobre Strings P2DesafioQuizÁudio
Arrays Avançados
4 lições436- 01Fatiamento de Arrays Parte 1DesafioQuizÁudio
- 02Fatiamento de Arrays Parte 2DesafioQuizÁudio
- 03Operadores de SequênciaDesafioQuizÁudio
- 04O Método ContainsDesafioQuizÁudio
Rastreador de Despesas Diárias
Projeto7 lições1- 01Visão Geral do ProjetoDesafio
- 02Sair do ProgramaProjeto
- 03Adicionar DespesaProjeto
- 04Visualizar Todas as DespesasProjeto
- 05Total e MédiaProjeto
- 06Limpar TudoProjeto
- 07Tratamento de ErrosProjeto
Desafios Finais
3 lições3- 01Pirâmide de Asteriscos RetaDesafio
- 02Localizador de PadrõesDesafio
- 03O Que ComprarDesafio
Seção 2
Lógica e Fluxo
Começar seçãoIniciarExpandirRecolherAprimore seu Swift com strings, ranges, dicionários, sets, higher-order functions, closures e tratamento de erros. Dois projetos guiados consolidam todo o conteúdo.Strings a Fundo
6 lições643- 01Contagem e ÍndicesDesafioQuiz
- 02Case e TrimDesafioQuiz
- 03Busca em StringsDesafioQuiz
- 04Divisão e JunçãoDesafioQuiz
- 05Substituindo SubstringsDesafioQuiz
- 06Recapitulação - Verificação de Nome de UsuárioDesafio
Intervalos e Strides
5 lições533- 01Fechado vs Meio-AbertoDesafioQuiz
- 02StrideDesafioQuiz
- 03Métodos de IntervaloDesafioQuiz
- 04Intervalos no SwitchDesafioQuiz
- 05Recapitulação - Grade de CalendárioDesafio
Dicionários
6 lições641- 01Declarando DicionáriosDesafioQuiz
- 02Busca OpcionalDesafioQuiz
- 03Atualizando DicionáriosDesafioQuiz
- 04Iterando DicionáriosDesafioQuiz
- 05Agrupando ValoresDesafioQuiz
- 06Recapitulação - InventárioDesafio
Conjuntos
5 lições535- 01Criando ConjuntosDesafioQuiz
- 02União e InterseçãoDesafioQuiz
- 03Subtração e Diferença SimétricaDesafioQuiz
- 04Subconjunto e SuperconjuntoDesafioQuiz
- 05Recapitulação - Filtro de TagsDesafio
Funções de Ordem Superior Parte 1
5 lições533- 01MapDesafioQuiz
- 02FilterDesafioQuiz
- 03ReduceDesafioQuiz
- 04Encadeando map, filter, reduceDesafioQuiz
- 05Recapitulação - Estatísticas de PalavrasDesafio
Funções de Ordem Superior Parte 2
5 lições532- 01compactMapDesafioQuiz
- 02flatMapDesafioQuiz
- 03sorted(by:)DesafioQuiz
- 04Construindo PipelinesDesafioQuiz
- 05Recapitulação - LeaderboardDesafio
Projeto - Monitor de Hábitos
Projeto5 lições142- 01Visão Geral do ProjetoDesafioQuiz
- 02Marcar como ConcluídoProjetoQuiz
- 03Maior SequênciaProjetoQuiz
- 04Grade SemanalProjetoQuiz
- 05Comparar SemanasProjetoQuiz
Closures
6 lições641- 01Fundamentos de ClosuresDesafioQuiz
- 02Trailing ClosuresDesafioQuiz
- 03Capturando ValoresDesafioQuiz
- 04Retornando ClosuresDesafioQuiz
- 05Higher-Order PersonalizadasDesafioQuiz
- 06Recapitulação - Pipeline BuilderDesafio
Tratamento de Erros
5 lições533- 01throws e ErrorDesafioQuiz
- 02do, try, catchDesafioQuiz
- 03try? e try!DesafioQuiz
- 04Propagando ErrosDesafioQuiz
- 05Recapitulação - Calculadora SeguraDesafio
Projeto - Mecanismo de Quiz
Projeto5 lições141- 01Visão Geral do ProjetoDesafioQuiz
- 02Fazer PerguntasProjetoQuiz
- 03Avaliação FlexívelProjetoQuiz
- 04Filtrar por CategoriaProjetoQuiz
- 05Relatório de ResumoProjetoQuiz
Desafios Finais
3 lições3- 01Grupos de AnagramasDesafio
- 02Agregador de LogsDesafio
- 03Calculadora com HistóricoDesafio
Por que aprender Swift com a Coddy
- Escreva e execute código Swift de verdade no navegador. Sem instalar Xcode, sem precisar de Mac. Cada aula compila seu programa Swift no servidor e mostra a saída na hora, então dá pra aprender Swift no Windows, Linux ou qualquer máquina.
- Swift moderno: variáveis e tipos, controle de fluxo, optionals, structs vs classes, protocols, generics, closures, tratamento de erros. Os fundamentos do Swift que todo desenvolvedor iOS precisa.
- Dicas com IA ajudam você a ler e corrigir erros do compilador Swift e a fazer o unwrap de optionals corretamente, para que conceitos como nil-safety e value vs reference types façam sentido em vez de confundir.
- Certificado de Swift gratuito ao concluir o curso. Um sinal confiável para vagas de desenvolvedor iOS, macOS, watchOS e visionOS, onde Swift é a linguagem principal.
Perguntas frequentes sobre aprender Swift
Para que serve a programação em Swift?
Swift é a linguagem principal da Apple para criar apps no iOS, iPadOS, macOS, watchOS, tvOS e visionOS. A grande maioria dos novos apps de iPhone e Mac é escrita em Swift, e os frameworks da Apple (SwiftUI, UIKit, AppKit) são desenhados em torno dela. Fora das plataformas da Apple, Swift também aparece em código server-side, mas o desenvolvimento de apps é o motivo dominante para se aprender Swift.
Swift é difícil de aprender?
Swift é uma das linguagens fortemente tipadas mais acessíveis. A sintaxe é concisa, a inferência de tipos elimina muito código repetitivo, e recursos modernos como optionals e pattern matching são bem pensados. As partes mais complicadas (gerenciamento de memória com ARC, generics avançados, programação orientada a protocolos) vêm depois e são introduzidas aos poucos.
Dá para aprender Swift no Windows ou no Linux?
Sim. O curso compila Swift no servidor, então você pode aprender a linguagem Swift no Windows, Linux ou Chromebook sem precisar de Xcode nem de um Mac. Para de fato publicar apps iOS na App Store, em algum momento você vai precisar de um Mac e do Xcode, mas dá para aprender a linguagem Swift inteira sem isso.
Devo aprender Swift ou Objective-C?
Swift, na grande maioria dos casos. A Apple vem direcionando os desenvolvedores para Swift desde 2014 — a maior parte dos tutoriais modernos de iOS, exemplos de código e a documentação do SwiftUI é exclusivamente em Swift. Objective-C ainda aparece em bases de código mais antigas, mas Swift é a linguagem para novos projetos em iOS, macOS e visionOS.
Quanto tempo leva para aprender Swift?
O básico de Swift — variáveis, controle de fluxo, funções, structs — leva uma a duas semanas de prática diária. Ficar confortável com optionals, classes, protocols e closures normalmente leva de um a três meses. Se aprofundar em SwiftUI ou UIKit para de fato publicar apps no iOS é uma jornada à parte, em cima da linguagem em si.
Recebo um certificado ao concluir o curso de Swift?
Sim. Ao concluir o curso de Swift, você recebe um certificado de conclusão gratuito para adicionar ao seu currículo ou compartilhar no LinkedIn — útil como um passo a caminho do desenvolvimento iOS com SwiftUI.