> Manuales > Entorno de trabajo del desarrollador web

Cloud9 es un IDE de desarrollo online, que está integrado dentro de los servicios de Amazon AWS. En este artículo explicamos el entorno desarrollo online Cloud9, tal como se presentó en su versión original.

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.

Actualización: El origen de Cloud9 era un servicio online de IDE de desarrollo, abierto y gratuito para el uso de cualquier persona interesada en llevar su entorno de programación a la nube. Este artículo está escrito bajo ese enfoque inicial. Sin embargo, después de Amazon comprase Cloud9, para integrarlo entre su suite de servicios cloud, el IDE sufrió algunas alteraciones, principalmente en su disponibilidad. Ahora Cloud9 no es tan gratuito, ya que para usarse se tiene que tener una cuenta Amazon y disponer de servicios cloud. Tiene más sentido si se usa en el contexto de los servicios de AWS. En nuestra humilde opinión, fue un paso atrás bastante relevante para un IDE que nos gustaba bastante y al que le veíamos enormes posibilidades.

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://aws.amazon.com/es/cloud9

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:

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 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 diversas publicaciones 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.»

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual