Arquitetura de aplicativos Swift (iOS/macOS)
Arquitetura de aplicativos Swift (iOS/macOS)
Resumo:
Criar um aplicativo iOS ou macOS de qualidade não é apenas conhecer a sintaxe do Swift e o UIKit. O verdadeiro desafio de engenharia é projetar o código para que ele seja flexível, testável e facilmente mantível. O livro "Arquitetura de aplicativos Swift (iOS/macOS)" é um guia prático para escolher e implementar padrões arquiteturais que ajudarão você a escrever código limpo e escalável.
Para quem é este livro?
- Desenvolvedores iOS/macOS que enfrentaram problemas de "código espaguete" no ViewController.
- Profissionais Júnior e Pleno que desejam sistematizar conhecimentos sobre design de aplicativos.
- Líderes de equipe que buscam abordagens ideais para organizar o trabalho da equipe em um grande projeto.
O que você aprenderá:
- Princípios fundamentais do SOLID e sua aplicação no ecossistema Apple.
- Análise detalhada dos padrões clássicos: MVC, MVP, MVVM — com exemplos em Swift 5.9+.
- Abordagens modernas: Coordinator (navegação), VIPER (para telas complexas) e Clean Architecture.
- Como combinar SwiftUI e UIKit dentro de uma única arquitetura.
- Organização da camada de dados: Repository, Service Locator, Dependency Injection.
- Testes: testes unitários e de UI com diferentes soluções arquiteturais.
- Refatoração: receitas passo a passo para transformar um projeto mal projetado em um bem estruturado.
Características da edição:
- Todos os exemplos de código são atualizados para Swift 5.9+ e Xcode 15+.
- Casos reais da prática do autor, incluindo aplicativos com multithreading e requisições de rede.
- Tabelas comparativas: quando escolher MVVM e quando escolher VIPER.
- Modelos prontos (Boilerplate) para iniciar rapidamente um novo projeto.
Este livro não é sobre teoria abstrata — é sobre como tomar decisões arquiteturais que economizarão horas de depuração e reescrita de código. Após lê-lo, você será capaz de projetar com confiança aplicativos de qualquer escala: desde um simples cronômetro até um mensageiro corporativo ou editor de vídeo.