BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias GitHub rescreve seu cliente desktop utilizando Electron

GitHub rescreve seu cliente desktop utilizando Electron

O Github abandonou as implementações nativas dos seus clientes para macOS e Windows e rescreveu totalmente o seu código baseado em Electron, conforme anunciado por Phil Haack, diretor de aplicações cliente. Juntamente com o Github Desktop Beta, o Github está introduzindo uma nova integração do Atom com o Git e Github.

Conforme explicação do time que rescreveu o software, o principal motivo para o Github decidir refazer o seu cliente desktop do zero foi minimizar o custo de suporte de múltiplas plataformas. Desenvolver aplicações nativas para Windows e macOS, requer o uso de dois stacks completamente diferentes, o que significa implementar, depurar e manter cada funcionalidade duplamente. Da mesma forma, adicionar suporte para uma terceira plataforma, como Linux por exemplo, geraria um outro esforço adicional.

Como é possível perceber, construir aplicações para múltiplas plataformas não é escalável.

O time do Github rapidamente convergiu para basear seu novo aplicativo em tecnologias Web, especificamente Electron e TypeScript. Dentre as vantagens do uso dessas tecnologias, o ciclo de codificar, gerar uma versão e executar caiu de minutos para segundos, com recarregamento a partir de modificações no código e possibilidade de modificações no design em tempo real. Por outro lado, a escolha do uso dessas mesmas tecnologias Web para a construção de aplicações desktop trouxe algumas limitações e restrições:

Plataformas Web não são perfeitas, mas aplicações nativas também não são construídas em plataformas perfeitas. Refazer utilizando Electron significa trocar um conjunto de vantagens e desvantagens por um outro.

Após cerca de um ano de desenvolvimento, o novo cliente baseado em Electron pode ser baixado ou estendido (fork). O InfoQ conversou com Phil Haack para entender melhor a experiência do GitHub na escolha do Electron.

Desde que foi apresentado ao mercado, o Electron vem sendo escolhido como plataforma para diversas aplicações importantes. Como você descreveria o papel que o Electron ocupa no atual cenário de soluções disponíveis para aplicações de múltiplas plataformas?

Phil Haack: O Electron eleva o sucesso da web tornando-se uma plataforma de primeira classe. Ao longo do tempo, o Electron e a web têm caminhado na mesma direção, a partir de extremidades opostas. O fato de desenvolvedores web serem capazes de também desenvolver aplicações Desktop justifica parte do sucesso do Electron.

Recentemente houve uma discussão acalorada no Reddit, onde o Electron foi apelidado de "Flash para Desktop" - principalmente pela sua performance e requisitos de memória. Quais argumentos você usaria para convencer os desenvolvedores resistentes ao Electron de que é uma tecnologia importante?

Haack: Como eu já havia comentado, o Electron tem crescido como uma plataforma web de sucesso. Como o Chromium, Node, Javascript, HTML, CSS, etc continuam a melhorar contando com grandes investimentos de empresas como Google, Microsoft, Facebook, Slack, Github, e tantos outros. O Electron se beneficia disso. Existe um grande poder de fogo direcionado à este conjunto de ferramentas. Assim, para aqueles que criticam o Electron, eu lembraria da história destas tecnologias, como elas melhoraram e continuam a melhorar. Nós estamos tendo muita boas discussões sobre melhorias para o Electron.

Qual sua expectativa para o uso do Electron em aplicações mobile? Alguma chance de chegarmos lá, na sua opinião?

Haack: Ouvimos da nossa comunidade que isto é algo que eles gostariam de ver, mas dado que o Chromium é responsável por 90% da base do código do Electron, estamos amarrados aos locais onde o Chromium e o Node.js podem rodar. Isto elimina o iOS e torna a execução no Android difícil. É uma ótima oportunidade para a criação de uma implementação compatível com API.

Conforme mencionado, o GitHub também anunciou uma nova integração do Git e do GitHub com o Atom, disponível no Atom 1.18 beta, com o objetivo de permitir com que os desenvolvedores façam o gerenciamento diretamente do editor, reduzindo a necessidade de troca de contextos que acontece ao utilizar o ambiente por linha de comando ou uma ferramenta separada.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT