Trilha de estudo
Trilha Swift & Desenvolvimento iOS: tudo o que estudar, tópico por tópico
Avaliacao abrangente de Swift e iOS cobrindo fundamentos da linguagem, programacao orientada a objetos e protocolos, SwiftUI e UIKit, concorrencia com async/await e actors, persistencia de dados, networking, padroes de arquitetura, testes e distribuicao de aplicativos.
Resposta curta
Para aprender Swift & Desenvolvimento iOS, percorra 6 módulos e 24 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de Swift e siga para OOP & Protocolos e SwiftUI & UIKit. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos de Swift4 tópicos
Variaveis & Tipos
Declaracoes let e var, inferencia de tipos, tipos basicos (Int, Double, String, Bool), aliases de tipo, tuplas, seguranca de tipos e conversao de tipos com operadores as/is
Objetivos
- Declarar constantes e variaveis com anotacoes de tipo adequadas
- Compreender o sistema de seguranca e inferencia de tipos do Swift
Conceitos-chave
- let vs var
- inferencia de tipos
- Int, Double, String, Bool
- aliases de tipo
- tuplas
- seguranca de tipos
- operadores as/is
- Any e AnyObject
Fluxo de Controle
If/else, instrucoes switch com pattern matching, lacos for-in, while e repeat-while, instrucoes guard, instrucoes rotuladas, fallthrough e clausulas where
Objetivos
- Escrever fluxo de controle idiomatico em Swift com guard e switch
- Utilizar pattern matching em instrucoes switch de forma eficaz
Conceitos-chave
- instrucoes if/else
- switch com pattern matching
- lacos for-in
- while e repeat-while
- instrucoes guard
- instrucoes rotuladas
- palavra-chave fallthrough
- clausulas where
Funcoes & Closures
Assinaturas de funcoes com rotulos de argumentos, parametros padrao, parametros variadicos, parametros inout, closures, sintaxe de trailing closure, captura de valores e @escaping
Objetivos
- Escrever funcoes com rotulos de argumentos e tipos de parametros adequados
- Compreender a semantica de captura de closures e closures escaping
Conceitos-chave
- rotulos de argumentos
- parametros padrao
- parametros variadicos
- parametros inout
- sintaxe de closure
- trailing closures
- captura de valores
- closures @escaping
Optionals
Tipos optional, optional binding (if let, guard let), operador nil coalescing, optional chaining, force unwrapping, optionals implicitamente desembrulhados e map/flatMap em optionals
Objetivos
- Desembrulhar optionals de forma segura usando binding e chaining
- Evitar force unwrapping em codigo de producao
Conceitos-chave
- tipo Optional
- if let binding
- guard let binding
- nil coalescing (??)
- optional chaining
- force unwrapping (!)
- optionals implicitamente desembrulhados
- map/flatMap em Optional
2 · OOP & Protocolos4 tópicos
Classes & Structs
Tipos por valor vs tipos por referencia, inicializadores memberwise, inicializadores designados e de conveniencia, heranca, deinit, fundamentos de ARC, operadores de identidade (===) e copy-on-write
Objetivos
- Escolher entre structs e classes com base na semantica de valor/referencia
- Implementar cadeias de inicializacao adequadas
Conceitos-chave
- tipos por valor vs tipos por referencia
- inicializadores memberwise
- inicializadores designados
- inicializadores de conveniencia
- heranca
- fundamentos de ARC
- operadores de identidade (===)
- copy-on-write
Protocolos
Definicao de protocolo, conformidade a protocolo, heranca de protocolo, composicao de protocolo, tipos associados, extensoes de protocolo com implementacoes padrao e Equatable/Hashable/Codable
Objetivos
- Projetar protocolos com tipos associados e implementacoes padrao
- Aplicar padroes de programacao orientada a protocolos
Conceitos-chave
- definicao de protocolo
- conformidade a protocolo
- heranca de protocolo
- composicao de protocolo (&)
- tipos associados
- extensoes de protocolo
- implementacoes padrao
- Equatable/Hashable/Codable
Extensoes & Generics
Extensoes de tipo, propriedades computadas em extensoes, conformidade condicional, tipos e funcoes genericas, restricoes de tipo, clausulas where e tipos opacos (some)
Objetivos
- Escrever codigo generico com restricoes de tipo adequadas
- Utilizar extensoes para organizar e adicionar funcionalidade
Conceitos-chave
- extensoes de tipo
- propriedades computadas em extensoes
- conformidade condicional
- funcoes genericas
- tipos genericos
- restricoes de tipo
- clausulas where
- tipos opacos (some)
Enums & Pattern Matching
Casos de enum com valores associados, raw values, CaseIterable, enums recursivos, pattern matching com switch/if case/guard case e enum com metodos e propriedades computadas
Objetivos
- Projetar enums com valores associados para modelagem de dominio
- Aplicar pattern matching para extrair valores associados
Conceitos-chave
- valores associados
- raw values
- CaseIterable
- enums recursivos (indirect)
- if case let
- guard case let
- exaustividade de switch
- metodos de enum
3 · SwiftUI & UIKit4 tópicos
Fundamentos de SwiftUI
Protocolo View, propriedade body, VStack/HStack/ZStack, views Text/Image/Button, modificadores, @ViewBuilder, previews e composicao de views
Objetivos
- Construir interfaces declarativas com composicao de views SwiftUI
- Aplicar modificadores corretamente para personalizar views
Conceitos-chave
- protocolo View
- propriedade body
- VStack/HStack/ZStack
- Text/Image/Button
- modificadores de view
- @ViewBuilder
- previews
- composicao de views
Gerenciamento de Estado SwiftUI
@State, @Binding, @ObservedObject, @StateObject, @EnvironmentObject, @Environment, macro Observable (@Observable) e fluxo de dados em SwiftUI
Objetivos
- Escolher o property wrapper correto para cada cenario de fluxo de dados
- Gerenciar estado de forma eficaz em hierarquias de views
Conceitos-chave
- @State
- @Binding
- @ObservedObject
- @StateObject
- @EnvironmentObject
- @Environment
- macro @Observable
- padroes de fluxo de dados
Fundamentos de UIKit
Ciclo de vida do UIViewController, hierarquia de UIView, restricoes de Auto Layout, UITableView/UICollectionView, padrao de delegacao e Interface Builder vs UI programatica
Objetivos
- Implementar views UIKit com restricoes de Auto Layout
- Compreender os metodos do ciclo de vida do UIViewController
Conceitos-chave
- ciclo de vida do UIViewController
- hierarquia de UIView
- Auto Layout
- UITableView
- UICollectionView
- padrao de delegacao
- UI programatica
- Interface Builder
Navegacao & Roteamento
NavigationStack (SwiftUI), NavigationPath, UINavigationController (UIKit), navegacao por abas, apresentacao modal, deep linking e padrao coordinator
Objetivos
- Implementar fluxos de navegacao em SwiftUI e UIKit
- Projetar estrategias de deep linking e roteamento
Conceitos-chave
- NavigationStack
- NavigationPath
- UINavigationController
- navegacao por abas
- apresentacao modal
- deep linking
- padrao coordinator
- navegacao programatica
4 · Concorrencia4 tópicos
Async/Await
Funcoes async, palavra-chave await, Task e TaskGroup, concorrencia estruturada, bindings async let, APIs de continuation e AsyncSequence/AsyncStream
Objetivos
- Escrever codigo concorrente estruturado com async/await
- Fazer ponte de APIs baseadas em callback para async/await usando continuations
Conceitos-chave
- funcoes async
- palavra-chave await
- Task
- TaskGroup
- concorrencia estruturada
- async let
- withCheckedContinuation
- AsyncSequence
Actors
Modelo de actor, isolamento de actor, palavra-chave nonisolated, @MainActor, actors globais, protocolo Sendable, closures @Sendable e reentrancia de actor
Objetivos
- Projetar tipos thread-safe usando actors
- Compreender isolamento de actor e restricoes Sendable
Conceitos-chave
- palavra-chave actor
- isolamento de actor
- nonisolated
- @MainActor
- actors globais
- protocolo Sendable
- closures @Sendable
- reentrancia de actor
GCD & Operations
DispatchQueue (serial, concurrent, main), DispatchGroup, DispatchSemaphore, OperationQueue, subclassing de Operation, qualidade de servico e thread safety com locks
Objetivos
- Gerenciar trabalho concorrente com filas e grupos GCD
- Escolher padroes de dispatch adequados para diferentes cenarios
Conceitos-chave
- DispatchQueue
- serial vs concurrent
- fila principal
- DispatchGroup
- DispatchSemaphore
- OperationQueue
- qualidade de servico (QoS)
- thread safety
Framework Combine
Protocolos Publisher e Subscriber, operadores (map, filter, flatMap, combineLatest), Subjects (PassthroughSubject, CurrentValueSubject), @Published, cancellables e tratamento de erros
Objetivos
- Construir pipelines de dados reativos com operadores Combine
- Gerenciar assinaturas e memoria com cancellables
Conceitos-chave
- protocolo Publisher
- protocolo Subscriber
- map/filter/flatMap
- combineLatest/merge/zip
- PassthroughSubject
- CurrentValueSubject
- @Published
- AnyCancellable
5 · Dados & Networking4 tópicos
Core Data
NSManagedObject, NSPersistentContainer, NSFetchRequest, predicados, relacionamentos, migracoes, NSFetchedResultsController e contextos em background
Objetivos
- Projetar modelos Core Data com relacionamentos e migracoes
- Realizar operacoes thread-safe com contextos em background
Conceitos-chave
- NSManagedObject
- NSPersistentContainer
- NSFetchRequest
- NSPredicate
- relacionamentos
- migracoes
- NSFetchedResultsController
- contextos em background
Networking & URLSession
Configuracao de URLSession, URLRequest, tarefas de dados/upload/download, desafios de autenticacao, sessoes em background, politicas de cache e componentes de URL
Objetivos
- Construir camadas de networking robustas com URLSession
- Lidar com autenticacao e transferencias em background
Conceitos-chave
- URLSession
- URLRequest
- tarefas de dados
- tarefas de upload/download
- desafios de autenticacao
- sessoes em background
- URLCache
- URLComponents
Codable & JSON
Protocolo Codable (Encodable/Decodable), JSONEncoder/JSONDecoder, coding keys, codificacao/decodificacao customizada, containers aninhados, estrategias de data e PropertyListEncoder
Objetivos
- Implementar conformidade Codable para modelos de dados complexos
- Lidar com estruturas JSON customizadas com coding keys e containers
Conceitos-chave
- protocolo Codable
- JSONEncoder
- JSONDecoder
- CodingKeys
- encode/decode customizado
- containers aninhados
- estrategias de decodificacao de data
- PropertyListEncoder
SwiftData
Macro @Model, ModelContainer, ModelContext, macro @Query, relacionamentos, ordenacao e filtragem, estrategias de migracao e integracao com CloudKit
Objetivos
- Projetar modelos de dados com SwiftData e macro @Model
- Integrar SwiftData com SwiftUI usando @Query
Conceitos-chave
- macro @Model
- ModelContainer
- ModelContext
- macro @Query
- relacionamentos
- ordenacao e filtragem
- estrategias de migracao
- integracao com CloudKit
6 · iOS Avancado4 tópicos
Arquitetura de Aplicativos
MVC, MVVM, MVP, VIPER, TCA (The Composable Architecture), injecao de dependencias, padrao coordinator, arquitetura limpa e estrategias de modularizacao
Objetivos
- Avaliar e aplicar padroes de arquitetura para aplicativos iOS
- Projetar arquiteturas de aplicativos modulares e testaveis
Conceitos-chave
- padrao MVC
- padrao MVVM
- injecao de dependencias
- padrao coordinator
- arquitetura limpa
- modularizacao
- TCA
- fluxo de dados unidirecional
Testes
Framework XCTest, Swift Testing (@Test, #expect), testes unitarios, testes de UI com XCUITest, mocking com protocolos, test doubles, cobertura de codigo e testes de snapshot
Objetivos
- Escrever testes unitarios e de UI eficazes para aplicativos iOS
- Projetar codigo testavel usando injecao de dependencias e protocolos
Conceitos-chave
- XCTest
- Swift Testing (@Test, #expect)
- testes unitarios
- XCUITest
- mocking com protocolos
- test doubles
- cobertura de codigo
- testes de snapshot
Otimizacao de Desempenho
Profiling com Instruments, vazamentos de memoria e ciclos de retencao, carregamento lazy, cache de imagens, desempenho de listas, otimizacao do loop de renderizacao e diagnosticos de Energy Impact
Objetivos
- Fazer profiling e diagnosticar problemas de desempenho com Instruments
- Prevenir e corrigir vazamentos de memoria e ciclos de retencao
Conceitos-chave
- profiling com Instruments
- vazamentos de memoria
- ciclos de retencao
- carregamento lazy
- cache de imagens
- desempenho de listas
- loop de renderizacao
- Energy Impact
Distribuicao de Aplicativos
App Store Connect, perfis de provisionamento, assinatura de codigo, TestFlight, pipelines de CI/CD com Xcode Cloud, diretrizes de revisao da App Store e distribuicao enterprise
Objetivos
- Configurar assinatura de codigo e provisionamento para distribuicao
- Configurar pipelines de CI/CD para testes e deploy automatizados
Conceitos-chave
- App Store Connect
- perfis de provisionamento
- assinatura de codigo
- TestFlight
- Xcode Cloud
- diretrizes de revisao da App Store
- distribuicao enterprise
- pipelines de CI/CD
Níveis: Júnior, Pleno e Sênior
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Swift & Desenvolvimento iOS?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Swift & Desenvolvimento iOS?
Comece por Fundamentos de Swift: Variaveis & Tipos, Fluxo de Controle e Funcoes & Closures. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Swift & Desenvolvimento iOS?
Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.