BT

Desenvolvimento em cloud: os IDEs foram para a nuvem

Postado por Eder Magalhães em 03 Nov 2011 |

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

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

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

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

Python Fiddle

JS 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

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.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Interessante isso! by Wellington Pinheiro

Muito boa essa ideia de ter um ambiente de desenvolvimento disponível onde quer que você esteja e independente de SO, navegador, etc. Espero que isso realmente amadureça e se torne viável.

O maior obstáculo na evolução desses aplicativos, na minha opinião, continua sendo a questão cultural. Apesar de cada vez mais inserida em nosso contexto, a nuvem ainda soa como algo místico e, portanto, inseguro para muitas empresas/gestores. Mas com o tempo isso deve se tornar algo mais comum e a sua aceitação facilitará a adoção e também a evolução dessas ferramentas....assim espero!

Parabéns pelo artigo Eder!

Desenvolvimento em Tablets? by Fernando Simao

Seria essa uma possibilidade para podermos desenvolver aplicativos em tablets?

Re: Desenvolvimento em Tablets? by anderson freitas

Considerando o ambiente cloud, é possível sim. Porém, eu não conseguiria substituir a 'velocidade de digitação' em um teclado físico por um touch. Mas, para 'pequenos reparos', um tablet até que atenderia bem.
Abçs;

ótima idéia by Ediney Lopes

Era exatamente o que eu estava precisando, valeu pelo artigo!

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

4 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT