Swift: não é apenas uma linguagem para aplicativos "Apple"
\n\nQuando se fala "Swift", muitos imaginam imediatamente mais um aplicativo para pedir café ou um rastreador de fitness. Mas a realidade é muito mais interessante. Essa linguagem há muito tempo saiu da caixa de areia do iOS e é usada em projetos onde estão em jogo milhões de usuários e bilhões de requisições por dia. Uber, Airbnb, Lyft — não são apenas nomes, são exemplos vivos de como o Swift em projetos reais resolve problemas não triviais.
\n\nNeste artigo, analisaremos casos específicos de empresas que escolheram o Swift não porque é "modinha", mas porque foi a melhor solução de engenharia. Você verá não apenas fatos secos, mas também exemplos de código em Swift que podem ser adaptados para seus próprios projetos. Vamos nessa!
\n\nUber: como o Swift salvou a performance e a legibilidade do código
\n\nUm dos casos mais marcantes de empresas usando Swift é a história da Uber. Em 2016, a equipe tomou uma decisão corajosa: reescrever os módulos principais de Objective-C para Swift. O motivo? Alta taxa de falhas do aplicativo em dispositivos antigos e complexidade na manutenção do código legado.
\n\nO que exatamente foi reescrito?
\n\n- \n
- Módulo de geolocalização e exibição do mapa \n
- Sistema de cálculo do custo da viagem \n
- Interface do motorista (tela principal) \n
A principal dificuldade era que o Objective-C não oferecia segurança de tipos suficiente. Por causa disso, os erros apareciam apenas em tempo de execução, e não na compilação. O Swift corrigiu isso.
\n\nExemplo de código: tratamento seguro de valores opcionais
\n\n// Antes: Objective-C — pode passar nil e quebrar\n- (void)updatePrice:(NSNumber *)price {\n if (price == nil) {\n return; // esqueceu de tratar — crash\n }\n self.priceLabel.text = [NSString stringWithFormat:@"$%.2f", [price floatValue]];\n}\n\n// Depois: Swift — o compilador não deixa esquecer\nfunc updatePrice(_ price: Double?) {\n guard let validPrice = price else {\n print("Price is nil, showing placeholder")\n return\n }\n priceLabel.text = String(format: "$%.2f", validPrice)\n}\n\nResultado: o número de crashes caiu 35% nos primeiros três meses após o lançamento. O Swift em projetos reais mostrou que a segurança de tipos não é um recurso abstrato, mas sim dinheiro e a paciência dos usuários.
\n\nAirbnb: otimização do trabalho com rede e assincronia
\n\nAirbnb é outro gigante que usa ativamente o Swift. Mas a história deles não é sobre reescrever, e sim sobre construir do zero. Quando a equipe decidiu criar um novo aplicativo para anfitriões (Airbnb for Hosts), eles escolheram o Swift imediatamente.
\n\nDesafio: trabalhar com um grande número de imagens e reservas
\n\nOs anfitriões carregam dezenas de fotos, e cada uma precisa ser compactada, processada e enviada ao servidor. Em Objective-C, isso se transformava em um "inferno de callbacks". O Swift, com seu async/await, tornou o código linear e compreensível.
\n\nExemplo de código: carregamento assíncrono de imagens
\n\nimport UIKit\n\nstruct ImageUploader {\n \n func uploadImage(_ image: UIImage) async throws -> URL {\n guard let imageData = image.jpegData(compressionQuality: 0.8) else {\n throw UploadError.invalidImage\n }\n \n let url = URL(string: "https://api.airbnb.com/upload")!\n var request = URLRequest(url: url)\n request.httpMethod = "POST"\n request.httpBody = imageData\n \n let (data, response) = try await URLSession.shared.data(for: request)\n \n guard let httpResponse = response as? HTTPURLResponse,\n httpResponse.statusCode == 200 else {\n throw UploadError.serverError\n }\n \n let json = try JSONDecoder().decode(UploadResponse.self, from: data)\n return json.imageURL\n }\n}\n\nenum UploadError: Error {\n case invalidImage\n case serverError\n}\n\nstruct UploadResponse: Codable {\n let imageURL: URL\n}\n\nEste exemplo é