Cloud9 IDE de desarrollo online

  • Por
Os hablamos de un entorno de desarrollo online llamado Cloud9 que nos permite no solo editar código como también administrar un servidor virtual.

Estamos en una época de florecimiento de los entornos de desarrollo en la nube y Cloud9 es una de las mejores opciones que podemos encontrar. Básicamente lo que tienes aquí es un programa que se ejecuta sobre el navegador pero que a pesar de ese limitante tiene las funcionalidades más destacadas de un IDE en el que además tenemos un entorno de trabajo real donde podemos poner nuestros programas en ejecución, ya sean sitios web o programas ejecutables.

El sistema es gratuito y te asignan recursos suficientes para trabajar y probar tus aplicaciones, en un entorno totalmente autónomo y configurable a tu gusto, en el formato de los conocidos VPS. Por eso no hay motivo para no probarlo.

Encuentras Cloud9 en este enlace: https://c9.io/

Desarrollar y probar en un entorno real

Sobre todo, en lo que respecta al desarrollo de sitios web, necesitamos tener un servidor para ejecutar nuestro código. A través de los servidores locales, como Wamp, Xampp, Mamp y similares podemos conseguir un "localhost" donde ejecutar nuestras aplicaciones. En la mayoría de las ocasiones es perfectamente suficiente, sin embargo se puede mejorar con las posibilidades de la nube.

Cloud9 (c9) te ofrece un servidor virtual para ti, con el que puedes almacenar tu código y probar las aplicaciones. Cuando desarrollas estás escribiendo sobre los archivos reales "en caliente" de tu servidor de pruebas, por lo que cualquier cambio actualiza al instante el sitio web que estás produciendo en c9. En definitiva, para poder probar tus sitios o programas no tienes que subir los ficheros a ninguna parte, porque ya están en un servidor web. Dentro del editor además se integra un browser con el que podrás probarlo todo sin salirte de la aplicación.

Entre las ventajas de este VPS con respecto a lo que puedes conseguir con el desarrollo local:

  • Sin configuración: Con crear tu usuario puedes disponer de tu servidor listo para usar con los lenguajes más habituales.
  • Probar en un entorno más real: Puedes probar tu código en un entorno más real que a través de "localhost". En un dominio remoto, de Internet y un sistema operativo habitual en sitios en producción.
  • Posibilidad de compartir con otras personas: sin que tengan que hacer nada en especial.
  • Trabajar desde cualquier ordenador: con el único requisito que esté conectado a Internet y sin tener que instalar ningún software en ese ordenador.

También tenemos acceso a la consola de comandos del servidor, la consola Linux, donde podremos instalar todo tipo de aplicaciones, extensiones, etc. Aunque tu sistema operativo sea Windows, podrás no solo disponer de las mismas herramientas que tendrás en un servidor remoto, sino que también, gracias a la consola integrada en c9, podrás irte familiarizando con comandos del terminal y todas esas herramientas que los desarrolladores más profesionales usan para mejorar su flujo de trabajo.

En cuanto a funcionalidades del editor de código, son equiparables a los editores offline, con ayudas contextuales a la programación inteligentes, gestión de varios archivos al mismo tiempo, depurador de código, atajos de teclado, personalización del editor, previsualización de tu código en marcha, etc. Incluso tiene algunas funcionalidades que no encuentras en los editores de código habitualmente, como un histórico de las versiones de tus archivos, a lo largo en los guardados o un sencillo editor de imágenes online.

Trabajo en equipo

Cloud9 está perfectamente indicado para el trabajo en equipo. Podemos crear un "workspace" o proyecto y compartirlo con otros usuarios de este IDE. A partir de entonces podemos compartir no solo el código de los archivos del servidor, sino también la consola de comandos.

Cuando una persona accede a un archivo abierto por otro componente del equipo de trabajo encontrarás que se ven dos cursores en el código. Uno es el tuyo y otro es el de las otras personas que lo tengan abierto. Podéis escribir código ambos al mismo tiempo! con lo que verás los cambios que estás haciendo en el documento y los que está haciendo tu compañero en tiempo real. Es ideal para hacer "pair programming".

Otra cosa bastante espectacular es la posibilidad de trabajar con la consola de comandos los dos a la vez. Podrás lanzar tus comandos y ver los resultados de los comandos lanzados por tus compañeros en el espacio de trabajo.

Por supuesto, también puedes compartir con tus compañeros mensajes en el chat integrado, personales para un desarrollador en concreto o para todos en el equipo de trabajo. También el sistema nos permite definir los permisos de cada usuario, por si hay personas a las que les permites ver el trabajo pero no editarlo.

Acceder a MySQL en los servidores de Cloud9

El tratamiento que da Cloud9 a la base de datos Mysql es algo particular, osea, puedes usar MySQL pero de momento por algún motivo lo tienen algo limitado. Es por ello que os dejamos unos apuntes para que podáis usar esa base de datos en vuestros proyectos. Seguro que podrás encontrar respuesta a las necesidades más habituales.

En c9 se puede usar MySQL pero no se pueden crear bases de datos. Hay que usar la única base de datos disponible en el sistema que se llama "c9". Usas los siguientes datos:

host: 0.0.0.0
user: el usuario con el que uno conecta a c9
clave: ninguna (vacía)

Y para poder administrar la db:
mysql -u USUARIO_C9 --host=0.0.0.0

Algunas informaciones adicionales encontráis en este documento de ayuda en inglés que os resumimos a continuación:

Inicias el servicio de MySQL con:
mysql-ctl start

Lo paras con:
mysql-ctl stop

Accedes al intérprete de MySQL por línea de comandos con:
mysql-ctl cli

Para conectar MySQL desde un script PHP tienes los datos también en la URL que hemos mencionado unas líneas arriba (El host es la IP, el usuario es tu usuario en c9, no hay clave, y la base de datos se llama "c9"). La única dificultad es que "localhost" no funciona, tienes que averiguar la IP de tu espacio de trabajo (puede cambiar entre tus distintos proyectos y sin duda también entre distintos usuarios). Obtienes la IP desde la línea de comandos con ifconfig.

Eso es todo, seguro que no tendrás ningún problema.

Opinión sobre Cloud9

Finalizamos con una opinión personal sobre Cloud9, que también en líneas generales podrías extender a otros sistemas de edición de código online.

Cuando conocí el concepto de "Office en la nube" la verdad es que no corrí para ver y durante mucho tiempo seguí usando la suite de ofimática en local. Después de un tiempo me adapté a usar Google Apps y la verdad es que ya no salgo de él. Incluso animo a usarlo a las personas que colaboran con nosotros. Esto tiene que ver bastante con los sistemas de edición de código online, pues básicamente tienen ventajas similares.

Hoy, tengo que ser sincero, estoy muy acostumbrado a la edición de código en local: es más rápido, trabajo con los editores con los que ya estoy acostumbrado y me manejo perfectamente en las configuraciones en local de mi máquina para reproducir las condiciones de un servidor remoto, pero no dudo que en el futuro estas condiciones puedan cambiar.

No me cabe duda sobre la potencia de estos sistemas, ya sea por las posibilidades de colaboración en grupo o la facilidad de programar en cualquiera de tus ordenadores y mantener el mismo espacio de trabajo, configuraciones, etc. Todo eso me hace suponer que quizás un día esté totalmente adaptado a este workflow y no lo desee cambiar. Pero aun es un poco pronto, al menos para mi.

Me encantan las ventajas de probar cualquier tipo de desarrollo, compartir código y ponerlo en remoto para que cualquier persona pueda verlo, tocarlo o incluso modificarlo. Habrá que seguir experimentando, sobre todo cuando se tenga que maximizar las posibilidades de compartir código.

Esta herramienta tuve la ocasión de probarla con Eugenia Bahit, desarrolladora Argentina focalizada en tecnologías abiertas, creadora de la revista "Original Hacker" y antigua colaboradora de DesarrolloWeb.com. Ambos pudimos experimentar las ventajas de Cloud9 en una sesión "pair programming" en la que pudimos jugar con algunas de las posibilidades del programa. Os dejo también su opinión personal para cerrar este artículo.

«Al probarlo con Miguel y ver que sin demoras podíamos literalmente codear sobre el mismo archivo de forma simultánea, se me ocurrió que me podría resultar útil para trabajar en tiempo real con mis alumnos sin estar dependiendo de herramientas tan invasivas como Google Hangout™ o Chrome Remote Desktop para compartir pantalla durante las clases. Pero lo que más me incita a utilizarlo además de sus excelentes ventajas técnicas, es el hecho de que el código fuente de la plataforma de c9.io sea Software Libre bajo licencia GPL v3.0. Considero que no hay excusas para no probarlo.»

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

javifelices

05/11/2014
Tiene buena pinta
Lo conocí por @Wakkos, lo comentó en un grupo de Wordpress, y que estaba maravillado. Luego te leí a ti que también lo habías usado, y agradezco el artículo, lo probaremos en cuando tenga un hueco.
Un abrazo y gracias.

edsonmgoz

05/11/2014
Opinión C9
Fue una de las herramienta más interesantes y emocionantes que conocí, de hecho lo conocí en la charla de WordPress donde lo probaron Miguel y Wakkos. He probado instalando frameworks como CakePHP y me va de maravilla, quiza el unico detalle es que no puedo usar un phpmyadmin para manejar las bases de datos de manera mas comoda, incluso lo instale desde la consola pero aún asi no me funciona, de todas maneras se puede manipular las Bases de datos desde la consola sin problemas. Muy buen artículo. Saludos!!!

gabgustavo

09/11/2014
Las bases de datos si se pueden crear
Las bases de datos si se dejan crear sin ningún problema. cuantas no lo se, pero si se pueden crear, por lo menos yo cree una de prueba le cree una tabla y algunos registros, luego la elimine y cree otra con muchas mas tablas y registros.

pero me gustaría saber como me conecto a la interfaz de base de datos o me conecto mediante un administrador de bases de datos como por ejemplo Navicat

Andres Osorio

20/4/2016
Ayuda con Cloud9
Alguien me ha eliminado mi proyecto en el dashboard de Cloud9 y quisiera saber como puedo recuperarlo, nadie ha podido ayudarme.

Haru-kun

22/4/2016
Eliminación de proyecto
No puedes recuperarlo, se elimina definitivamente.

Esteban Reyes

01/8/2016
descarga de proyecto
Hola buenas tardes alguien podria explicarme como puedo descargar un proyecto de yii que me compartieron por c9.io y correrlo de manera local tengo el composer instalado, pero el comando php yii serve no funcion..