News

Apresentamos o Desenvolvimento Remoto com o Space

Read this post in other languages:
English, Français, 日本語, 한국어, Deutsch, Русский, Español, 简体中文

Talvez você já tenha ouvido falar da grande notícia da JetBrains — as soluções de desenvolvimento remoto para os IDEs da JetBrains

A ideia é ajudar você a superar os limites das máquinas locais e notebooks lentos, tornando possível que os desenvolvedores trabalhem de forma mais eficiente, economizem tempo e contribuam mais para os projetos.

Tendo este objetivo em mente, decidimos separar o front-end e o back-end dos IDEs. O único software instalado na sua máquina será um cliente que apresentará a interface de usuário do IDE e se comunicará com um back-end remoto. O back-end remoto se encarregará então de todas as operações pesadas com o código-fonte, tais como a criação dos índices e da árvore sintática, fornecendo complementação de código, refatorações, etc.

O que você pode usar como back-end remoto? Há várias opções, mas acreditamos que somos nós mesmos que oferecemos o melhor suporte a back-ends remotos para os nossos IDEs. Temos o prazer de anunciar os ambientes de desenvolvimento na nuvem no JetBrains Space

Com os ambientes de desenvolvimento do Space, você pode montar um processo de desenvolvimento remoto que permite que você:

  • Acelere a integração com ambientes padronizados.
  • Obtenha um IDE pronto para usar em segundos com snapshots pré-construídos.
  • Centralize o gerenciamento dos seus ambientes de desenvolvimento. 
  • Economize recursos com ambientes de desenvolvimento que hibernam automaticamente.
  • Trabalhe em várias tarefas ao mesmo tempo.
  • Colabore no código com seus colegas de equipe.

Leia esta postagem no blog para saber mais a respeito dos ambientes de desenvolvimento do Space e como utilizá-los.

O que é um ambiente de desenvolvimento?

Um ambiente de desenvolvimento é uma máquina virtual com um container do Docker que tem acesso ao código-fonte do projeto e fornece componentes de back-end ao seu editor local de código. O container é hospedado pelo mesmo motor usado no Space Automation. Leia este artigo para saber como isso funciona.

Space cloud dev environments

Por que escolher o Space para desenvolvimento remoto?

Criamos o Space, nossa solução integrada para equipes e projetos de software, como uma ferramenta para ajudar você a cobrir todo o ciclo de vida do desenvolvimento, desde a hospedagem de repositórios de Git e a automação de pipelines de CI/CD até a publicação de pacotes. 

A partir de hoje, para ajudar você a cobrir os seus fluxos de trabalho de desenvolvimento remoto de software, o Space permite que você gerencie ambientes de desenvolvimento remoto automaticamente, na forma de máquinas virtuais na nuvem.

Todo o pipeline de desenvolvimento remoto criado pela JetBrains

Com o Space, você pode configurar, inicializar, reproduzir e gerenciar seus ambientes de desenvolvimento, conectar-se aos IDEs da JetBrains e começar a codificar em segundos. 

O IntelliJ IDEA Ultimate e o Fleet, o IDE de próxima geração da JetBrains, já dão suporte ao desenvolvimento remoto com ambientes de desenvolvimento do Space. Em breve, o PyCharm, o GoLand, o WebStorm, o CLion e outros IDEs da JetBrains também darão esse suporte.

Leia esta postagem no blog para saber mais sobre as soluções de desenvolvimento remoto da JetBrains.

Solução econômica

O Space pode ajudar você a otimizar os custos da execução de ambientes de desenvolvimento remoto fornecendo VMs adequadas ao tamanho dos seus projetos e hibernando ambientes de desenvolvimento automaticamente após 30 minutos de inatividade. Saiba mais sobre os planos e preços dos ambientes de desenvolvimento e os tipos de VMs disponíveis.

Mantenha seu código seguro e protegido

Todas as máquinas virtuais que executam espaços de trabalho de programação ficam isoladas umas das outras e cada máquina virtual só pode executar um ambiente. As redes virtuais dos ambientes de desenvolvimento também são isoladas. Você pode tratar o seu ambiente de desenvolvimento como um branch temporário de Git e evitar o desgaste de manter um ambiente local permanente de desenvolvimento. Você pode simplesmente excluir o ambiente quando terminar.

Autenticação e autorização flexíveis

Com a configuração flexível de permissões por projeto, você só precisa configurar quem terá cada tipo de permissão para usar e gerenciar as áreas de trabalho de programação do seu projeto.

O que já está disponível nos ambientes de desenvolvimento do Space?

  • Ambientes reproduzíveis pré-configurados

Como as ferramentas e bibliotecas necessárias ao seu projeto são ambientes de desenvolvimento executados em containers do Docker, você pode instalar todas elas usando um Dockerfile. Se não houver um arquivo ./.fleet/Dockerfile no seu projeto, o Space usará a imagem-padrão do container. Isso garante que os seus ambientes de desenvolvimento estejam alinhados para toda a equipe e simplifica a experiência de incorporação à equipe dos novos desenvolvedores, que poderão começar a desenvolver quase imediatamente, já que não terão que preparar suas máquinas locais para o projeto.

Active Space dev environment
  • Preparação dos seus ambientes de desenvolvimento

Esta é a melhor parte! O Space deixa você preparar o back-end para o trabalho, duplicando o repositório de Git, montando os índices do projeto e resolvendo as dependências para você. Vai parecer que alguém chegou ao escritório uma hora antes de você, ligou o seu computador, abriu o projeto no IDE e preparou tudo para você. Assim, você pode começar bem o seu dia e começar a trabalhar num IDE 100% pronto.

A preparação é feita com a ajuda do Space Automation. Adicione uma tarefa de preparação ao arquivo .space.kts do projeto, adicione todos os scripts de preparação à tarefa e execute-a. Você pode até configurar a tarefa para ser executada diariamente. Leia este artigo para saber mais sobre como preparar o ambiente de desenvolvimento.

Space dev environment warmup snapshot
  • Compartilhamento de ambientes de desenvolvimento 

Você pode mandar um link do ambiente de desenvolvimento para os seus colegas, para que eles possam abri-lo nos seus IDEs, dar uma olhada no seu código, executá-lo e depurá-lo (no momento, este recurso só está disponível no Fleet). 

Sharing a Space dev environment
  • Hibernação de ambientes de desenvolvimento

Se um ambiente de desenvolvimento não for usado por mais de 30 minutos, ele entrará automaticamente em hibernação — o container será encerrado e a máquina virtual correspondente será liberada. Todas as alterações não salvas serão salvas no armazenamento do ambiente de desenvolvimento. Quando você estiver pronto para trabalhar naquele ambiente de novo, o ambiente pode ser restaurado com o mesmo exato armazenamento montado. A hibernação dos ambientes de desenvolvimento garante que você não tenha que pagar por recursos não utilizados.

Space dev environment hibernation
  • Suporte aos IDEs da JetBrains

Duas opções já estão disponíveis:

  • IntelliJ IDEA com o JetBrains Gateway (pode ser instalado através do Toolbox App) — o IntelliJ IDEA é instalado localmente e conecta-se a um ambiente de desenvolvimento através do launcher do JetBrains Gateway. No lançamento inicial, só o IntelliJ IDEA tem suporte nos ambientes de desenvolvimento do Space. Mas haverá suporte a outros IDEs baseados no IntelliJ mais tarde; então, fique de olho nas atualizações.
  • JetBrains Fleet (disponível como demonstração antecipada) — o IDE de próxima geração da JetBrains. Desenvolvido do zero, o Fleet usa o motor de processamento de código do IntelliJ, com uma arquitetura de IDE distribuído e uma Interface de usuário reimaginada. Fluxos de trabalho remotos e colaborativos são tratados com todas as honras no Fleet.
JetBrains Fleet
  • Escalabilidade

Para melhor adequação ao tamanho do seu projeto e otimização de custos, você pode escolher um dentre três tipos de instâncias: Normal (4 núcleos de CPU e 8 GB de RAM), Grande (8 núcleos de CPU e 16 GB de RAM) ou Extragrande (16 núcleos de CPU e 32 GB de RAM).

O que está planejado?

  • Suporte a mais IDEs

Além do IntelliJ IDEA Ultimate e do Fleet, também planejamos dar suporte ao PyCharm, GoLand, WebStorm, CLion e outros IDEs da JetBrains baseados no IntelliJ.

  • Compartilhamento de ambientes de desenvolvimento para desenvolvedores de Web

Suponha que você esteja desenvolvendo um aplicativo para a Web e queira que alguém da sua equipe teste as suas últimas alterações. Normalmente, se você estiver desenvolvendo o aplicativo na sua máquina local, você terá que submeter e fazer push das alterações, e depois preparar um ambiente de pré-produção na sua rede local. Usando um ambiente de desenvolvimento, você só precisa construir e executar o aplicativo. Você pode criar um link compartilhável e qualquer pessoa que tiver esse link poderá acessar o aplicativo web sem precisar de autenticação.

  • Suporte a múltiplos repositórios de Git

Atualmente, um ambiente de desenvolvimento só pode trabalhar com um repositório de projeto.

  • Outros recursos
    • Opções avançadas de compartilhamento, com suporte a vários fluxos de convite e uma lista de colaboradores e convidados.
    • Disponibilização de segredos de usuário em ambientes de desenvolvimento.
    • Suporte ao formato Devfile para descrever o espaço de trabalho do ambiente de desenvolvimento.
    • Support for multiple Git repositories.
    • Gerenciamento de recursos dos ambientes de desenvolvimento nos níveis da organização e do projeto, com suporte a quotas de recursos.
    • Ambientes de desenvolvimento hospedados localmente.
    • Auditorias de segurança e outros recursos.

Como começar a desenvolver em ambientes de desenvolvimento na nuvem

Tudo de que você precisa é o JetBrains Fleet ou o JetBrains Gateway instalado na sua máquina e um projeto hospedado no Space. Siga estas instruções detalhadas para:

Start developing remotely with Space and JetBrains IDEs

Se você tiver alguma dúvida quanto aos ambientes de desenvolvimento do Space, entre em contato com a nossa equipe de suporte fazendo uma solicitação através do nosso Web site.

O que você acha dos ambientes de desenvolvimento do Space? Deixe a sua opinião e o seu feedback nos comentários abaixo.

Artigo original em inglês por:

Luiz Di Bella

Valerie Andrianova