La nube sigue en auge. En este artículo echaremos un vistazo al
Cloud 9 IDE, un entorno de programación completamente funcional en la nube.
Índice de contenidos
- 1. Introducción
- 2. Entorno
- 3. Primer vistazo
- 4. Debug
- 5. Editor
- 6. Limitaciones
- 7. Conclusiones
- 8. Referencias
1. Introducción
Se trata de un IDE multilenguaje en la nube al que accedemos desde nuestro navegador. Los beneficios de la nube son obvios: no necesitamos un maquinón, compartimos ese IDE en todos nuestros equipos, por tanto se puede comenzar a programar en uno, y
continuar en otro únicamente iniciando sesión en el servicio, etc.
Se puede conectar con GitHub, Google Cloud Platform o Bitbucket. Aun habiendome registrado en el servicio mediante mi cuenta de GitHub, he de decir que intimida el hecho de que tengas que autorizar al servicio a ver todo lo que hay en tus
repositorios, ya sean públicos o privados. Igualmente tiene sentido porque de alguna forma tendrás que subir el código a tus repositorios.
2. Entorno
El tutorial está escrito usando el siguiente entorno:
- Hardware: Portátil MacBook Pro 15′ (2 Ghz Intel Core I7, 8GB DDR3).
- Sistema Operativo: Mac OS El Capitan 10.11
3. Primer vistazo
Lo primero que vemos una vez nos registramos en el servicio es nuestro dashboard, con un proyecto demo ya creado para mostrarnos las principales posibilidades del servicio, así como las características de la máquina que va a mover ese proyecto, en
nuestro caso 1CPU, con 1GB de RAM y 5GB de HDD para la opción gratuita. Según indican en la página de precios, el rendimiento de las máquinas aumenta en cualquier modalidad de pago. Nosotros, por ahora, nos ceñiremos a la gratuita para tratar de
medir su potencial.
Dicho esto, nos corroe la curiosidad, por lo que navegamos al proyecto de ejemplo con rapidez.
Nos encontramos ante un IDE en toda regla. Incluso con un terminal en la parte de abajo ya situado en el directorio de nuestro, o el gráfico de consumo de recursos de la máquina que estamos usando, en la parte superior derecha: consumo de memoria,
CPU y disco.
Este proyecto tiene a su vez cinco diferentes partes, cinco aplicaciones en distintos lenguajes: html, node.js, php, python y ruby.
Echando un vistazo a las opciones del IDE, no tiene nada que envidiar a un IDE de escritorio.
Antes de empezar a cacharrear, una última prueba. Ejecutamos la parte en html, que arranca un apache, como vemos en el terminal y nos proporciona una URL a la que acceder desde nuestro navegador desde la que ver el resultado.
No es más que un hello world.
4. Debug
Ahora vamos a ver cómo se comporta el debugger. Para ello, creamos un programita sencillo con una función suma que muestra por pantalla el resultado de la suma. Para poner un punto de ruptura, como en otros IDEs, hay que hacer click en la parte
inmediatamente a la izquierda del número de línea en el editor. Después, ejecutar el programa. Durante la ejecución se parará en el punto que hemos marcado y mostrará un panel a la derecha como el que vemos en la imagen.
En la parte de arriba del panel de debug tenemos las instrucciones típicas para dirigir la ejecución según nos convenga: reanudar ejecución, step over, step into, etc. Además, podemos observar los valores de las variables en cada momento o de las
expresiones que declaremos, así como la pila.
5. Editor
El editor es bastante potente. Configurable incluso en modo vim, emacs o sublime. Se dispone de varios temas para la gente como yo, que gusta de editores de colores oscuros.
Para los que disponen de una pantalla grande, es posible partir el editor en varias ventanas, tanto horizontal como verticalmente de varias formas distintas. De esta forma se aprovecha más la pantalla y se nos permite ver varios ficheros a la vez.
Por supuesto, dispone de autocompletado con el habitual Ctrl + Espacio
6. Limitaciones
Quizá a alguno le preocupe el rendimiento. Es sólo una opinión personal, pero el rendimiento es muy bueno, incluso usando una cuenta gratuita que en principio tiene menos recursos que una de pago. El único problema de latencia que he tenido ha sido
por mi propia red. Aún así, no lo he probado con un proyecto grande, sólo pequeños programas de prueba. Para una carga más elevada quizá sí se resienta un poco. En cualquier caso tenemos en todo momento visible el consumo de la máquina en la parte
superior derecha como hemos indicado con anterioridad.
Otro de los problemas que nos podemos encontrar con las cuentas gratuitas es que, si no se usa durante un tiempo, acaban por hibernar la máquina virtual que aloja tu entorno. Por tanto, en el momento de arrancar tras un tiempo el entorno tardará más
en arrancar.
7. Conclusiones
En cualquier caso, la nube no deja de crecer y proporcionar servicios con los que antes soñábamos.
Cloud 9 IDE
provee un entorno de programación con muchísima funcionalidad en tu navegador de forma sencilla sin apenas configuración. No dudéis en echarle un vistazo y comentar vuestras conclusiones.
Gracias, yo conocía ya C9, me parece una herramienta muy útil para trabajos en equipo.
Por más que lo intentamos no hemos conseguido usar el debug, ya que ejecutamos mediante Makefile y desde la Terminal el programa, en vez de la opción Run que ellos tienen.
Pero nuestro programa requiere de un archivo como argumento de ejecución, y sin él no muestra nada. ¿Sabes si es posible añadirlo para que al darle a Run el debugger pueda comenzar?
Saludos
Échale un ojo a las opciones del proyecto, en las Run Configurations. Puedes crear una configuración de ejecución que ejecute un comando a tu elección usando uno de los runners que provee, ya sea de C o shell script, especificar variables de entorno, etc.
Espero que dándole alguna vuelta a esa configuración puedas sacarlo!
Truely a very good article on how to handle the future technology. After reading your post,thanks for taking the time to discuss this, I feel happy about and I love learning more about this topic.keep sharing your information regularly for my future reference
Hola a todos.
Saben si existe màquina virtual en la nube que sea opensource ?
El caso es el siguiente :
1) Desarrollé en netbeans una aplicación pequeña y lo empaquè en un jar.
2) Acceder desde cualquier computadora y ejecutarlo.
Observación: En esta màquina virtuall también quiero instalar MySQL.
El caso es que no es un web project sino una aplicación desktop que actualiza la base de datos
cada cierto tiempo.
Salu2 🙂