Uma IDE, ou Integrated development environment, é um ambiente de programação que normalmente contém um editor de texto, um compilador, um depurador (debugger) e uma interface de usuário para acesso a essas funcionalidades.
Mas então o que seria uma Cloud IDE? 🤔
Uma Cloud IDE é apenas uma IDE baseada em tecnologias web, ou seja, uma aplicação web que pode ser acessada a partir de um navegador.
Isso implica em alguns benefícios quando comparamos com uma IDE tradicional:
- Instalação – Normalmente, requer muito pouco ou até nenhum processo de instalação.
- Multi-plataforma – O ambiente não depende de plataformas e pode ser acessado de qualquer dispositivo. Você pode iniciar um projeto no computador do trabalho e terminar em casa sem se preocupar em salvar arquivos em um pendrive ou no git.
- Leve – O processamento é feito remotamente, aliviando o computador local de todo o consumo de recursos. Isso possibilita que você desenvolva em um computador menos robusto como um netbook ou Chromebook.
- Ambiente único – Desenvolvimento em um ambiente unificado, com a mesma interface e funcionalidades.
- Facilita o deploy – Desenvolvimento em um ambiente mais próximo do ambiente de produção, como um servidor Linux, mesmo utilizando um computador com Windows ou MacOS.
- Colaboração – O ambiente pode ser compartilhado completamente para acesso simultâneo, em tempo real, pela internet.
Cloud9
Cloud9 é uma Cloud IDE open-source que possui, dentre outras, as seguintes funcionalidades:
- Diretórios e arquivos – na esquerda, temos uma árvore de diretórios e arquivos
- Editor de texto – Um editor de texto com syntax highlight para a maior parte das linguagens utilizadas atualmente.
- Emulador de terminal – Crie quantas instâncias de terminal quiser e execute comandos como se estivesse na própria máquina.
- Colaboração – Acesso à interface por múltiplos usuários ao mesmo tempo para edição colaborativa de código e acesso simultâneo aos emuladores de terminal.
Vamos pegar o código no github e instalar no servidor deste mesmo blog, que é hospedado pela Digital Ocean.
Se você ainda não conhece, a DigitalOcean é uma empresa de hospedagem onde se tem total liberdade de subir e configurar suas próprias máquinas virtuais Linux, sem ficar preso a dashboards ou usuários sem permissão de root.
Crie sua conta aqui e ganhe $100 dólares de crédito para criar suas máquinas na DigitalOcean.
Instalação
Esta instalação foi testada e homologada no seguinte ambiente:
- Ubuntu 18.04 LTS
- node 10.16.3
- npm 6.9.0
Para instalar basta clonar o repositório do github e rodar o script de instalação
$ git clone https://github.com/c9/core.git c9sdk
$ cd c9sdk
$ scripts/install-sdk.sh
Se você estiver usando uma versão do
npm >= 3
e rodarnpm install
manualmente, você deve executargit checkout HEAD -- node_modules
para restaurar os arquivos excluídos pelo npm.
Execução
Para rodar a interface básica com as configurações padrão, basta rodar nodejs c9sdk/server.js
. Além disso, podemos alterar alguns argumentos que podem ser passados como parâmetro:
- Url e porta de acesso
- Autenticação HTTP básica com usuário e senha
- Permitir acesso e edição colaborativa
- Diretório padrão que aparece na árvore de diretórios
Utilizando os argumentos acima, o comando ficaria:
$ node c9sdk/server.js
--listen umcodigo.com
--port 8080
--auth usuario:senha
--collab
-w /home/usuario
Referências
Veja abaixo para mais informações sobre Cloud IDEs