Pular para o conteúdo

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.

6
módulos
24
tópicos
45
min para avaliar

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 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

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.