O nosso guia de estilo Swift está agora aberto

Francisco Díaz em Airbnb Engineering & Data Science Seguir 5 de fev · 3 min ler

Estamos usando o Swift na Airbnb há quatro anos. A linguagem mudou e nossas práticas também. Hoje, estamos compartilhando como escrevemos o Swift.

Alguns dos engenheiros nativos do Airbnb falando em nossa palestra técnica de Desenvolvimento de Produto Nativo em agosto passado

Uma breve história do Swift no Airbnb

Na WWDC 2014, a Apple nos surpreendeu com uma nova linguagem: Swift. Na Airbnb, nós rapidamente pulamos de cabeça e escrevemos nossa primeira linha de Swift em agosto de 2014 – antes mesmo de a Swift chegar a 1.0 .

Mais tarde naquele ano, a Apple anunciou o Apple Watch e o WatchKit. Dada a empolgação da comunidade pelo há muito anunciado Apple Watch, em abril de 2015, fizemos uma aposta e começamos a escrever a primeira versão do aplicativo Apple Watch da Airbnb completamente no Swift 1.1.

Na WWDC 2015, a Apple anunciou oficialmente o Swift 2.0. Então, quando chegou a hora de construir nosso aplicativo da Apple TV , testamos e escrevemos usando o Swift 2.0.

Depois desses 2 pilotos de sucesso, em janeiro de 2016 decidimos que queríamos escrever todos os nossos novos recursos no Swift 2.0. Tudo estava indo nadando até que o Grande Swift Rename aterrissasse. Para fazer o upgrade para o Swift 3, encarregamos uma equipe de duas pessoas para migrar nossa base de código em um período de cinco semanas . Felizmente, a atualização para o Swift 4 foi muito mais simples; nossa base de código inteira está no Swift 4 desde outubro de 2017.

Por que um guia de estilo?

Swift é uma linguagem jovem. Quando começamos a usá-lo em 2014, não tínhamos diretrizes de estilo padronizadas do Swift. Nós soltamos 15 engenheiros em nossa base de código, cada um deles escrevendo com seu próprio estilo pessoal Swift. Logo ficou claro que, se não concordássemos em um estilo padronizado, passaríamos muito tempo discutindo estilo em nossos PRs, ou nossa base de código se assemelharia a uma pintura de Jackson Pollock .

Quando estávamos trabalhando em nosso aplicativo da Apple TV , começamos um guia de estilo informal. Em janeiro de 2016, isso foi combinado com outros esforços ad-hoc para se tornar o Airbnb Swift Style Guide oficial, onde começamos a colaborar para definir qual era a maneira preferida de escrever Swift no Airbnb.

A Apple e a comunidade Swift forneceram orientações valiosas sobre como escrever o Swift. Mesmo que eles tenham influenciado a forma como escrevemos o Swift na Airbnb, ainda vemos valor em manter nosso próprio Guia de Estilo como uma forma de repetir o que parece correto para nós, enquanto ao mesmo tempo nos mantemos alinhados com a comunidade. É por isso que adicionamos as recomendações da Apple aos nossos princípios orientadores .

Não queremos identificar e corrigir manualmente violações de guia de estilo, por isso adotamos o linter e o formatador mais populares na comunidade Swift, SwiftLint e SwiftFormat , respectivamente. Em nosso Guia de Estilo, você encontrará nossas configurações SwiftLint e SwiftFormat . Se você quiser usar as mesmas regras que nós, basta pegá-las e começar a usá-las em seus projetos!

Por que estamos abrindo o código?

Anos se passaram desde que começamos a escrever o Swift e a comunidade padronizou alguns padrões. O idioma e a comunidade do Swift foram ótimos para nós, por isso, quisemos contribuir compartilhando alguns dos padrões em que chegamos para escrever o Swift no Airbnb.

Entendemos que nem todos concordarão com a forma como fazemos as coisas no Airbnb. Acreditamos em uma discordância respeitosa e adoraríamos ouvir seus comentários. Estamos felizes em compartilhar nossos pensamentos. Se você não concorda ou acha que estamos perdendo alguma coisa, agradecemos suas contribuições !

Abraçando Swift

Na Airbnb, consideramos o Swift como o futuro do desenvolvimento do iOS, e vamos continuar ampliando os limites da tecnologia nativa de ponta. Como estamos rejeitando o React Native , estamos investindo ainda mais recursos em nossas bibliotecas internas do Swift e do Kotlin.

70% do nosso novo código Android nativo está no Kotlin e 90% do iOS está escrito no Swift . * Estamos constantemente migrando para os recursos mais recentes do idioma.

* Não inclui o código legado Reagir Nativa.