Why Do Developers Love GitHub?
O que é o GitHub e o que o torna a plataforma de código aberto mais valorizada para 40 milhões de usuários em 200 países. Saiba as respostas em nossa última postagem no blog.
O ano é 2008, o lugar é San Francisco, CA, e as pessoas são Chris Wanstrath, Tom Preston-Werner e PJ Hyett, com um deles abandonando a faculdade, com certeza. O tempo pode estar ensolarado, ou não, não posso ter 100% de certeza porque agora, para o propósito deste post, todos os três estão sentados atrás de suas mesas improvisadas no bom e velho porão, como em todas aquelas boas e velhas histórias sobre boas e velhas ideias tecnológicas que se transformam em inovações de software de uma maneira boa e velha. Os números em 2021 são mais de 40 milhões, mais de 125 milhões e 1. Os 40 milhões são para usuários, 125 milhões são para repositórios de código e 1 é para a maior, mais poderosa e mais valiosa plataforma de código aberto por comunidades de desenvolvedores de todo o mundo – GitHub.
Criada e cofundada há 13 anos pelos três empreendedores de tecnologia mencionados acima, esta ferramenta de desenvolvimento de software consegue redefinir muitas coisas. Desde como as pessoas de tecnologia compartilham e comunicam conhecimento, passando por como constroem seu código, até como as pessoas começaram a ver as nuvens.
Anunciando a aquisição do GitHub pela Microsoft em sua postagem no blog do GitHub de 2018 e falando sobre seu futuro brilhante, Wanstrath aponta que:
"Quando o GitHub foi lançado pela primeira vez há dez anos, eu nunca poderia ter imaginado essa manchete. O Git era uma ferramenta poderosa, mas de nicho, as nuvens eram apenas coisas no céu e a Microsoft era uma empresa muito diferente. Código aberto e negócios, disseram as pessoas na época, misturados, bem como óleo e água.
What Exactly is GitHub?
Na última década, o GitHub se transformou na maior plataforma de código aberto do mundo para desenvolvimento de software que fornece armazenamento em nuvem para código-fonte, compartilhamento de código, rede, serviços de publicação e conversas de código. Possui mais de 125 milhões de repositórios de código e é usado por milhões de recém-chegados digitais e cérebros experientes em tecnologia de 200 países diferentes. Como uma plataforma de código aberto, isso significa que:
- É de uso gratuito (as maneiras pelas quais o GitHub lucra como empresa é oferecendo repositórios privados hospedados, planos de assinatura premium para equipes e empresas e adicionando taxas quando os usuários compram aplicativos de terceiros em sua plataforma).
- É alimentado por sua comunidade cada vez maior de usuários e colaboradores.
Para entender melhor como a plataforma funciona, vamos dividi-la em pedaços. Em primeiro lugar, vou olhar para a parte do Git. Em essência, o Git representa um sistema de controle de versão de código aberto, semelhante ao Subversion e ao CVS, que foi iniciado pelo criador do Linux – Linus Torvalds. A ideia por trás dessa ferramenta de linha de comando é controlar as revisões de código e permitir o armazenamento de código e modificações de código em um repositório central. E é aqui que entra a parte do Hub – o local real onde os projetos são armazenados e os engenheiros se conectam ou trabalham juntos. Os dois trabalham juntos para manter todas as revisões corretas sempre que os desenvolvedores lançam uma nova versão do aplicativo. Como resultado, isso:
- Simplifica o processo de desenvolvimento e o torna consistente, além de facilitar muito o rastreamento de atividades.
- Permite uma colaboração mais fácil.
- Permite que todos da equipe de desenvolvimento ou de terceiros vejam essas alterações, baixem-nas e contribuam com o código.
- Simplifica o upload e o monitoramento da revisão mais recente.
Em relação a como o GitHub realmente funciona, Matthew McCullough, instrutor do GitHub, explica que quando os desenvolvedores desejam aplicar alterações a um determinado projeto, eles podem copiar todo o repositório para um sistema que usam por conta própria. Eles fazem as alterações em uma cópia local e podem "transferi-las" para o servidor central depois disso, sem a necessidade de se conectar constantemente ao servidor para alterar uma única linha de código ou algo assim.
O mecanismo básico de trabalho do GitHub, no entanto, depende destes 5 fundamentos:
- Repositório – O local onde todos os arquivos de um determinado projeto são armazenados no GitHub é chamado de repositório (ou "repo" em resumo). Há um repositório separado para cada projeto que pode ser acessado por meio de uma URL exclusiva.
- Bifurcação – Este é talvez o melhor recurso do GitHub e a razão pela qual as pessoas continuam usando-o. Bifurcação é quando você cria um novo projeto com base em um que já existe na plataforma. Em outras palavras, você pega o projeto de outra pessoa para o qual gostaria de contribuir, copia o repositório, faz as alterações desejadas e, em seguida, libera a nova versão.
- Solicitação de pull– As solicitações de pull são enviadas quando você deseja notificar o criador original do projeto/repositório sobre as alterações feitas no chamado branch principal. Depois de enviado, o proprietário pode visualizar a revisão e escolher se aceita ou não suas alterações em seu projeto/repositório.
- Mesclagem: após uma solicitação de pull, as alterações feitas no repositório devem ser mescladas ao repositório original. Há três maneiras de mesclar repositórios, dependendo das opções de mesclagem habilitadas para você. Você pode: mesclar todos os commits no branch base; comprimir os commits em um commit; rebaseie os commits individualmente no branch base. Informações detalhadas sobre isso podem ser encontradas na documentação oficial do GitHub.
- Changelogs– A natureza do GitHub é tal que permite que muitas pessoas trabalhem no mesmo projeto, contribuam e o alterem. Para que todos os envolvidos fiquem na mesma página em relação a tudo o que acontece com o repositório, a plataforma habilita o changelog, acompanhando todas as alterações.
Por que os desenvolvedores usam o GitHub?
Certamente, existem muitos "WOWs" quando se trata dessa plataforma de desenvolvimento de código aberto. Então, vamos nos aprofundar e ver por que os desenvolvedores usam o GitHub.
- Colabore e gerencie software em tempo real
Uma das coisas sobre a plataforma que atrai tantos iniciantes e programadores profissionais é sua interface gráfica da web. Ele permite que eles troquem código facilmente, revisem o projeto uns dos outros e gerenciem o código do software em tempo real. O GitHub chega com muitos recursos que melhoram a colaboração, alguns dos quais são: rastreamento de problemas, análises em tempo real, solicitações de recursos, comentários e notas, gerenciamento de feedback e assim por diante. - Capacidade de clonar um projeto GIT
Não há necessidade de interagir com o servidor principal enquanto trabalha em seu próprio projeto ou ao contribuir para o de outra pessoa. A ferramenta de linha de comando permite que os desenvolvedores clonem um projeto git e ainda tenham acesso a todo o histórico e changelog. - GitHub Actions poderoso e pipelines de CI/CD
Outra razão pela qual os desenvolvedores usam o GitHub é por causa de suas poderosas ações, que simplificam muito a automação de fluxos de trabalho de software. Além disso, os usuários podem configurar facilmente um CI/CD, portanto, depois de confirmar as alterações, o CI/CD as extrai rapidamente do repositório GitHub e as aplica à própria implantação dos desenvolvedores. Qual a melhor maneira de fazer cobertura de código, revisões de código, triagem de problemas, gerenciamento de filiais e ver seu fluxo de trabalho ser executado? - Excelente controle de versão
O que realmente atrai os programadores para o GitHub é o excelente controle de versão. Ele permite que eles rastreiem qualquer alteração feita em seu código e permite que eles vejam facilmente quem a fez, ao mesmo tempo em que mantém e fornece um histórico completo da versão. Isso é algo extremamente útil não apenas em termos de colaboração, mas também quando se trata das crescentes tendências da força de trabalho remota. - Backup. Backup. Backup.
Ninguém gosta de perder todo o seu trabalho, certo? O GitHub parece estar cuidando bem, fornecendo um excelente backup. Qualquer código público ou privado é protegido e copiado, portanto, não há necessidade de armazenar código em seu disco rígido.
Quais são os benefícios do GitHub?
- Apresenta Gists & Github Pages
Há algum tempo, o GitHub lançou seu recurso Gists, que permite que um ou vários arquivos sejam facilmente convertidos em um repositório git funcional. Com as páginas do GitHub, por outro lado, os desenvolvedores têm a chance de hospedar sites estáticos em seu GitHub. E é tão simples que a única coisa que precisa ser feita é atribuir uma página HTML a um repositório separado. - Oferece documentação e suporte bem acolchoados
Ter um guia bem escrito para voltar sempre que necessário é essencial para os processos de desenvolvimento de software. E o GitHub não deve se esquivar de sua documentação, pois é uma das melhores do mercado. As pessoas podem pesquisar informações sobre fluxos de trabalho do Git, exemplos e outros conteúdos semelhantes a guias para aprender. Além disso, comparando-o com o BitBucket, por exemplo, o GitHub conquista o suficiente, pois não apenas fornece suporte confiável ao cliente on-line, mas também fornece base de conhecimento adequada e tutoriais em vídeo úteis. - Podcast super legal
Apenas alguns meses atrás, o GitHub lançou seu próprio podcast –ReadME.Pedindo a todos que mantenham seus "fones de ouvido, aumente o volume", a série episódica convida diferentes pessoas da tecnologia que assumem o papel de palestrantes e falam sobre seus projetos de código aberto que ganharam vida. Há também o incrívelProjeto ReadMElançado em 2020 – um espaço onde todos podem ler sobre as histórias e insights da comunidade de código aberto. - Funciona como seu próprio currículo
Um dos aspectos do GitHub que pode ser transformado em vantagem é o fato de que ele pode servir como um currículo para desenvolvedores e suas habilidades. É um tipo não convencional de currículo, mas ainda pode funcionar. Funciona muito bem quando alguém quer exibir seus créditos ganhos com patches aceitos, todas as contribuições feitas na plataforma e os projetos e pessoas com quem colaborou. - Ajuda novos projetos a serem bem-sucedidos
Como uma plataforma de código aberto, o GitHub realmente torna mais fácil para projetos de diferentes tamanhos e escalas entrarem no jogo. Dessa forma, ele não apenas permite que as pessoas divulguem suas ideias, mas também ajuda projetos jovens a serem bem-sucedidos, expandidos e alterados. Até Isaac Schlueter admite que "Node.js não seria o que é hoje sem o GitHub". - Não apenas para desenvolvedores
Uma coisa é certa – o GitHub é ótimo para programadores! Mas você sabia que ele poderia ser usado para outros fins diferentes de escrever código e desenvolver? É tão fácil de usar que outras pessoas o usam para projetos como escrever um livro, enquanto outras aproveitam seu sistema de controle de versão para fazer alterações de forma mais adequada e fácil em documentos do Word.
What Infragistics’ Developers Love in GitHub?
O que eu amo no GitHub são seus ricos recursos de colaboração, o fato de que ele permite que você crie, teste e implante seu código diretamente do GitHub, o poderoso controle de versão e, acima de tudo, o GitHub Actions! Com ele, você pode acelerar seus fluxos de trabalho de desenvolvimento de aplicativos, automatizando-os e personalizando-os diretamente em seu repositório. É incrível como é fácil fazer revisões de código, gerenciamento de filiais e triagem de problemas funcionarem do jeito que você deseja! Mas vamos ver o que meus colegas dizem também.
"Adoro o GitHub porque facilita o trabalho com repositórios git! Admiro especialmente a interface do usuário, tão simples, mas poderosa. Pode realmente fazer você se sentir feliz quando vê os tiques verdes de uma construção bem-sucedida!"–Hristo Anastasov
"Adoro o GitHub porque adoro trabalhar e contribuir para grandes projetos com muitas pessoas. O GitHub torna a colaboração entre mim e outros desenvolvedores em tais projetos incrivelmente fácil e clara e apenas move seu foco para o que importa. E por último, mas não menos importante, ajuda você a manter sua própria sequência de codificação, visualizando a contagem de commits por dias, o que acho útil quando se tem um dia não tão cheio de motivação."–Petko Bozhinov
"Adoro usar o GitHub, porque tudo é facilmente acessível, como repositórios, projetos, solicitações pull, commits etc. Está tornando a colaboração da equipe mais fácil, mais fácil de manter e tem gráficos e funcionalidades como mostrar a contribuição do dia a dia e um bom histórico de código para rastrear as mudanças."–Dobromir Tsvetkov
"O GitHub é uma ferramenta incrível que permite que equipes multifuncionais colaborem e contribuam para o melhor. Você pode armazenar documentos como README's, manter diferentes versões do código-fonte, configurar um CI com bastante facilidade e comunicar seu progresso com a gerência por meio de problemas e quadros de projetos."–Alex Kamenov
Como integramos nossos produtos ao GitHub?
Com a atualização de julho do App Builder, lançamos atualizações bastante significativas – uma das quais foi o upload de um aplicativo para o GitHub. Uma das características principais do App Builder é a geração de código.
Avançando rapidamente pela implementação do design do aplicativo, depois que o design do aplicativo estiver pronto e o código revisado, os usuários poderão obter o código final do aplicativo. No entanto, o que torna a experiência ainda maior é o fato de que o código do aplicativo pode ser facilmente carregado em um repositório GitHub diretamente de dentro do App Builder. O GitHub é a ferramenta favorita de milhares de desenvolvedores, portanto, esse recurso App Builder permite que os usuários se beneficiem de tudo o que o GitHub oferece – atribuir revisores, rastrear alterações, comentar e muito mais. Ao fornecer esse recurso, a equipe de produto não apenas adiciona mais uma peça à história colaborativa completa do design ao código, mas também integra a plataforma App Builder com um serviço bem conhecido ao qual os engenheiros já estão acostumados.

Para obter uma explicação detalhada do processo de upload para o GitHub, siga a documentação oficial.