Advertisement
  1. Code
  2. Swift

Swift é Open Source

Scroll to top
Read Time: 12 min

Portuguese (Português) translation by David Batista (you can also view the original English article)

Não faz muito tempo que a Apple surpreendeu os desenvolvedores iOS com o Swift. Em um curto período, desde então, ela tem desfrutado de um ritmo rápido de adoção entre a comunidade de desenvolvimento. Na verdade, em uma pesquisa conduzida pelo Stack Overflow, o Swift foi nomeada a linguagem de programação mais amada.

No dia 3 de dezembro, a Apple permaneceu fiel a suas palavras e oficialmente tornou o Swift inteiramente open source. Dada a popularidade do Swift, é certamente emocionante pensar sobre as implicações da mudança. O que o futuro guarda para o Swift e o que podemos fazer como desenvolvedores para ajudar a moldar sua evolução?

Não tem certeza do que o open source significa? Leia o artigo do Sam Berson sobre open source, aqui.

Apple e o Open Source

Como alguém que gosta de desenvolver para iOS para viver, sempre tive um pouco de ciúmes da comunidade open source. Embora seja verdade que o GitHub esteja prosperando com projetos open source de iOS, tanto em Swift quanto Objective-C, historicamente a Apple não deixa a comunidade iOS contribuir muito para as suas ferramentas, frameworks, IDEs ou linguagens em qualquer função oficial para além de ResearchKit.

Agora, com o Swift, fomos convidados a ajudar a promover o futuro da linguagem. Esta é uma nova fronteira para a comunidade iOS e eu acredito isto também irá estender um pouco a boa vontade da Apple para desenvolvedores que trabalhem em suas plataformas diária. Além do mais, o futuro do Swift agora pode se estender muito além do iOS — algo que discutiremos mais tarde.

Um beneficio imediato deste movimento, pelo menos para mim, é que agora podemos apreciar um olhar intimo nas práticas de desenvolvimento e processos da Apple. De fato, o repositório do Swift no GitHub tem todos os commits para qualquer um ver, datando todo o caminho de volta ao commit inicial em 17 de Julho de 2010. 

Impacto do Open Source

Se você não pensou sobre o impacto da mudança da Apple para o open source do Swift, acho que é importante dar um passo para trás e dar uma olhada nisso. A história mostra que abrir o fonte de um projeto de software tem muitos benefícios.

Em geral, um projeto open source que ganhe tração na comunidade amadurece rapidamente, tornando-se mais instável ao longo do tempo. Se a comunidade se envolver ativamente, novos recursos podem ser implementados rapidamente. 

Além da iteração mais rápida, a comunidade ajuda o software de uma forma que beneficia a todos que mais a usam. Um projeto open source também resulta frequentemente em mais colaboração dentro da comunidade, o que é uma vitória para todos os envolvidos.

E a lista continua. Em um mundo que é depende da tecnologia e das ferramentas por trás dela, eu gostaria de sugerir a você que nunca foi mais importante, e relevante, abrir o código de um software. O poder de uma comunidade trabalhando em um software pode ser uma recompensa, e mais importante, um iniciativa produtiva.

Na verdade, nós temos visto até mesmo parceria da Apple com outras empresas de tecnologia de destaque para ajudar a trazer o Swift para um próximo nível. A IBM parece ter um grande interesse em implementar o Swift com um servidor paralelo da linguagem e você ja pode apreciar um incrível projeto de seus esforços em sua sandbox online do swift.

filefilefile

Swift vai evoluir rapidamente

No final, o Swift de código aberto significa que ele irá mudar em um ritmo acelerado. Geralmente, alterações rápidas podem significar dores de cabeça para os engenheiros. Nós até vimos isto no Swift em um certo grau. O Swift 2 introduziu varias mudanças que tornaram o código do Swift 1 obsoleto e incompatível. 

A principal diferença agora é que a Apple e a comunidade são quem impulsionam a mudança. Com uma porta aberta para olhar o que está acontecendo com o Swift, desenvolvedores podem se preparar melhor para as mudanças que estão vindo. Iterações no software não deveriam ser um exercício frustrante, deveria ser uma prática benéfica e de boas-vindas. Software open source se destaca nesse aspecto.

Para demonstrar isto, considere estas métricas que o repositório do Swift tem experimentado em seu curto periodo de vida:

  • 10.000 commits ocorridos em suas primeiras 24 horas
  • mais de 24.000 commits até hoje
  • em torno de ~400 pull request foram fundidas para o repositórios do Swift

Até o momento desta escrita, o Swift também está em constante tensão na posição #1 no GitHub. Isso é um grande feito em um curto espaço de tempo e isto mostra claramente que a comunidade de desenvolvimento em geral está pronto e disposta a contribuir.

Como um desenvolvedor, é energizante ver a linguagem adaptando a um ritmo "open source". Por exemplo, a popular desenvolvedora e autora iOS Erica Sadun já fez um argumento convincente para remover o looping ao estilo C do Swift. Além disso, os operadores -- e ++ provavelmente faram seu caminho para fora, também.

Considerando esses fatos, já vemos os benefícios do Swift ser open source. Não está apenas amadurecendo tornando-se compatível com outras plataformas além de iOS, mas os desenvolvedores também podem ver as mudanças acontecendo publicamente. Adaptar os códigos fontes para o Swift 3 realmente não deve ser problema, porque já não temos de esperar o próximo WWDC para estar cientes dos avanços da linguagem.

Onde começar

Considerando o impacto do open source, você deve estar se perguntando como você pode se envolver. Software open source inicialmente pode ser um pouco intimidante se nunca esteve envolvido com isso antes. Aqui, eu gostaria de salientar algumas maneiras que você pode obter uma sensação melhor sobre o software open source e o Swift em particular.

Ligações Sociais

Um bom lugar para começar a se envolver com o open source do Swift é nas próprias discussões. Não é novidade, um monte dessas discussões tem origem no Twitter. Algumas correções de bugs importantes mencionados ao longo do Twitter foram fixados antes do Swift ser open source.

Os desenvolvedores podem facilmente expressar suas idéias sobre o Swift usando o Twitter como ferramenta. Além do mais, você não tem que passar ainda pelo processo de contribuição de código. É uma maneira com pouco estresse para começar contribuindo com o Swift.

Também é divertido e educativo interagir com desenvolvedores Swift. Eles foram bastante ativo no Twitter antes do movimento open source e mais ainda depois dele. Dito isto, aqui estão alguns engenheiros da Apple que estão imediatamente envolvidos com o Swift.

Chris Lattner @clattner_llvm

O Chris é o responsável por nos trazer o Swift e ele também é o autor original da infraestrutura do compilador LLVM. Naturalmente, ele sempre está envolvido com a comunidade do Swift. Na verdade, ele tem estado aceitando solicitações de pull requests às 22:00 no sábado. Dizer que ele está ativamente envolvido com o projeto seria um eufemismo.

Jordan Rose @UINT_MIN

O Jordan é outro engenheiro top de linha da Apple que foca principalmente no Swift. Como Chris, o Jordan é também um grande recurso para levantar questões ou preocupações do Swift.

Joe Groff @jckarter

O Joe é também um engenheiro de talento trabalhando no Swift. Ele tem respondido muitas questões sobre o Swift e está sempre feliz para se envolver com a comunidade.

Contribuindo com o código

O código aberto do Swift inicialmente está rodando através da popular plataforma GitHub. Se você não está familiarizado com o GitHub, ou o Git em geral, contribuir com o Swift pode parecer um pouco intimidante. Se este for o seu caso, eu recomendo altamente que se familiarize com esta ferramenta primeiro, e este é um bom lugar para começar.

filefilefile

Para começar, você precisará definir um ambiente local. O README no GitHub do Swift é um excelente guia para seguir, então não vou repetir os passos aqui. Basicamente, após apenas alguns comando na linha de comando e interações com o repositório, você estará instalado e funcionando.

Comece pequeno

Quando contribuir para um software open source ou qualquer software em geral, é bom começar com algo pequeno, uma meta administrável. Na verdade, o Chris Lattner encoraja a isso.

Tente achar algumas peças do código fonte e se familiarize-se com eles. A partir daí, você estará melhor adequado para ver o que pode ser melhorado. Pessoalmente, o primeiro paço que eu iria tomar, é ler o Guia de Contribuição do Swift.

Projetos Open Source do Swift

Uma notícia emocionante (e surpreendente) que veio com o anúncio do open source do Swift foram alguns projetos que estão em desenvolvimento com a linguagem. Alguns deles eram esperados, como o compilador e biblioteca padrão, e alguns foram iniciativas novas da marca.

Cada um dos quatro grandes projetos são desenvolvidos abertamente, para que as contribuições sejam bem-vindas. Vamos dar uma breve olhada em cada um deles agora.

Compilador e biblioteca padrão

Tirado de swift.org, o compilador do Swift "é principalmente responsável pela tradução do código-fonte Swift para um eficiente código de máquina executável." Mesmo se você não tenha uma compreensão profunda de compiladores ou como eles funcionam, é fascinante navegar através de seu código, apenas para fins educacionais.

O segundo componentes deste projeto, a biblioteca padrão, é provável com o que grande parte dos desenvolvedores estejam familiarizados. Ele abriga tudo, desde os tipos de dados mais fundamentais, tais como os tipos Int e Double, à tipos de coleção avançados, tais como a Array e Dictionary.

Se você é um ávido desenvolvedor Swift, agora você tem o poder de ajudar a moldar como funcionam esses tipos. Ou, se você quiser um recurso especializado, criada especificamente para suas necessidades, você pode até mesmo copiar do repositório e personalizar tipos do Swift como você achar melhor.

Swift Package Manager

A comunidade iOS tem visto várias caminhos diferenças de distribuir códigos. Algumas escolhas populares inclui Cocoapods e Carthage. Agora nós podemos adicionar o Swift Package Manager à esta lista.

Apesar de estar na fase inicial de desenvolvimento, este é o projeto que eu acho mais interessante. Na verdade, atualmente ele não suporta iOS, tvOS ou watchOS. Embora o suporte para essas plataformas certamente virão, à medida que amadurece, ele poderia ser potencialmente usado para distribuir o código Swift muito além de apenas o iOS ou o OS X.

Core Libraries

O projeto Swift Core Library está intimamente relacionado a biblioteca padrão, exceto que ele fornece funcionalidade de grau superior. As ferramentas incluidas neste projeto são normalmente plataformas de conceito agnóstico.

Por exemplo, o projeto core library abriga funcionalidade para análise JSON, teste de unidade e interação com arquivo de sistema. Estas são as ferramentas a serem dependidas não importa a plataforma ou projeto na mão.

Para colocar este projeto em termos mais relacionáveis para desenvolvedores iOS e OS X, libdispatch está alojado aqui. Você está provavelmente familiarizado com isso, uma vez que é de onde vem o Grand Central Dispatch. Dito isso, faz sentido que ele esteja incluído nas Core Libraries já que a execução de código simultâneo não é uma tarefa específica para apenas o iOS ou o OS X.

REPL e Debugger

Por ultimo, o projeto REPL e Debbuger é provavelmente um pouco auto explicativo. Este projeto é responsável pela implementação de toda a suite de debugging do Swift. O LLDB debugger é algo que os desenvolvedores tem usado a algum tempo, porque ele está incluso no Xcode.

O REPL e Debugger são altamente acoplados, embora, faça sentido uma vez que proporcionam valor semelhantes em muitas maneiras. REPL significa "Read Eval Print Loop" e é ótimo para usar para códigos leves em Swift. Se você abrir o terminar e escrever "Swift", você irá começar a rodar o REPL do Swift localmente.

Como você pode ver, certamente não há falta de projetos ou componentes do Swift para contribuir. Embora pareça clichê, isto é só o começo e vários projetos novos vão surgir ao longo do tempo.

Recursos

Para concluir, eu gostaria de deixá-lo com alguns recursos que você pode usar para aprofundar seus conhecimentos da paisagem do open source do Swift.

Swift.org

Este é o destino oficial de todo o desenvolvimento do Swift. Isto inclui guias para iniciar, sumarios para todo o andamento do projeto e mais. Este poderia ser a sua primeira parada se você quer começar a se envolver.

filefilefile

Blog do Swift da Apple

Apesar deste estar funcionando a algum tempo, se você ainda não visitou você deve visitar. Ele conta uma grande quantidade de informações útil sobre o Swift e sua arquitetura escrita por Chris Lattner. Embora ele continue a ser visto se for mantido no lugar do swift.org, ainda é um recurso valioso.

Pagina do Swift no GitHub

Embora eu já ter mencioneado isto algumas vezes, mas aqui é onde todo o desenvolvimento do Swift vem parar. Se você deseja navegar pelo código, dar fork no repositório, ou enviar pull requests, aqui é onde isto acontece.

Lista de discussão da evolução do Swift

Esta é uma excelente lista de discussão para se inscrever, se você está interessado principalmente em ver como o Swift irá evoluir e a direção que a linguagem está tomando. Além disso, há várias outras listas de discussão para se considerar se escrever, que discutem vários aspectos do desenvolvimento do Swift. Você pode ver todas elas aqui.

Conselho de erros do Swift

Como qualquer outro software, o Swift tem bugs. Esta é a localização central, que a equipe do Swift usa para controlar bugs e segui-los até que eles sejam resolvidos. Além de bugs, melhorias também podem ser sugeridas aqui.

Conclusão

O Swift vai desempenhar um grande papel no desenvolvimento do iOS daqui para a frente. Acho que os desenvolvedores sabem desde que foi anunciado no WWDC 14. O que é interessante é que agora ele se manifestará fora das plataformas da Apple. Imagine-se usando o Swift como uma linguagem no servidor quando estiver desenvolvendo uma API?

Talvez mais importante do que o crescimento do Swift é o fato de que a comunidade irá controlar a mudança. O open source do Swift abrirá muitas portas para você e para a linguagem. Agora é a hora de se envolver então, começar a ler as orientações de contribuição e estou ansioso para ver seu próximo commit no repositório do Swift.

Seja o primeiro a saber sobre novas traduções–siga @tutsplus_pt no Twitter!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.