A quantidade de soluções para Cloud Computing e o aumento em investimentos nessa área trazem a sensação de que tudo está se movendo para a nuvem. Agora a bola da vez são os IDEs. A proposta com os ambientes de desenvolvimento em nuvem é permitir, entre outras vantagens, que programadores não se preocupem com configurações do ambiente e outros detalhes locais, podendo escrever código a qualquer momento e de qualquer lugar, bastando dispor de um equipamento com navegador moderno e, claro, acesso à internet.
Os desenvolvedores de várias linguagens importantes, como Java, Python, JavaScript, C#, Ruby e PHP, já contam com serviços na web oferecendo IDEs. Boa parte não tem custo. Neste artigo, é apresentada uma seleção das principais IDEs na nuvem.
Eclipse Orion
O Eclipse Orion, projeto liderado pela Fundação Eclipse, disponibiliza suporte básico a escrita de código Java e tecnologias para web. Há várias funcionalidades para escrita de código, como autocompletar código e realce de sintaxe, para Java, HTML, CSS e JavaScript. O Orion usa o Git como sistema de controle de versões, mas ainda não foi integrado a ambientes de implantação de projetos em nuvem (por exemplo, Heroku, CloudBees ou Openshift).
Em paralelo ao Orion, a Fundação Eclipse disponibiliza o OrionHub, que hospeda a implementação do Orion, tornando-o acessível ao desenvolvedor. Para experimentar o Eclipse Orion no OrionHub, o desenvolvedor precisa informar um email no site do projeto, sem qualquer custo. O InfoQ Brasil, tem acompanhado os projetos de perto, começando pelo lançamento do OrionHub; em seguida cobrimos a versão 0.2 do Orion e recentemente, a versão 0.3. As três referências apresentam outros detalhes sobre o funcionamento do IDE em nuvem da Fundação Eclipse.
Eclipse Orion
eXo Cloud IDE
O eXo Cloud IDE é um ambiente de desenvolvimento colaborativo disponível na web para as linguagens Java, PHP e Ruby, além de HTML5/JavaScript. O ambiente traz a navegação em múltiplas janelas, permitindo que o desenvolvedor edite vários arquivos ao mesmo tempo (algo comum no desktop, mas ainda inovador no ambiente de cloud). Da mesma forma que o Orion, o editor tem a funcionalidade de autocompletar código e realce de sintaxe, além de atalhos de teclado. O Git também é o sistema de controle de versões.
O ponto forte do eXo Cloud é o suporte a múltiplos ambientes para o implantação de projetos em ambientes de cloud, entre eles:
- CloudBees, ambiente com suporte a projetos escritos em Java, integrado ao controlador de versões Git, com a opção de Integração Contínua através do Jekins e Maven.
- Heroku, plataforma de cloud com suporte a projetos desenvolvidos em Ruby e Java. O Heroku também é integrado ao controlador de versão Git.
- OpenShift: alternativa para implantação de projetos na nuvem. Projetos desenvolvidos em Java, PHP ou Ruby podem ser implantados diretamente no OpenShift Cloud Express.
- Amazon Elastic Beanstalk: o eXo Cloud IDE pode ser adicionado em uma instância do Elastic Beanstalk.
O serviço está disponível sem custo. O desenvolvedor precisa criar uma conta informando o email e um nome do domínio (ex: dominio.cloud-ide.com) para definir um host que fica vinculado ao conteúdo dos projetos no eXo Cloud IDE.
eXo Cloud IDE
Cloud9 IDE
O IDE Cloud9 é mais uma alternativa para IDE colaborativa, acessível via web com algumas funcionalidades complementares voltadas à gestão de projetos. Seu editor de código suporta HTML, JavaScript, CSS, CoffeeScript, Ruby e PHP. O IDE se integra aos controladores de versão distribuídos Git e Mercurial, com a possibilidade de integrar o projeto ao GitHub ou ao BitBucket.
A ferramenta permite implantação de projetos nos ambientes Joyent e Heroku (é necessário criar uma conta para utilização). Para projetos públicos e open source, o Cloud9 IDE é gratuito; no caso de projetos privados o custo é de 15 dólares por mês para cada usuário.
Cloud9 IDE
Python Fiddle e JS Fiddle
O Python Fiddle traz uma proposta mais simples que os três IDEs já descritos. Ele oferece um editor e um runtime online para código escrito em Python. O editor conta com algumas teclas de atalho e o suporte a realce de sintaxe. Outra característica é o suporte a alguns módulos escritos em Python e a possibilidade de compartilhar código entre desenvolvedores.
O Python Fiddle está imediatamente disponível para qualquer pessoa; não é necessário criar uma conta, basta escrever um trecho de código Python e executar diretamente no site. Para usar algumas funcionalidades, entretanto, é solicitado o login usando uma conta do Twitter, Facebook ou Google. Um detalhe: a IDE deve ser acessada por navegadores com suporte a HTML5 (ex.: Chrome, Firefox e IE9).
O JS Fiddle também disponibiliza um runtime e um editor; o foco, no entanto, é em JavaScript, HTML e CSS. O desenvolvedor consegue editar os três tipos de conteúdo na mesma tela, em áreas distintas, e tem a possibilidade de validar o resultado final combinando as três partes. Uma característica do JS Fiddle é o suporte a diversos frameworks JavaScript em diferentes versões, incluindo JQuery, Dojo, Mootools, Prototype e ExtJS.
Tanto o JS Fiddle como o Python Fiddle são ferramentas simples e diretas, que o desenvolvedor pode utilizar sem a necessidade de criar uma conta; basta acessar pelo browser e começar a codificar. As duas ferramentas não possuem integração com controladores de versão, nem suporte à implantação dos projetos em um ambiente cloud.
Python Fiddle
JS Fiddle
CodeRun Studio
O CodeRun Studio oferece suporte em cloud, a C#, ASP.NET, Silverlight, PHP, JavaScript, HTML e CSS. A proposta da ferramenta é centralizar o ambiente de desenvolvimento e execução em nuvem numa única plataforma. O CodeRun integra-se ao SQL Server e ao Amazon SimpleDB.
Para utilizar a IDE do CodeRun, o desenvolvedor não tem nenhum custo, e é possível realizar um test-drive no site do projeto, sem a necessidade de criar uma conta. A CodeRun fornece um outro serviço pago, chamado CodeRun Cloud, para a hospedagem integrada ao IDE, tornando possível a implantação no ambiente EC2 da Amazon.
CodeRun Studio
Qual ferramenta?
Atualmente, os IDEs eXo Cloud e Cloud9 demonstram maior maturidade e maior número de funcionalidades, quando comparadas aos outros IDEs aqui analisados. Ambas as ferramentas, além do ambiente de escrita de código, fornecem integração com outras ferramentas fundamentais no dia-a-dia de qualquer equipe de desenvolvimento: um controlador de versões dos fontes e um ambiente para implantação e execução em cloud. Esse cenário pode mudar, entretanto, com a evolução rápida do Eclipse Orion. Vale acompanhar o progresso nas principais IDE na nuvem.
No geral, as três ferramentas citadas anteriormente suportam tecnologias para desenvolvimento de projetos e/ou serviços web. No caso do Eclipse Orion existe um esforço para a criação de plugins, permitindo a integração com ferramentas e frameworks JavaScript e CSS. Já os IDEs eXo Cloud e Cloud9 é importante que o desenvolvedor compreenda quais as restrições impostas em relação a APIs pelo ambiente de implantação escolhido.
IDEs em Cloud: o futuro?
Há ainda muitos desafios a serem enfrentados ao desenvolver sistemas na nuvem; por exemplo, como lidar com a cultura das empresas/equipes de desenvolvimento, como manter a segurança e garantir funcionalidades avançadas disponíveis em IDEs tradicionais, e como fazer a integração com outros aplicativos que compõem um kit de desenvolvimento.
Essas questões devem ser respondidas ou solucionadas com o amadurecimento das ferramentas e das próprias tecnologias de nuvem, e com o surgimento de novas empresas e desenvolvedores adeptos à nova estratégia de trabalho. O conceito de desenvolver software online, na nuvem, é muito recente, mas é possível identificar um grande potencial apenas examinando o que está disponível hoje. O futuro dos IDEs certamente passa pela nuvem.