estudio comparativo de entornos de desarrollo … · 2015. 7. 17. · estudio comparativo de...

55
ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO INTEGRADOS EN LA NUBE Alumno Ing. Gerber Gustavo Flores Dueñas TRABAJO FINAL PRESENTADO PARA OBTENER EL GRADO DE “MAGISTER ARTIUM EN INFORMATICA, ENFASIS BANCA ELECTRONICA Y COMUNICACIONES” ESCUELA DE POSTGRADO DE INVESTIGACIÓN E INFORMÁTICA APLICADA. UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA Junio, 2015

Upload: others

Post on 19-Aug-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO

INTEGRADOS EN LA NUBE

Alumno Ing. Gerber Gustavo Flores Dueñas

TRABAJO FINAL PRESENTADO PARA OBTENER EL GRADO DE “MAGISTER ARTIUM EN INFORMATICA, ENFASIS BANCA ELECTRONICA Y

COMUNICACIONES”

ESCUELA DE POSTGRADO DE INVESTIGACIÓN E INFORMÁTICA APLICADA. UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA

Junio, 2015

Page 2: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

2

Contenido

Introducción: .............................................................................................................................................................. 5

1. Diseño conceptual .................................................................................................................................................. 6

1.1. Planteamiento del problema. .......................................................................................................................... 6

1.2. Descripción del problema. ............................................................................................................................... 6

1.2.1. Formulación del problema. ...................................................................................................................... 6

1.2.2. Preguntas de investigación. ...................................................................................................................... 6

1.3. Objetivo de investigación. ............................................................................................................................... 6

1.3.1. General. .................................................................................................................................................... 6

1.3.2. Específicos. ............................................................................................................................................... 6

1.4. Alcance y Limitaciones..................................................................................................................................... 7

1.4.1. Alcance. .................................................................................................................................................... 7

1.4.2. Limitaciones. ............................................................................................................................................. 7

1.5. Justificación de la Investigación: ..................................................................................................................... 7

2. Marco teórico ......................................................................................................................................................... 8

2.1. Desarrollo de software .................................................................................................................................... 8

2.2. Definición Entorno De Desarrollo Integrado ................................................................................................. 10

2.3. Antecedentes manejo IDE local. .................................................................................................................... 11

2.4. Fundamentos Cloud Computing. ................................................................................................................... 12

2.4.1. Procedimiento del trabajo en la nube. ................................................................................................... 13

2.4.2. Software Como servicio (SaaS). .............................................................................................................. 13

2.4.3. Plataforma Como servicio (PaaS). .......................................................................................................... 14

2.4.4. Infraestructura Como servicio (IaaS). ..................................................................................................... 14

2.4.5. Sobre las ventajas. .................................................................................................................................. 15

2.4.6. Sobre los inconvenientes. ....................................................................................................................... 15

2.5. Del trabajo local al trabajo en la nube. ......................................................................................................... 15

2.6. Entornos de desarrollo integrados, en la nube. ............................................................................................ 16

2.7. Características Consideradas. ........................................................................................................................ 17

3. Marco metodológico ............................................................................................................................................ 19

3.1. Tipo de investigación. .................................................................................................................................... 19

3.2. Diseño de la investigación. ............................................................................................................................ 19

Page 3: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

3

3.2.1. Instrumento de recolección de datos. .................................................................................................... 19

3.2.2. Recopilación de información. ................................................................................................................. 19

4. Análisis y discusión de resultados ........................................................................................................................ 35

4.1. Interpretación ................................................................................................................................................ 35

4.2. Consolidación entre lo planteado y lo establecido. ...................................................................................... 36

4.2.1 Matriz comparativa ................................................................................................................................. 36

4.3. Estudio de la matriz comparativa. ................................................................................................................. 37

4.3.1. Multilenguaje .......................................................................................................................................... 37

4.3.2. Editor de texto. ....................................................................................................................................... 37

4.3.3. Compilador. ............................................................................................................................................ 37

4.3.4. Depurador............................................................................................................................................... 37

4.3.5. Pruebas unitarias .................................................................................................................................... 38

4.3.6. Controlador de versiones. ...................................................................................................................... 38

4.3.7. Interfaz gráfica de usuario. ..................................................................................................................... 38

4.3.8. Complemento. ........................................................................................................................................ 38

4.3.9. Colaborativo. .......................................................................................................................................... 38

4.3.10. Multi idioma. ........................................................................................................................................ 38

4.3.11. Manual de usuario y ayuda. ................................................................................................................. 38

4.3.12. Precio. ................................................................................................................................................... 38

4.3.13. Multiplataforma. .................................................................................................................................. 38

4.3.14. Seguridad. ............................................................................................................................................. 38

4.3.15. Modo fuera de línea. ............................................................................................................................ 39

5. Conclusiones ......................................................................................................................................................... 40

6. Recomendaciones ................................................................................................................................................ 41

7. Glosario ................................................................................................................................................................. 42

8. Abreviaturas ......................................................................................................................................................... 43

9. Índice de figuras ................................................................................................................................................... 44

10. Índice de tablas ................................................................................................................................................... 45

11. Anexos ................................................................................................................................................................ 46

11.1. Cuenta gratuita Cloud9 IDE. ........................................................................................................................ 46

11.2. Cuenta gratuita Orion. ................................................................................................................................. 47

11.3. Cuenta gratuita Compilr. ............................................................................................................................. 48

Page 4: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

4

11.4. Cuenta gratuita Codenvy. ............................................................................................................................ 49

11.5. Cuenta gratuita Codebox. ............................................................................................................................ 50

11.6. Cuenta gratuita Codeanywhere. ................................................................................................................. 51

12. Bibliografía .......................................................................................................................................................... 52

13. E-Grafía ............................................................................................................................................................... 53

Page 5: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

5

Introducción:

“El mayor riesgo es no tomar ningún riesgo. En un mundo que cambia tan rápido, la única estrategia garantizada a fracasar es no tomar riesgos”. Mark Zuckerberg. Fuente: (Sitio LifeDer, 2015) Siendo el desarrollo de software el proceso que permite el diseño, codificación, depuración y el control del código fuente de programas computacionales, dichos fuentes son escritos necesariamente en un lenguaje de programación en específico. Lo que permite crear programas que obedezcan un comportamiento deseado. Tradicionalmente lo físico era la prioridad para el resguardo del tesoro invaluable “nuestra información”, pero poco a poco esa forma de trabajar el recurso informático ha cambiado. Sabido es que los entornos de desarrollo integrados (IDE) han sido una gran solución para manejar nuestras tareas relacionadas al desarrollo de software, tanto como un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Lo cual brinda así un marco de trabajo amigable y controlable para la mayoría de los lenguajes de programación. La programación en la nube ha llegado a ser un paso lógico a seguir en esta revolución tecnológica que estamos viviendo. Ha traído consigo múltiples programas, plataformas e infraestructuras convertidas en servicios. Ahora existe una opción donde el entorno de un data center puede convertirse en un ambiente virtualzado, seguro y disponible en cualquier parte del mundo, todo montado en la nube. Muchas veces será necesario correr el riego de como esas tecnologías pueden abaratar la operatividad de una organización e interactuar de una forma más rápida al estar en línea todo el tiempo, en este caso con el uso de los IDE´s en la nube. Por otro lado se debe entender que los riegos son medibles, en el contexto de la organización, en diferentes escenarios donde están expuestos a factores externos. El planteamiento de este trabajo se enfoca en poder establecer si esas nuevas tecnologías son tan ventajosas para las organizaciones, al mostrar las características de cada servicio y saber romper los paradigmas existentes. Como dijera Charles Darwin, “No es la especie más fuerte la que sobrevive, ni la más inteligente, sino la que mejor responde al cambio”. Fuente: (Sitio Estilo de Vida, 2015)

Page 6: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

6

1. Diseño conceptual

1.1. Planteamiento del problema.

Es indudable que las tecnologías de la información están avanzando a pasos agigantados, es por ello que se hace necesario conocer sobre nuevos servicios que satisfagan las necesidades actuales de la empresa y brinde capacidad para sobrevivir en los desafíos del futuro. Es por ello que este estudio será beneficioso para dar a conocer a detalle los servicios web ofrecidos por los distintos proveedores de IDE´s en la nube. Ya que existen diversos IDE´s y generalmente el usuario final podría no tener suficientes elementos de juicio para seleccionar el más adecuado en el presente trabajo se plantea como estas diferentes opciones manejan los aspectos bajo los que serán comparados. Los resultados obtenidos podrán guiarnos a elegir la herramienta más adecuada a nuestra empresa y con ello orientarnos a tener una ventaja competitiva en este el mercado tecnológico que está entrando a la era de Cloud Computing.

1.2. Descripción del problema.

1.2.1. Formulación del problema.

¿En qué nivel satisfacen los IDE’s en la nube los servicios web disponibles, tanto en seguridad, operatividad y en

soporte?

1.2.2. Preguntas de investigación.

1. ¿Qué servicios web me ofrece Cloud Computing? 2. ¿Cuáles son los riesgos al utilizar un IDE en la nube? 3. ¿Qué beneficios obtengo al utilizar un IDE en la nube? 4. ¿Qué debo evaluar antes de elegir e implementar un IDE en la nube? 5. ¿Cuál o cuáles de los IDE´s cumplen mejor rendimiento en los aspectos evaluados?

1.3. Objetivo de investigación.

1.3.1. General.

Mostrar cuales de los IDE’s son los más completos para suplir de mejor manera los servicios web ofrecidos en la actualidad.

1.3.2. Específicos.

1. Mostrar la gama de servicios en la nube (Cloud Computing). 2. Mostrar los diferentes servicios que los IDE’s en la nube brindan lo que representa el nuevo paso a dar

en la era de la tecnología en línea. 3. Generar un esquema bajo el cual puedan ser evaluados los IDE´s en la nube de forma objetiva.

Page 7: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

7

4. Encontrar las características, ventajas y desventajas de cada uno de los IDE´s con base al servicio web que ofrecen a sus clientes.

5. Determinar factores que nos brinden una ventaja competitiva y un valor agregado con el uso de estas tecnologías.

6. Plantear la utilización de herramientas tecnológicas que mejoren la rentabilidad de las empresas.

1.4. Alcance y Limitaciones.

1.4.1. Alcance.

Todo proceso de investigación implica la especificación de unidades y elementos a tomar en cuenta, por lo tanto

se mencionan a continuación los siguientes:

1. Se tomara en cuenta 6 IDE’s en la nube para el estudio de los servicios web que brindan.

2. La investigación comprende factores de seguridad, operatividad y soporte de los IDE’s estudiados.

3. Se determinará un nivel para cada uno de los IDE’s estudiado.

4. Los datos obtenidos comprenden hasta Mayo del año 2015.

1.4.2. Limitaciones.

El proceso de investigación presenta varios indicadores o elementos, los cuales no se tomarán en cuenta, por lo

tanto se plantean a continuación algunos de ellos:

1. Queda excluido cualquier tipo de prueba de implementación y rendimiento de alguno de los IDE’s

estudiados.

2. Los análisis serán basados en la información proporcionada por los proveedores de los servicios web y

por comparativos realizados sobre este mismo tema y documentos técnicos al respecto.

1.5. Justificación de la Investigación:

Este estudio de investigación busca brindar a las empresas una mejor perspectiva sobre la utilización de IDE´s en la nube, al encontrar múltiples beneficios por su uso e implementación, dentro de los cuales están:

1. Reducción de costos de hardware e infraestructura de TI.

2. Reducir y optimizar el tiempo de gestión de desarrollo.

3. Mejorar el control del área de desarrollo.

4. Adoptar una nueva forma de trabajo, al obtener mejores resultados al estar siempre en línea.

5. Aprovechar de la mejor manera las opciones en la nube dado por los proveedores de servicios web.

Page 8: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

8

2. Marco teórico

2.1. Desarrollo de software El ser humano siempre ha buscado métodos o formas que

le permitan facilitar la ejecución de sus actividades y es por

ello que crea técnicas que le ayudan en el desempeño de

diversas tareas o procesos.

Así como un individuo piensa, analiza y se comporta guiado

por una secuencia lógica, una computadora de igual forma

realiza tareas y maneja datos en memoria obedeciendo a

una secuencia de pasos lógicos establecidos en su

programación para dar solución a un problema

determinado.

“El conjunto de ordenes e instrucciones que se dan al

ordenador para que resuelva un problema o ejecute una

determinada misión, recibe el nombre de programa”

(Aranda, 2015). Es conocido también como software.

El desarrollo de software permite a una persona programar una computadora para que ejecute tareas de manera

rápida y eficiente, por ello en la siguiente imagen podemos observar un ciclo de vida establecido, que debe

cumplir el software para lograr estos objetivos.

Figura 1 Ciclo de vida del software Fuente: (Sitio Soluciones c, 2015)

El estudio realizado se enfoca en la sección de codificación de los programas computacionales, ya que las

herramientas comparadas brindar un valor agregado en esta etapa del ciclo de vida del software.

Para codificar un programa, y que la computadora lo intérprete y ejecute las instrucciones escritas en él, es

necesario utilizar un lenguaje de programación, que permita determinar las condicionales que regirán su

comportamiento y desempeño.

Page 9: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

9

En un principio las computadoras podían interpretar únicamente instrucciones en un lenguaje específico, del más

bajo nivel, conocido como código máquina, caracterizándose por ser demasiado complicado para programar,

consistían en cadenas de números 0 y 1 conocido como sistema binario.

Para facilitar el trabajo a la hora de programar, se decidió reemplazar las instrucciones, secuencias de 0 y 1, por

palabras o letras provenientes del idioma inglés, se codificaron y crearon así un lenguaje de programación de

mayor nivel, que es conocido como Assembly o también llamado lenguaje ensamblador.

Ya que las letras y palabras son más fáciles de recordar y entender que las secuencias de números binarios fue

una gran avance la utilización de este lenguaje. Pero a medida que la complejidad de las tareas que realizaban

las computadoras aumentaba, se hizo necesario contar con un método más sencillo para el desarrollo del

software. Fue así como surgieron los lenguajes de alto nivel.

Mientras que una tarea sencilla como dividir dos números puede llegar a necesitar un conjunto de instrucciones

al trabajar con el lenguaje ensamblador, con un lenguaje de alto nivel bastará con una sola.

En la siguiente tabla generada por TIOBE se puede observar los lenguajes de programación de alto nivel más

usados en el mundo y por ello las opciones más completas del mercado.

Tabla 1 Índice de TIOBE para febrero 2015 Fuente: (Sitio Oficial TIOBE, 2015)

En todos los lenguajes de programación de alto nivel se distinguen diversos elementos entre los que se incluyen

el léxico propio del lenguaje, así como las reglas a nivel semántico y sintáctico.

Además estos lenguajes permiten la programación multipropósito, aunque muchos de ellos al inicio fueron diseñados para permitir programación dedicada, como Pascal en su comienzo con las matemáticas. En la actualidad son muy utilizados algunos lenguajes especialmente indicados para aplicaciones web, como JavaScript, Perl, Ruby, PHP o Python. Sin dejar a un lado al lenguaje Java con el cual es posible programar y

Page 10: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

10

desarrollar potentes y eficaces aplicaciones para teléfonos móviles, módulos inalámbricos, procesadores remotos, Gateway, micro controladores, sensores, productos de consumo y sencillamente cualquier otro dispositivo electrónico que pueda imaginar.

Así mismo podemos hablar del lenguaje “C”, que desde su nacimiento se ha sido implantado como el lenguaje de programación favorito para muchos programadores, principalmente por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina.

Una vez que se finaliza la codificación de un programa, originado en ensamblador o en algún lenguaje de alto nivel, debe ser sometido a un proceso de traducción para convertirlo a lenguaje máquina o bien a un código intermedio, este proceso es llamado compilación.

Entonces, el desarrollo de software se puede definir como el proceso de creación de un programa computacional,

mediante la aplicación de procedimientos lógicos, basados en los siguientes pasos:

El desarrollo lógico del programa para resolver un problema planteado en particular.

Escribir en un lenguaje de programación específico la lógica del programa.

Ensamblar o compilación del programa.

Pruebas y depuración del programa generado.

El desarrollo de software es muy importante ya que los sistemas son imprescindibles en la informática, cada

software es un elemento vital dentro de un sistema, el cual busca satisfacer nuestras necesidades tecnológicas.

2.2. Definición Entorno De Desarrollo Integrado

En el desarrollo de software al escribir el código fuente, siempre se necesita un buen editor para escribir la lógica, un compilador a mano o interprete según corresponda al lenguaje de programación, una conexión a la base de datos de forma fácil y rápida si es esta requerida. Mejor si todos estos elementos están en un solo lugar, a esto se le denomina un Entorno de Desarrollo Integrado. Es un entorno de programación que ha sido empaquetado como un programa de aplicación, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica GUI.

Estos entornos pueden ser aplicaciones por si solas o pueden ser parte de aplicaciones existentes. El lenguaje de programación Basic por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que permite escribir instrucciones Basic en forma de macros para Word, sin ningún tipo de problemas en su ejecución. Los IDEs proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como Java, C++, C#, Basic, Object Pascal, etc. Un IDE puede dedicarse en exclusiva a un lenguaje de programación o bien, poder utilizarse para varios. Las siguientes aplicaciones son algunos ejemplos de entornos de desarrollo integrados:

Eclipse Net Beans MS Visual Studio .NET (Microsoft) JDeveloper (Oracle) IntelliJ IDEA JBuilder de Borland Delphi de Borland

Page 11: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

11

En la siguiente imagen podremos encontrar las opciones que a nivel de usuario será el panel de control de un entorno de desarrollo integrado.

Figura 2 Panel de control IDE Fuente: (Sitio Alibaba en español, 2015)

El código de programación es un archivo de texto simple, por lo cual un programa podría escribirse con un

procesador de texto sencillo como el Block de Notas de Windows, por ejemplo.

Serán necesarias las vistas previas de lo que estamos desarrollando, corrección del código, característica

fundamental que nos ahorrará cientos de horas de trabajo si solo usaremos un editor de texto. Mientras más

complejo sea el código, más complejo es la forma de manejarlo.

Para programar en forma rápida y eficiente deberemos usar un entorno integrado, un IDE como tal, es mejor

mientras más cosas permitan hacer sin salir del IDE y con ello aprovechar el tiempo y esfuerzo en el desarrollo.

2.3. Antecedentes manejo IDE local.

Durante la historia los IDE’s han evolucionado con pasos firmes, en sus inicios se hacía posible en el desarrollo a

través de una terminal o consola, lugar desde donde los programadores escribían las sentencias de los lenguajes

de programación primitivos, que les permitía generar instrucciones para el computador.

Los primeros sistemas no podían soportar grandes volúmenes de programación, ya que se preparaban utilizando

diagramas de flujo, se introducían programas con tarjetas perforadas antes de presentarlos a un compilador.

Page 12: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

12

“Maestro que es un producto de Softlab Múnich y fue el primer entorno de desarrollo integrado del mundo 1975

de software. Maestro que fue instalado por 22.000 programadores de todo el mundo. Hasta 1989, existían 6.000

instalaciones en la República Federal de Alemania. Maestro que era sin duda el líder mundial en este campo

durante los años 1970 y 1980. Hoy en día uno de los últimos Maestro que se puede encontrar en el Museo de

Tecnología de la Información en Arlington.” Fuente: (Sitio Docsetools IDE, 2015)

Uno de los primeros entornos de desarrollo integrados con el concepto de “plug-in” fue SoftBench en el año 1995

por la empresa Computerwoche, quien indica que en su inicio el IDE no fue bien recibido por parte de los

programadores ya que supondría cerca en su creatividad. También podemos mencionar Dartmouth BASIC que

fue el primer idioma que surgiera de un IDE, aunque con muchas limitaciones por la carencia de una interfaz

gráfica, gestión de archivos y todas las virtudes con las que cuentan las herramientas modernas de hoy en día.

Así los IDE’s, se han convertido en parte importante en el desarrollo de software al generar ahorro de tiempo y

mejor control en todas las actividades de la gestión de aplicaciones.

Pero la demanda de ciclos de vida del software más cortos y más eficientes ha llegado a forzar la expansión de

las áreas de trabajo de estos entornos de desarrollo. Los IDE’s locales están intentando satisfacer las demandas

de los usuarios que cada día crecen en número y diversidad de áreas de aplicación, los cuales requieren salir de

la programación en estaciones de trabajo permanentes, de los lugares físicos para el desarrollo y dar el siguiente

paso lógico de la nueva era de la programación.

Los desarrolles están necesitando un IDE que les permita programar en cualquier momento y en cualquier lugar.

2.4. Fundamentos Cloud Computing.

Cloud computing, es el nuevo concepto de

negocio en Internet, la “Computación en la nube”

consiste en la posibilidad de ofrecer servicios a

los usuarios individuales o empresariales a

través de Internet.

Es una nueva tecnología que pretende tener

todos nuestros archivos e información en Internet

y sin depender de poseer la capacidad suficiente

para almacenar información de forma local en

nuestros servidores, obviamente con un precio

económico por ello.

El cloud computing abre la brecha para múltiples

negociaciones por internet, los conocidos

e-business ahora tienen nuevas posibilidades de

hacer negocio, al satisfacer las necesidades de

los usuarios con servicios a través de internet.

“Toda la información, procesos, datos, etc. se localizan dentro de la red de Internet, como en una nube, así todo

el mundo puede acceder a la información completa, sin poseer una gran infraestructura.” Fuente: (Sitio Debitoor,

2015)

Page 13: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

13

2.4.1. Procedimiento del trabajo en la nube.

Este concepto a menudo denominado como "la nube", es la entrega de

servicios de computación según sea la demanda, mediante aplicaciones

de centros de datos, mediante Internet sobre un pago por su uso.

El usuario del servicio tiene toda la libertad de solicitar y gestionar el

recurso que sea necesario bajo demanda y con esto poder optimizar el

mismo.

Los servicios en la nube según un proveedor del servicio como lo es IBM,

poseen las siguientes características:

2.4.1.1. Recursos elásticos.

Escala hacia arriba o hacia abajo de forma rápida y fácilmente para satisfacer la demanda.

2.4.1.2. Pagar por el uso.

Servicio medido lo que sólo paga por lo que usa.

2.4.1.3. Autoservicio.

Todos los recursos de TI que necesitan con acceso de autoservicio. Fuente: (Sitio Oficial IBM, 2015)

Basándonos es este esquema de trabajo, la nube fundamenta sus servicios en tres conceptos principales que

son software, plataforma e infraestructura y así lograr satisfacer la demanda en cada una de estas áreas de la

informática.

2.4.2. Software Como servicio (SaaS).

Este concepto de Software o aplicaciones basados en la nube como

servicio, son dirigidos en computadoras distantes "en la nube" que

son propiedad y operados por terceros que brindar el servicio, y que

conectan a las computadoras de los usuarios a través de Internet y,

por lo general, desde un navegador web.

Así los usuarios pueden utilizar las herramientas de software para

satisfacer sus necesidades informáticas, bien sea a través de un

pago o algunas de ellas gratuitas. Sin necesidad de adquirir un

software en propiedad como Microsoft Office, instalarlo, configurarlo

y mantenerlo, simplemente paga lo que consume.

Figura 3 Software como un servicio. Fuente: (Sitio Oficial IBM, 2015)

Page 14: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

14

En esta categoría de servicios es donde están aplicaciones como las herramientas colaborativas y la

administración de correos, por mencionar algunos, que están siendo aprovechados por grandes empresas al

migrar, por ejemplo, su correo corporativo a Gmail y así aprovechar el ahorro de gestión y de energía que

brindan estos servicios.

2.4.3. Plataforma Como servicio (PaaS).

Este servicio proporciona un entorno basado en la

nube con todo lo necesario para apoyar el ciclo de vida

completo de la construcción y ejecución de

aplicaciones, sin el costo y la complejidad de compra

basados en la web y la gestión del hardware, software

y hosting.

Proporciona además un servidor de aplicaciones en el

cual se instalarán y ejecutarán nuestras aplicaciones,

además de una base de datos. Un ejemplo de este

servicio es Google App Engine que le permite una

manera fácil de construir, mantener y ampliar a

medida que cambien las necesidades de tráfico y

almacenamiento de datos de nuestras aplicaciones.

Figura 4 Plataforma como un servicio. Fuente: (Sitio Oficial IBM, 2015)

2.4.4. Infraestructura Como servicio (IaaS).

Se define infraestructura como servicio a la capacidad

de proporcionar a las empresas recursos de

computación, que incluye redes, servidores,

almacenamiento y espacio del centro de datos en una

filosofía de pago por uso.

Un ejemplo comercial más conocido es Amazon Web

Services, que ofrece servicios de cómputo y servicios

de almacenamiento esenciales. Otro proveedor de

este tipo de servicios es Joyent que se basa en la línea

de servidores virtualizados, que proveen una

infraestructura en demanda muy escalable para

manejar sitios web, que incluye aplicaciones Web muy

complejas desarrolladas en los lenguajes Python,

Ruby, PHP, y Java.

Figura 5 Infraestructura como un servicio Fuente: (Sitio Oficial IBM, 2015)

Es un modelo de distribución de infraestructura computacional que es llamado también hardware como servicio,

que se ubica en la capa inferior y es un medio de entregar almacenamiento básico y capacidades de cómputo a

las empresas que lo contratan.

Page 15: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

15

2.4.5. Sobre las ventajas.

Esta nueva forma de trabajo en la nube trae consigo una serie de beneficios para los usuarios individuales, pequeñas, medianas y las grandes empresas. Beneficios económicamente tanto en ahorro en la inversión tecnológica como en el mantenimiento y soporte del mismo. A continuación se numeran algunos de las ventajas más importantes al utilizar servicios en la nube:

No. Ventaja

1 Almacenamiento para la información y aplicaciones prácticamente ilimitado. 2 Eliminación de la necesidad de llenar los discos duros locales con programas y aplicaciones. 3 Eliminación de la necesidad de disponer de equipos caros, de una alta potencia o gama alta. 4 Acceso a todos los documentos y aplicaciones de la empresa prácticamente desde cualquier lugar

y momento. 5 Gran cantidad de aplicaciones en la nube son de uso libre.

2.4.6. Sobre los inconvenientes.

En contra parte, en los servicios en la nube existe una serie de riesgos y condiciones asociados a estos servicios, que se ponen a consideración para un usuario potencial y así poder evaluar su aplicación:

No. Desventaja

1 Se está expuesto a sufrir de conexiones lentas, si la cantidad de usuarios que están accediendo al servidor de forma es recurrente.

2 La información de la empresa esta resguardada por un tercero, el dueño del servicio, punto a considerar al evaluar un proveedor del servicio.

3 En los servicios de uso libre normalmente los programas en el servidor no son la versión completa. 4 Es vital, para el uso de estos servicios, disponer de una conexión a internet rápida y continua.

2.5. Del trabajo local al trabajo en la nube.

El paso lógico en esta evolución tecnológica de los entornos de

desarrollo es la migración de estaciones de trabajo locales a la

nube. Esto no es el futuro, es el presente para muchos

programadores que están disfrutando de las ventajas que brinda

programar en la nube.

En un futuro no muy lejano se prevé que todos los

desarrolladores codificarán, compilarán, testearán, correrán,

depurarán y desplegarán las aplicaciones en la nube.

“Hay un largo incremento en el número de aplicaciones

desarrolladas en todo el mundo, mientras que el número de desarrolladores se mantiene bastante igual. ¿Qué

significa esto? Significa que los desarrolladores tienen que volverse más productivos”. Fuente: (Sitio Architects

Dzone, 2013)

Es inevitable, todos los proyectos de desarrollo basados en la nube están saliendo a competir al mercado como

los rivales muy importantes con serias intenciones, visiones claras y estratégicas empresariales. Las nuevas

herramientas de la industria del desarrollo de software están obligando a ser mucho más productivo a la hora de

Page 16: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

16

programar. Los programadores alrededor del mundo necesitan editar el mismo código con un grupo de trabajo y

estar en comunicación en tiempo real, con acceso a la información que les permita una increíble calidad en el

código y una inmejorable productividad, no importando donde se encuentren, eso es lo que se necesita

satisfacer.

2.6. Entornos de desarrollo integrados, en la nube.

Todo desarrollador moderno esta en busca de la posibilidad

de ganar algo de tiempo al optimizar los procesos de

codificación, compilación, testeo, ejecución y despliegue de

sus aplicaciones. Más allá de los límites que existen en el

pensamiento y la resistencia al cambio del ser humano, el

ser más productivos es el motor que mueve el mundo.

Es acá donde un IDE en la nube encuentra su espacio

entrando en el mercado como un serio rival para las

herramientas locales o también llamadas offline.

A continuación se listan algunas de las ventajas de estos IDE’s:

Fácil integración y una mayor productividad en el desarrollo.

Reducción en los costos de equipo de cómputo y soporte del mismo.

Permite construir, probar y ejecutar un proyecto en la nube de forma mucho más ágil.

Libertad en los espacios de trabajo para los desarrolladores.

Colaborar y compartir la información con grupos de trabajo totalmente en vivo.

Mejor control administrativo y gestión del ciclo de vida del desarrollo.

Eliminación de costos en licencias de software.

Acceso a la información 24/7 365 días del año.

Reducción del riesgo de ataques informáticos en equipos locales.

Ventajas competitivas adheridas al trabajo en la nube.

Estas son algunas razones por las cuales los programadores están eligiendo en trabajo con IDE’s en la nube, ya

que por ejemplo, si evaluamos el tiempo lleva instalar y configurar un entorno de desarrollo, una máquina virtual y

plugins para probar, ejecutar e implementar una aplicación modesta en Java tomaría aproximadamente cuatro

largas horas, mínimas para contar con el ambiente de trabajo.

Un IDE en la nube ya está configurado y listo para empezar a codificar en cualquier momento. Es tener tus

herramientas a la mano siempre que las necesites utilizando cualquier máquina, ejecutar cualquier sistema

operativo, desde cualquier lugar en cualquier momento. Sin necesidad de descargar y configurar el entorno de

desarrollo y buscar los plugins necesarios para las aplicaciones.

En un IDE en la nube se encuentran todos los servicios, disponibles para cuando se los solicita por el usuario.

Los proyectos de desarrollo son construidos en computadoras poderosas, las cuales sustituyen el trabajo que

hacían las computadoras de los desarrolladores.

Page 17: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

17

Lo cual permite desarrollar desde computadoras o terminales de gama media como laptops y máquinas de

escritorio de características promedio, que permite reducir así la inversión en estos equipos. Las construcciones

son de forma más rápidas y el trabajo en la nube permite que los desarrolladores puedan realizar otras tareas

mientras se construyen los proyectos por el IDE.

Además de la construcción de aplicaciones es posible ejecutar y depurar en línea, lo cual permite inspeccionar

las aplicaciones en instantes precisos de la ejecución, rastrear variables y expresiones del código. También es

posible actualizar aplicaciones mientras se ejecutan, por lo cual el tiempo de pruebas e implementación se ve

drásticamente reducido.

“Los supervisores de los equipos de desarrollo (especialmente cuando son tercerizados) definitivamente

apreciarán tener un mecanismo simple de control y monitoreo para ver cuánto código ha sido escrito y prevenir

pérdidas de código. Un proyecto, un entorno, muchos espacios de trabajo virtual izados y un panel de

administración”. Fuente: (Sitio Architects Dzone, 2013)

Estas herramientas permiten funcionalidades de compartición e incluyen el modo de colaboración en tiempo real.

Sí, esto significa que dos o más desarrolladores ubicados en partes opuestas del mundo pueden trabajar en el

mismo código sección de este simultáneamente. Además con el modo colaborativo es posible tener

conversaciones en línea directamente desde el editor de código.

Estas son algunas de las razones principales por las cuales los IDE’s en la nube se están expandiendo en el

mercado del desarrollo. En el tiempo actual de las redes sociales e información en línea, se vuelve necesaria la

posibilidad de compartir el conocimiento y así poder alcanzar objetivos en conjunto.

“El uso de los programas de desarrollo web que residen en gran medida en servidores remotos todavía hace que

un buen número de codificadores se pongan nerviosos. La adaptación al nuevo paradigma tomará un poco de

esfuerzo para los programadores más conservadores los de la "vieja escuela". Sin embargo, hay pocas razones

para tener miedo de la nube. Con la adopción de varias medidas de simples de seguridad y una mentalidad

abierta, cualquier desarrollador web puede cosechar las recompensas de los IDE’s en la nube sin ningún peligro

real”. Fuente: (Sitio Hongkiat, 2015)

2.7. Características Consideradas.

A continuación se describen cada una de las características que son consideras en este estudio comparativo de

IDE’s en la nube:

TERMINO DEFINICION

Multilenguaje Capacidad de soportar varios lenguajes de programación.

Editor de texto Poder escribir código, con corrección automática de errores sintácticos y brindar autocompletado.

Compilador Capacidad de aceptar un programa en un lenguaje fuente y producir un programa en un lenguaje objeto o también llamado lenguaje máquina.

Depurador Poder ejecutar un programa línea a línea, detener la de ejecución temporalmente en una línea de código concreta o bajo determinadas condiciones, visualizar el contenido de las variables en un determinado momento de la ejecución, cambiar el valor del entorno de ejecución para poder ver el efecto de una corrección en el programa.

Page 18: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

18

TERMINO DEFINICION

Pruebas unitarias Poder probar el correcto funcionamiento de un módulo de código para asegurar que cada uno de los módulos funcione correctamente de forma separada.

Controlador de versiones Es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo de desarrollo, para poder recuperar versiones específicas libres de alguna alteración.

Interfaz gráfica de Usuario Es una herramienta de desarrollo de software que simplifica la comunicación entre el usuario y el programa, permitiéndole comunicarse con este mediante ventanas, menús, iconos y barras de herramientas.

Complemento (Plugin) Es aquella aplicación que, en un programa informático, añade una funcionalidad adicional o una nueva característica al software.

Colaborativo Capacidad de brindar a un grupo de trabajo herramientas diseñadas para dar soporte, compartir y facilitar el desarrollo para alcanzar objetivos específicos.

Multi idioma Capacidad para utilizar las herramientas y panel de control del sistema en varios idiomas.

Manual de Usuario y Ayuda Brindar un documento de comunicación técnica que busca brindar asistencia a los usuarios de un sistema. Apelando a un lenguaje ameno y simple explicando la forma de utilizarlo y respondiendo a las preguntas más frecuentes.

Precio Es el valor monetario que se le asigna al producto o servicio. El valor se expresa en dinero y señala la cantidad que debe pagarse para obtenerlo.

Multiplataforma

Capacidad o características de poder funcionar o mantener una interoperabilidad de forma similar en diferentes sistemas operativos o plataformas, como lo son Windows, Linux o Mac. Así mismo en PC, Tablet o smartphones.

Seguridad Mantener la privacidad y confidencialidad de los archivos o proyectos, garantizando una conexión y almacenamiento de la información confiable.

Modo fuera de línea Capacidad de seguir desarrollando sin una conexión a internet y poder sincronizar los archivos modificados cuando se restablece la conexión.

Tabla 2 Definición de Características a evaluar a los IDE’s, Fuente: Propia.

Page 19: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

19

3. Marco metodológico

3.1. Tipo de investigación.

Este estudio comparativo es una investigación documental narrativa e investigativa, no documental. Implica un

diseño descriptivo de las herramientas evaluadas y un análisis de elementos de juicio que permiten elegir de la

mejor manera un IDE en la nube.

3.2. Diseño de la investigación.

El diseño de este estudio se fundamenta en una guía para recolección de los datos, la recolección de los datos,

utilización de un check-in con los datos a recabar y el detalle de las características a evaluar por cada uno de los

IDE’s.

3.2.1. Instrumento de recolección de datos.

Se utilizará una Guía de evaluación, que se alimentará de una investigación y recolección de información técnica

sobre las características de los IDE’s comparados. Análisis documental, estadísticas generadas por agentes que

realizaron evaluaciones de herramientas informáticas, cuya credibilidad es respetada y su veracidad tiene

valides en el medio informático.

3.2.2. Recopilación de información.

3.2.2.1. Cloud9 IDE (versión 3.0.1490).

3.2.2.1.1. Descripción.

“Cloud9 ofrece un entorno de desarrollo en la nube que permite a los

desarrolladores empezar con la codificación de inmediato y colaborar con

sus compañeros. Con 3 años de experiencia en desarrollo de IDE nube y

cerca de medio millón de usuarios registrados, la misión de Cloud9 es

desbloquear los beneficios de escribir software en la nube”. Fuente: (Sitio

Oficial Cloud9 IDE, 2015)

La empresa fue fundada en 2010 y con sede en San Francisco y

Ámsterdam, Cloud9 IDE es una empresa privada respaldada por Accel y

Atlassian.

Este IDE está escrito en gran porcentaje en código JavaScript, y utiliza como back-end Node.js. Además está

alojado en Google Compute Engine

3.2.2.1.2. Características principales:

TERMINO DEFINICION

Configuración simple No es necesario gastar valioso tiempo de desarrollo de la configuración y mantenimiento del sistema. Puede crear, construir y ejecutar cualquier desarrollo en instantes.

Page 20: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

20

TERMINO DEFINICION

Libertad Los espacios de trabajo son alimentados por contenedores que le dan plena libertad sobre su entorno, incluidos los derechos de súper usuario.

Pre visualización Elimina la instalación de navegadores y plataformas en las máquinas virtuales para pruebas de compatibilidad. Live Preview permite ver de forma interactiva lo que su aplicación web mostrara en cualquier navegador, sólo tiene que elegir una de las 300 combinaciones entre navegador, plataforma / OS.

Comandos en Terminal Ejecutar cualquier comando de gran alcance en el espacio de trabajo Ubuntu o en su propia máquina virtual.

Herramientas de lenguaje Brinda sugerencias para finalizar la sentencia que aparecen a medida que escribe para ayudar a generar código más rápido y evitar errores tipográficos. Se puede utilizar la vista Esquema para entender mejor su código, y saltar a Definición de variables para una fácil navegación.

Depurador Permite establecer puntos de interrupción, sobre la ejecución y poder inspeccionar variables de cualquier aplicación JS / Node.js. O ir directamente a la ventana emergente para ejecutar código en una sesión de depuración.

Dividir vista Se puede configurar una propia interfaz de usuario, basta con arrastrar cualquier archivo o pestaña alrededor para crear tantas divisiones como quiera, en cualquier dirección. De hecho, todas las partes de la interfaz de usuario se pueden activar / desactivar al gusto.

Temas Permite elegir entre más de 30 temas y esquemas de color que controlan el resaltado de sintaxis y la interfaz de usuario. También puede colocar estilo personalizado a Cloud9, al editar la hoja de estilos.

Panel de ejecución Amplio conjunto de corredores por defecto para ejecutar su aplicación, tales como Ruby, Python, PHP / Apache, CoffeeScript o Node.js. O ejecutar cualquier comando en una configuración de ejecución, incluyendo las variables de entorno.

Asociación de teclas Todos los comandos de teclado pueden ser totalmente configurados, por lo que no tiene que aprender un nuevo conjunto de pulsaciones de teclas. O simplemente importar un archivo de mapa de teclado.

VIM / Emacs / Modo Sublime Editor de texto en VIM, Emacs o Sublime, simplemente configure Cloud9 para entrar en uno de estos modos y obtener lo mejor de estos mundos.

Editor de imágenes No es necesario interrumpir su flujo de desarrollo web para editar una imagen en su máquina, Cloud9 también se posee un editor de imágenes. Cambiar el tamaño, recortar, rotar, voltear una imagen directamente desde el navegador con Built-In.

Java Runner Creación de un constructor de Java.

Tabla 3 Características principales Cloud9 IDE, Fuente: Propia.

Page 21: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

21

3.2.2.1.3. Características consideradas:

TERMINO DEFINICION

Multilenguaje Lenguajes soportados, CoffeeScript, ColdFusion, C#, CSS, Dart, Go, Groovy, haXe, HTML, C/C++, Clojure, Java, JavaScript, JSON, LaTeX, LESS, Liquid, Lua, Markdown, OCaml, Perl, pgSQL, PHP, Powershell, Python, Ruby, OpenSCAD, Scala, SCSS, SH, SQL, SVG, Text, Textile, XML, XQuery,YAML. Tiene diferentes niveles de soporte para diferentes lenguajes de programación. Por lo general, tendrá al menos resaltado de sintaxis en el editor para más de 40 lenguajes y la capacidad de ejecutar aplicaciones desde la terminal.

Editor de texto ACE es un editor de código de alto rendimiento para la web que soporta más de 40 lenguajes diferentes, más de dos docenas de temas, y trabaja eficientemente con documentos de gran tamaño.

Compilador Existen dos formas de ejecutar el código, ya sea a través del Panel Ejecutar, o a través del botón de ejecución en la barra de menú. Aplica a todos los lenguajes de programación soportados por el IDE. Actualmente admite la ejecución de forma predeterminada para: Apache httpd (PHP, HTML), Node, Python, Ruby, Ruby on Rails, Go CoffeeScript, Julia, Mocha, Shell script. Si desea ejecutar cualquier otro lenguaje, basta con crear una nueva "Runner".

Depurador Permite seleccionar Ejecutar en modo de depuración desde el botón de ejecución. Otorga las siguientes capacidades de navegación de depuración, inspecciones variables, pila de llamadas, y el modo interactivo. Durante la depuración, también tiene el poder del inspector en vivo. Mientras se cierne sobre un pedazo de código en el editor, se obtiene instantáneamente un texto flotante que describe los valores de esa variable, similar a la Inspección de variables. En la actualidad, sólo las aplicaciones JavaScript / Node.js pueden hacer uso del depurador.

Pruebas unitarias Maneja escenarios de ejecución, que es como la creación de algunas configuraciones para la manera en que su código se ejecuta en diferentes escenarios que son almacenados.

Controlador de versiones Vincula a GitHub, Bitbucket, repositorios Mercurial y Git, además de servidores FTP para el control de versiones y se integra completamente con la plataforma. Permitiendo editar y actualizar los repositorios, todo desde dentro del IDE.

Interfaz gráfica de usuario La plataforma permite la comunicación mediante la interfaz gráfica para diseñadores y desarrolladores.

Complemento Una gran cantidad de plug-ins se encuentran disponibles, aunque con escasa documentación de los mismos. El plug-in en sí es del lado del cliente, lo que significa que se ejecuta en el entorno del navegador.

Colaborativo Se basa en tres características, la primera edición de colaboración en tiempo real (con información autoría colores). Segunda, chat en grupo (mensajes y eventos de usuario). Y tercera el archivo de historial de revisiones (con información autoría colores).

Page 22: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

22

TERMINO DEFINICION

Multi idioma Inglés.

Manual de Usuario y Ayuda Cuenta con sitio de documentación y soporte, aunque limitado a temas de configuración.

Precio Versión gratuita, Micro $9.00, Small $19.00, Medium $39.00, Large $79.00 mensualmente. Con 10G/1G, 20G/2G, 40G/4G y 80G/8G de espacio disco/RAM respectivamente.

Multiplataforma Live Preview permite ver de forma interactiva las aplicaciones de la misma forma en cualquier navegador, permite elegir una de las múltiples combinaciones navegador plataforma / OS. Ya que se ejecuta en el navegador puede ser utilizado desde cualquier plataforma que contenga un navegador de internet.

Seguridad Cuenta con medidas de seguridad como inicio de sesión y acceso remoto a través de SSH. En la versión gratuita y alojada, los proyectos son públicos. La versión Premium brinda privacidad para los proyectos del usuario.

Modo fuera de línea Cuenta con soporte para modo offline, que permite trabajar de manera local y sincronizar de inmediato en cuanto se vuelve a tener conexión a Internet.

Tabla 4 Características consideradas Cloud9 IDE, Fuente: Propia.

3.2.2.2. Orión (versión 8.0).

3.2.2.2.1. Descripción.

“Orion es un proyecto de código abierto bajo el proyecto Eclipse de

nivel superior. El objetivo de este IDE es la creación de una

plataforma para la integración de herramientas abiertas basadas en

el navegador que está totalmente centrado en el desarrollo web, en

la web. Las herramientas están escritas en JavaScript y se ejecutan

en el propio navegador del usuario.” Fuente: (Sitio Oficial Eclipse,

2015)

Permite la ejecución en varias pestañas de trabajo, brindando enlaces que pueden ser compartidos. Ofrece una

gran experiencia para el programador en el desarrollo web.

Los componentes Orion son consumibles de forma individual, además pueden ser incrustados en aplicaciones y

páginas web. Además pueden verse de forma pública en OrionHub, sitio donde cualquiera puede crear una

cuenta y desarrollar con Orion.

Brinda herramientas para el lenguaje Java como lo es el resaltado de sintaxis entre otras. Sin embargo apunta

primero a los lenguajes web como JavaScript, CSS y HTML, para poder atraer a los miembros de la comunidad

JS al entorno de desarrollo Eclipse.

Page 23: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

23

La idea es aprovechar los principios de diseño en Internet en todo, en lugar de tratar de traer conceptos de los

IDE’s de escritorio existentes para el navegador.

“Orion es un conjunto de componentes que proporcionan el código del lado del servidor y el cliente que

conforman una plataforma de desarrollo basada en el navegador extensible. Los componentes se diferencian de

muchos otros proyectos de Eclipse principalmente porque están escritas en JavaScript, CSS, HTML5 y se dirigen

a los navegadores modernos como Firefox, Chrome, Safari y IE10. Este es el objetivo inicial de Orión, los

desarrolladores web”. Fuente: (Sitio Oficial IBM Developerworks, 2015)

3.2.2.2.2. Características principales:

TERMINO DEFINICION

Herramientas web Todo lo que se necesita es un navegador web. A partir de ahí, dispone de herramientas para escribir código usando un gran editor, vinculación a un repositorio y creación de sitios.

Código en todas partes El desarrollo en cualquier lugar, en la nube, justo como lo dejó. Entrando en un navegador web en el escritorio, portátil, tableta, en un aeropuerto, en un autobús o incluso en la oficina.

Tecnologías Abiertas Incorpora tecnologías líderes para hacer una plataforma de herramientas extensible. Otros componentes como el editor para crear sus propias herramientas de soluciones.

OrionHub Es una solución de alojamiento para proyectos, creado a partir de componentes desarrollados con código abierto.

Incrustación Puede incrustar el editor de Orion en su aplicación o sitio web

Ampliación Permite extender el escritorio y los entornos de desarrollo basados en la web, escribiendo sus propios plug-ins al utilizar el plug-in de Medio Ambiente para el Desarrollo (PDE).

Búsqueda La nueva aplicación de búsqueda de Orion ofrece búsqueda y reemplazo global basada en una búsqueda rastreadora del lado servidor, en lugar de indexación.

Tabla 5 Características principales Orion, Fuente: Propia.

3.2.2.2.3. Características consideradas:

TERMINO DEFINICION

Multilenguaje JavaScript, CSS, HTML y Java.

Editor de texto Brinda herramientas de edición como marcadores de error en la barra de línea de código, una vista de pájaro de errores que se muestra al lado de la barra de desplazamiento derecha, fuentes y editor de colores se pueden personalizar. El editor soporta muchas de las asociaciones de teclas típicas del editor Eclipse. Un plugin de CodeMirror está disponible que proporciona resaltado de sintaxis para una gran variedad de otros lenguajes.

Page 24: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

24

TERMINO DEFINICION

Compilador Permite realizar esta gestión mediante el apoyo de Eclipse para la compilación de código y pruebas.

Depurador Junto con una extensión Firebug, se puede invocar el editor de Orion para hacer correcciones y validaciones de lenguajes web. El uso del editor de JSLint para proporcionar la jerarquía de función y encontrar los errores y advertencias.

Pruebas unitarias Permite la implementación y administración de sitios de prueba. Para ejecutar sólo un subconjunto de las pruebas, se debe editar la configuración de lanzamiento.

Controlador de versiones Brinda una interfaz de usuario para trabajar archivos y carpetas que se gestionan en un repositorio Git. Puede ver los cambios en una comparación lado a lado.

Interfaz gráfica de usuario Proporciona una serie de servicios que pueden ser utilizados por los scripts en las páginas Orion. Brinda formas de secuencias de comandos en cada página para contribuir vínculos, mensajes y comandos en el área de título, y para mostrar los cuadros de diálogo al usuario final.

Complemento Permite a los desarrolladores crear plugins que añaden un comportamiento a las páginas de Orión con el fin de personalizar el cliente y agregar más funcionalidad. Cada uno debe incluir como mínimo la biblioteca de JavaScript plugin.js.

Colaborativo No aplica.

Multi idioma Ingles

Manual de Usuario y Ayuda Completo sitio de documentación de la herramienta, Guía del usuario, foros y soporte.

Precio Código abierto.

Multiplataforma Soportado para desktop, laptop y tabletas con Windows, Linux o Mac.

Seguridad Certificaciones mediante OAuth y OpenID.

Modo fuera de línea Ofrece un despliegue de servidor mínima, de un solo usuario de escritorio Orión en JavaScript que se ejecuta en Node.js. Soporta operaciones básicas de archivos, del editor, operaciones con plugin.

Tabla 6 Características consideradas Orion, Fuente: Propia.

Page 25: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

25

3.2.2.3. Compilr (Versión N/A).

3.2.2.3.1. Descripción.

“Es nueva manera para que la gente aprenda y escriba

código. El editor basado en la web permite escribir y

ejecutar todo desde tu navegador, esto elimina todas

las molestias de empezar con la programación. El

enfoque único hace que sea fácil para que cualquiera

pueda aprender”. Fuente: (Sitio Oficial Compilr, 2015)

Compilr es un IDE en la nube que les permite a los usuarios escribir código y construir aplicaciones,

independientemente el sistema operativo que utilicen para trabajar. Es compatible con muchos idiomas y

tecnologías, incluyendo C, C ++, Java, PHP y Python, por lo que es una buena opción para el desarrollo de

aplicaciones para computadoras, móviles y tabletas.

Una de sus características más destacadas es la capacidad de soportar todos los navegadores web de escritorio

y para móviles, además ofrece una vista preliminar para HTML y applets de Java.

Es conocido por reducir el tiempo de codificación considerablemente, ya que provee herramientas fáciles de usar

disponibles en la nube. Además de ser de uso gratuito.

3.2.2.3.2. Características principales:

TERMINO DEFINICION

Editor & Cajas Online Es un editor en línea que permite escribir el código en varios lenguajes desde la comodidad del navegador. Hace todo el trabajo pesado por lo que sólo debe centrarse en la escritura y el aprendizaje del código.

Cruz friendly Permite el trabajo desde cualquier navegador y dispositivo.

Tutoriales y cursos interactivos

Proveen de cursos, tutoriales, además de plantear retos y proyectos para el aprendizaje y desarrollo del usuario.

Importación GIT o servidor remoto

Permite tener el código en un repositorio git o manejar proyectos a distancia, según como lo desee trabajar el usuario.

Interfaz personalizable El editor de código viene con muchas herramientas útiles, dentro de las cuales incluye la habilidad de cambiar el tema, elegible dentro de más de una docena de temas distintos.

Funcional Elimina los problemas de instalar volúmenes de software sólo para escribir un poco de código. Mantiene todas las herramientas disponibles en la nube.

Código en cualquier lugar Permite escribir el código que quiera, cuando y donde lo desee. Es un IDE en línea que se adapta perfectamente a todas las resoluciones de dispositivos como computadoras de escritorio, móviles, tabletas.

Page 26: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

26

TERMINO DEFINICION

Vista previa de HTML y Java Applets

Applets de Java, HTML, así como otros lenguajes en Compilr tienen la capacidad de ejecutarse directamente en el navegador web.

Habilidades de codificación Permite probar secciones de su proyecto y evaluar la funcionalidad además de hacerlo para el proyecto completo en cualquier momento.

Perfecto para estudiantes Es una herramienta ideal para estudiantes, los cuales pueden escribir código en el laboratorio de computación y continuar donde lo dejaron en casa. Eliminando así la necesidad de un USB o disco duro externo para el manejo de su trabajo.

Soporte Cross-Browser Compilr ha sido probado para asegurarse de que es compatible con todos los navegadores modernos.

Hermosa interfaz La interfaz de usuario de Compilr es fácil de usar, completamente funcional, e intuitiva para el usuario.

Repositorio central Elimina la dependencia de Dropbox, memorias USB, discos duros externos y FTP, con Compilr su código esta siempre accesible en línea.

Tabla 7 Características principales Compilr, Fuente: Propia.

3.2.2.3.3. Características consideradas:

TERMINO DEFINICION

Multilenguaje C, C #, C ++, Fortran, HTML, JavaScript, Java, Objective-C, Objective-C++, Pascal, PHP, Python, Ruby, Visual Basic, x86 Assembly.

Editor de texto Herramienta de autocompletado de código, resaltado de sintaxis. Permite regresar o repetir la última acción, guardar, construir y ejecutar el código desde el panel central.

Compilador Más que un compilador en línea, es una infraestructura en la nube que compila y ejecuta el código que le permite interactuar con su aplicación en tiempo real a través de la consola virtual.

Depurador No aplica.

Pruebas unitarias Permite la generación de vista previa.

Controlador de versiones Permite la importación de repositorios GIT para el control de fuentes.

Interfaz gráfica de usuario Funcionalidad muy intuitiva para el usuario.

Complemento No aplica.

Colaborativo Es una gran plataforma para el intercambio de código y la experimentación. Permite compartir proyectos o mantenerlos privados.

Page 27: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

27

TERMINO DEFINICION

Multi idioma Ingles

Manual de Usuario y Ayuda Ofrece tutoriales interactivos, cursos, pruebas para medir y ayudar al usuario a crecer como programador. Además de conseguir ayuda directamente de los desarrolladores de la herramienta, se puede recibir soporte en los foros de la comunidad y recibir ayuda de otros estudiantes y desarrolladores.

Precio Versión demo, versión estudiante $ 10.00 mensualmente, versión Top Seller $ 79.99 anuales y versión catedrático precio a convenir.

Multiplataforma Trabaja en todos los navegadores web modernos de escritorio y móvil como Firefox, Chrome, Safari e Internet Explorer. Con soporte para la interacción táctil, permite escribir código, todo desde un dispositivo móvil o tableta, como BlackBerry, Playbook, Android, iPhone e iPad.

Seguridad No aplica.

Modo fuera de línea No aplica.

Tabla 8 Características consideradas Compilr, Fuente: Propia.

3.2.2.4. Codenvy (versión 3.9.3).

3.2.2.4.1. Descripción.

“Codenvy es desarrollo de las nubes. Nuestra mágica

automatización de que es un solo clic permite espacios de

trabajo para desarrolladores que son simplemente

compartibles y gestionados de forma segura. Los

desarrolladores utilizan nuestro rápido IDE para elaborar sus

mejores galas en código y comandos micro servicios

basados en Docker para construir y depurar desde cualquier

lugar”. Fuente: (Sitio Oficial Codenvy, 2015)

Codenvy fundada por Tyler Jewell (socio de Toba capital) Permite elaborar un proyecto rápidamente, así como

espacios de trabajo para modificar, ejecutar y depurar código en la nube.

Sobre la base de proyectos abiertos de Eclipse, Codenvy se ofrece como SaaS en las instalaciones. La empresa cuenta con 50 empleados y trabaja a través de 5 países en 4 zonas horarias.

3.2.2.4.2. Características principales:

TERMINO DEFINICION

Rápido Docker, una plataforma abierta para aplicaciones distribuidas para los desarrolladores y administradores de sistemas, son micro servicios basados en ejecutar y depurar desde cualquier lugar.

Page 28: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

28

TERMINO DEFINICION

DevOps Espacios de trabajo, provisión para desarrolladores que es simplemente compartible y gestionado de forma segura.

Objetividad La eliminación de la configuración para que los desarrolladores pasen más tiempo haciendo lo que les gusta: codificación.

Sin límites Manda desarrollo adaptable a un superordenador para cualquier idioma, pila, o máquina.

Empresarial Control de una nube privada de desarrollo listo para Agile, DevOps y Web-escala de TI.

Automatización Crear proyectos con recetas y Dockerfiles.

Colaboración Permita que cualquier persona pueda aportar con un solo clic y sin configuración del espacio de trabajo.

Intuir

Eliminación de configuraciones para usuarios Intuit, con Codenvy, los desarrolladores Intuit reducen el tiempo de preparación de varias horas y 45 pasos a 5 minutos y 5 pasos.

Tabla 9 Características principales Codenvy, Fuente: Propia.

3.2.2.4.3. Características consideradas:

TERMINO DEFINICION

Multilenguaje Esta predefinidos para más de 35 entornos de lenguajes de programación, incluyendo Java, JavaScript, Go, PHP, Android, Python, Rubí, C ++, HMTL/CSS, Nodo y Scala,

Editor de texto Potente editor con autocompletado y comprobación de sintaxis.

Compilador Sistema de compilación nativa de Codenvy se basa en Maven que permite crear sofisticadas secuencias de compilación y empaquetado, además utiliza imágenes Docker que se almacenan en caché por el sistema para el arranque rápido.

Depurador Brinda herramientas de depuración en ejecución.

Pruebas unitarias Permite la ejecución de pruebas unitarias en las aplicaciones.

Controlador de versiones Git proporciona control sobre las versiones del proyecto, manejo de cuentas de GitHub y BitBucket.

Interfaz gráfica de usuario Brinda una interfaz de comunicación con el usuario mediante menús y barras de herramientas para los desarrolladores.

Complemento Maneja una amplia cadena de herramienta plug-ins.

Colaborativo Política de colaboración en archivos comunes con Google Docs estilo de edición multi-cursor.

Multi idioma Inglés

Page 29: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

29

TERMINO DEFINICION

Manual de Usuario y Ayuda Cuenta con sitio de documentación y soporte, preguntas frecuentes, foros, base de conocimiento, soporte online y vídeo tutoriales.

Precio Versión gratuita con 512M de RAM, versión Premium 200GB RAM $1.00 mensualmente. Cuentas on-prem $300.00 por usuario al año. Cuentas Developer Services $1500.00 por día y Managed Services $1000.00 mensualmente.

Multiplataforma Android, iPhone-iPad, Linux, Mac, Mobile Web App, de código abierto, RIM-Blackberry, basado en la Web, Windows, Windows Phone.

Seguridad Crea una nube privada detrás del firewall. Permite administrar restricciones a códigos, claves, recursos y plug-ins.

Modo fuera de línea Con la herramienta CLI puede generar una copia de un proyecto y utilizar herramientas de escritorio (como eclipse CHE) para editar, crear o ejecutar el proyecto fuera de línea y luego actualizar sus cambios en la nube.

Tabla 10 Características consideradas Codenvy, Fuente: Propia.

3.2.2.5. Codebox (Versión 2.4).

3.2.2.5.1. Descripción.

“Un IDE, todas las plataformas, código con el

mismo editor en el escritorio y en la nube”. Fuente:

(Sitio Oficial Codebox, 2015)

Fue creado en 2014 con la visión de crear potentes herramientas de desarrollo, abordando temas como la colaboración, el desarrollo de nubes y muchos otros. Es la construcción de una fuente abierta en la nube, que no sólo se ejecuta en la nube, también en su escritorio o su servidor. Codebox.io permite alojar y administrar instancias CodeBox en línea como un servicio utilizando el tablero de instrumentos o API.

3.2.2.5.2. Características principales:

TERMINO DEFINICION

Open source El componente IDE está disponible como un proyecto de código abierto (construido con tecnologías web) en GitHub.

Escritorio Esta aplicación convierte cualquier Chromebook o PC en un depurador gráfico avanzado, ayuda a detectar y resolver los errores en el código con el entorno de desarrollo en toda regla para la apertura de proyectos locales y en la nube.

Page 30: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

30

TERMINO DEFINICION

Servicio en la Nube Entornos de desarrollo de gran alcance en la nube manejando la colaboración, en línea / fuera de línea, un IDE para sus colaboradores y sus equipos.

Freelancing Permite el rápido manejo de proyectos freelance, obteniendo una mayor colaboración. Y poder tener un registro de la actividad de su profesional independiente.

Programación en parejas Con la colaboración en tiempo real completo, la programación en parejas a distancia es muy práctica, contando con un editor colaborativo y video chat.

Entrevistas de trabajo Le da las herramientas de colaboración adecuadas y el entorno para llevar a cabo las entrevistas de trabajo.

Programación y Aprendizaje Elimina toda la frustración de la creación de entornos y herramientas de principiantes, que les permite centrarse en el aprendizaje.

Programación y Enseñanza Los maestros pueden compartir sus entornos y muestras, por lo que es una gran manera de dar a los estudiantes un inicio rápido para sus tareas.

Ejecución Proporciona máquinas virtuales completas que le da todo el poder de terminales totalmente en el navegador.

Temas Puede elegir la configuración que prefiera para su entorno de trabajo, escribir en fondo oscuro o claro, es su elección así como otras configuraciones más.

Auto-run Automáticamente detecta el tipo de proyecto y lo ejecuta. Usted puede contribuir a añadir más tecnologías soportadas en GitHub.

Offline Código incluso cuando no este conectado. Su código se sincronizará al volver a conectarse.

Multiplataforma Se ejecuta en su escritorio, portátil, Chromebook y la tableta.

GIT Workflow El flujo de trabajo centralizado utiliza un repositorio central para servir como el punto de entrada para todos los cambios en el proyecto, soporta también Mercurial.

Tabla 11 Características principales Codebox, Fuente: Propia.

3.2.2.5.3. Características consideradas:

TERMINO DEFINICION

Multilenguaje Soporta pilas para PHP, HTML5, Java, Dart, node.js, Python, Ruby, Go, C/C++, Lua, hack, Scala, Clojure, meteor, mobile.

Editor de texto Autocompletado o finalización de código que aparece justo a medida que se escribe. Esto hace que sea más rápido y fácil de programar.

Page 31: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

31

TERMINO DEFINICION

Compilador Sin necesidad de utilizar el grunt de comandos, sólo se tiene que rellenar un archivo .env en el directorio del código fuente de la raíz y cuando el archivo .env está listo, simplemente se ejecuta y se leerá

las variables de entorno del .env e iniciara el proceso de construcción y ejecución.

Depurador Utiliza el complemento Bugs.js que es una interfaz unificada para depuradores comunes (gdb, jdb, PDB, etc). Un depurador gráfico avanzado ayuda a detectar y resolver los errores en el código.

Pruebas unitarias Permite vincular fácilmente paquetes para la prueba mediante la creación de una carpeta que contiene dichos los paquetes.

Controlador de versiones Permite conectar con cuentas de GitHub, Bitbucket y Assembla. Al efectuar la conexión con uno de los servicios anteriores, puede crear cajas de espacios de trabajo para sus repositorios alojados en ellos.

Interfaz gráfica de usuario Cuenta con interfaz de comunicación con el usuario, amigable y muy útil.

Complemento Los complementos se utilizan para extender funcionalidades del IDE. El núcleo de CodeBox se limita a contener la estructura del IDE, componentes de interfaz de usuario (pestañas, menús, paneles), el proceso de arranque, gestión complementos, gestión de archivos. La mayor parte de las funcionalidades del IDE se conservan en los complementos por defecto.

Colaborativo Codebox permite a todos los programadores compartir el mismo entorno consistente y así cancelar las molestias por configuraciones. Con la colaboración en tiempo real la edición de código se maneja con un editor de colaboración como Google Docs. Y con ello mejorar el trabajo del desarrollo en conjunto.

Multi idioma Inglés.

Manual de Usuario y Ayuda Cuenta con canales de blogs y noticias del producto, cuenta con sitio de documentación y soporte básico. Comunicación con el área de soporte vía email.

Precio Versión libre con 256MB limitado a 1 caja, 1 colaborador, se trabaja con proyectos de código abierto. Versión Premium $ 9.00 mensuales con 512MB limitado a 10 cajas, colaboradores ilimitados, proyectos

de código abierto y privados e informes de actividades. Versión empresarial (precio según acuerdo), cajas ilimitadas de 512MB, colaboradores ilimitados, proyectos de código abierto y privados, informes de actividades e informes de colaboración.

Multiplataforma Soporta versión de escritorio en PC con Windows, Google Chrome, Linux y Mac. Y adicionalmente también en tabletas para la versión en línea.

Seguridad Permite el uso de la clave SSH de su cuenta, puede agregar la clave pública a su cuenta de GitHub, Bitbucket o GitLab utilizar git alojamiento privado

Page 32: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

32

TERMINO DEFINICION

Modo fuera de línea Permite sincronizar los archivos sin conexión para seguir trabajando cuando la red está abajo (o cuando se está en el avión). El IDE detecta cuando no existe acceso a internet y cambia al modo fuera de línea, las terminales y algunos otros componentes no estarán disponibles sin conexión. Se podrá editar el archivo de la misma forma que en línea, para luego sincronizarlo al tener nuevamente conexión a la red.

Tabla 12 Características consideradas Codebox, Fuente: Propia.

3.2.2.6. Codeanywhere (versión 5.57.0).

3.2.2.6.1. Descripción.

“Codeanywhere es una plataforma de colaboración

para los desarrolladores. Lo que les permite

compartir sus archivos, carpetas o entornos enteros

de desarrollo para colaborar juntos en tiempo real.

Pensar en ello como Google Docs para los

desarrolladores, es una herramienta que supera

con frecuencia los diversos Top que se encuentran alrededor de la Web, un IDE en la nube amable para todas

las estaciones. Codeanywhere se caracteriza por hacer lo que hace bastante bien”. Fuente: (Sitio Oficial

Codeanywhere, 2015)

Brinda resaltado de código y soporte para muchos lenguajes de programación. Gracias a la gran cantidad de

aplicaciones disponibles es útil para diversas plataformas, esta herramienta le permite a cualquier persona

codificar literalmente en desde cualquier lugar donde se encuentre.

También cuenta con el apoyo de Dropbox y SFTP, que permiten a los programadores generar y administrar copia

de seguridad de los proyectos y compartirlos con los colaboradores.

“El entorno de desarrollo elegante le permitirá centrarse en la construcción de grandes aplicaciones más rápido.

Todas las características que usted necesita para cualquier tarea de codificación se construyen en

Codeanywhere, haciendo un desarrollo más productivo y divertido”. Fuente: (Sitio Oficial Codeanywhere, 2015)

3.2.2.6.2. Características principales:

TERMINO DEFINICION

Potente editor Tiene todas las características de un IDE de escritorio pero con características adicionales que sólo una aplicación en la nube puede dar, con el increíble editor en Codeanywhere.

Almacenamiento en la nube Permite conectarse a su código donde sea, FTP, SFTP, Dropbox o Google Drive y más.

Consola de Terminal Consola de terminal para ejecutar cualquier comando en su DevBox o incluso servidores remotos (mediante SSH).

Revisiones Permiten ver las diferencias entre todos y cada uno de sus versiones.

Page 33: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

33

TERMINO DEFINICION

Colaboración Compartir y colaborar su código en tiempo real. Si se desea vincular a un programa, o simplemente conseguir un poco de ayuda de un amigo el IDE lo permite y lo hace fácil.

Máquina virtual DevBox es una máquina virtual privada que se puede personalizar completamente por el usuario. Que viene con su propia cantidad dedicada de memoria y espacio en disco.

Pilas Predefinidas Permite elegir entre una gran cantidad de pilas para el desarrollo predefinidas para el usuario.

Repositorios Fácil conexión para repositorios Git, Bitbucket y GitHub existentes.

Disposición Servidores virtuales privados que se pueden aprovisionar fácilmente en segundos.

Ejecución Ejecuta su código en Devboxes de la misma forma como lo haría en el equipo local.

Cualquier momento y lugar Permite código desde un navegador, también de cualquier teléfono o Tablet con iOS o Android.

Compartir Capacidad de uso compartido, para que pueda obtener la ayuda de un colega, permitiendo abrir su base de código a un grupo, o simplemente mostrar su último código en un hackathon.

Enlaces Los enlaces permiten compartir cualquier cosa de un archivo, carpeta o proyecto con sólo una URL. Puede enviar el enlace por correo electrónico, mensajería instantánea o cualquier otro medio. Al hacer clic en el enlace las personas tendrán una vista previa en el sitio web de Codanywhere.

Programación en parejas en vivo

La colaborar en tiempo real de toda una sala o en todo el mundo. Es como estar sentado programando al lado de un compañero, sin alterar el espacio personal.

Tabla 13 Características principales Codeanywhere, Fuente: Propia.

3.2.2.6.3. Características consideradas:

TERMINO DEFINICION

Multilenguaje APL, Asterisco, C, C ++, Cobol, Java, C #, Scala, Clojure, CoffeeScript, Common Lisp, CSS, D, diff, ECL, Erlang, Gas, GitHub sabores Markdown, GO, Groovy, Haskell, Haxe, ASP.NET, Embedded JavaScript, JavaServer Pages, HTML, HTTP, Jade, JavaScript, JSON, Mecanografiado, Jinja2, MENOS, LiveScript, Lua, Markdown (GitHub-sabor), mIRC, Nginx, NTriples, OCaml, Pascal, Perl, PHP, PHP (HTML), Cerdo, Texto sin formato, Archivos de propiedades, Pitón, Cython, R, reStructuredText, Rubí,Herrumbre, Sass, Esquema, SCSS, Cáscara, Tamiz, Smalltalk, Sabelotodo, SmartyMixed, SPARQL, SQL, MariaDB, Stex, LaTeX, Tcl, TiddlyWiki, Tiki wiki, VB.NET, VBScript, Velocidad, Verilog, XML, XQuery, YAML, Z80.

Page 34: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

34

TERMINO DEFINICION

Editor de texto Sintaxis de 75 lenguajes de programación, finalización de código (js, php, html, css). Se desarrolla y construye sobre CodeMirror, un editor para escribir código en línea. CodeMirror soporta más de dos docenas de módulos diferentes, y cualquier cambio realizado en CodeMirror se refleja en Codeanywhere.

Compilador Configurar fácilmente la forma de ejecutar los proyectos. Definir las variables de entorno, los comandos enlace para lotes y vista previa. Múltiples configuraciones de ejecución son posibles para cada DevBox.

Depurador Permite la depuración y rastreo de las aplicaciones.

Pruebas unitarias No aplica.

Controlador de versiones Cada vez que se guarda un archivo, un control de los cambios realizados en éste se guarda en el servidor. Puede ver estas revisiones de archivos como se ha añadido contenido y removido de sus archivos. También puede restaurar un archivo en cualquier estado guardado anteriormente. Permite comparar visualmente dos revisiones guardadas de un lado al otro archivo. Muestra diferencias entre archivos y resalta con colores las últimas modificaciones.

Interfaz gráfica de usuario Múltiples diseños, despliegue de paneles y combinación de colores personalizables.

Complemento No aplica.

Colaborativo Permite compartir proyectos, archivos o carpetas con otros desarrolladores así mismo brinda acceso a la terminal y ejecutar los recursos compartidos. Además se puede realizar programación en parejas en vivo.

Multi idioma Inglés.

Manual de Usuario y Ayuda Su documentación contiene artículos, tutoriales y blog de ayuda al desarrollador, además cuenta con soporte técnico para todas sus versiones a excepción de la versión libre. El sitio de documentación es muy básico.

Precio Versión libre 256MG/2GB sin soporte, versión Motor De Arranque 256MB/2GB $ 3.00 mensuales, versión Freelancer 512MB/5GB $ 10.00 mensuales, versión Profesional 768MB/10GB $ 25.00 mensuales, versión Negocio 1024MB/15GB $ 50.00 mensuales.

Multiplataforma Windows, Linux, Mac, iOS, Android y BlackBerry.

Seguridad SSH directamente desde su navegador a un servidor diferente, además brinda apoyo de Dropbox y SFTP, que permiten a los programadores generar archivos de sus proyectos para facilidad de copias de seguridad.

Modo fuera de línea No aplica.

Tabla 14 Características consideradas Codeanywhere, Fuente: Propia.

Page 35: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

35

4. Análisis y discusión de resultados

4.1. Interpretación

Los servicios ofrecidos en la nube no son algo pasajero, son herramientas para hacer negocios y además son parte del cambio de los modelos tradicionales de aplicaciones en Internet, ha ido ganando impulso en los últimos años, ha traído consigo nuevos y variados servicios informáticos que satisfacen desde las necesidades del programador independiente hasta las empresas desarrolladoras de software. Al brindar servicios como infraestructura, plataformas y software en línea, totalmente escalable, la nube está abarcando día con día la mayoría de áreas de la informática, lo cual permite a los usuarios reducir el gasto y tiempo invertido en estas áreas, por ejemplo servicios de servidores, sitios Web, bases de datos, archivos en la nube y también la utilización de IDE’s en línea. El proveedor se encarga de todas las tareas de un equipo de TI, como asignación de los recursos informáticos, mantenimiento preventivo, actualizaciones y copias de seguridad. Al ver hacia el futuro, la computación en nube promete nuevas formas de colaboración en tiempo real, mediante el servicio 24/7 los 365 días al año. Claro está que la seguridad debe ser un pilar para cualquier servicio informático y los IDE’s en la nube no son la excepción, por lo cual ésta es el área en la que los proveedores de servicios de software en línea redoblan esfuerzos, pues la preocupación de todo usuario es ¿Quién tiene acceso a mi código fuente? La mayoría de proveedores ofrecen conexión a repositorios GIT con el protocolo SSH que permite tener protegida su información, así mismo en contraparte existen proveedores que ofrecen cuentas gratuitas, pero con la salvedad que en esta categoría su información es de acceso público, lo cual limita la confidencialidad del código escrito por el usuario. Otro riego que se corre al utilizar un IDE en la nube es la dependencia directa de una conexión a internet para utilizar los servicios, esto en comparación con un IDE local, merma en gran medida el desarrollo a gran velocidad por el corte de comunicación entre el usuario y la herramienta. Aunque existen proveedores que brindan servicios en modo fuera de línea, siempre es necesaria la conexión con el servidor en la nube para la integración de cambios. No todo es malo, al hablar de los beneficios con la utilización de un IDE en la nube se eliminan las aplicaciones de negocio tradicionales que siempre han sido muy complicadas y costosas. Además, la cantidad y variedad de hardware y software necesario para ejecutarlos son muy grandes, y se llega a necesitar todo un equipo de expertos para instalar, configurar, probar, ejecutar, asegurar y actualizarlos. Es acá donde se obtiene el mayor beneficio de estos IDE’s, al reducir el costo invertido en equipo de cómputo y el tiempo necesario para su instalación, configuración y mantenimiento. De igual forma la ventaja de poder acceder al código fuente desde cualquier lugar y en cualquier momento. También existe el beneficio económico, por ser un servicio en la nube, pagar solo por lo utilizado, lo cual optimiza la inversión. Otro beneficio que obtenemos es el operativo, ya que podremos responder de forma más rápida para solventar de forma efectiva la capacidad de crecimiento conforme se presente la demanda de trabajo. Cada vez más surgen nuevas herramientas que permiten compartir el trabajo realizado, lo cual trae beneficios para colegios, universidades y grupos de trabajo distribuidos en distintas zonas geográficas. Antes de empezar a utilizar un IDE en la nube se deben platear y responde las siguientes interrogantes:

¿La utilización de un IDE en la nube satisface las necesidades informáticas de nuestro trabajo a la hora de desarrollar aplicaciones, según el giro de nuestro negocio?

¿Se tiene la capacidad en términos de conexión, para lograr tener un enlace estable con el proveedor del servicio?

Page 36: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

36

¿Cuál es el historial del proveedor del servicio, si es verificable la credibilidad y respaldo de los clientes actuales?

¿Qué seguridad me brinda el proveedor para el resguardo y recuperación de mi información? Además de esto, se debe definir una estrategia de seguridad para proteger la información en ambientes alternos.

4.2. Consolidación entre lo planteado y lo establecido.

4.2.1 Matriz comparativa

No. Característica Cloud9 IDE Orion Compilr Codenvy Codebox Codeanywhere

1 Multilenguaje

SI, más de 40 lenguajes entre

ellos Java.

Si, JavaScript, CSS, HTML y Java.

SI, más de 15 lenguajes entre ellos Java.

SI, más de 35 lenguajes entre

ellos Java.

SI, más de 15 lenguajes entre ellos Java.

SI, más de 80 lenguajes entre ellos Java.

2 Editor de texto

Si, utiliza ACE.

Si, completo con marcadores de error, vista de pájaro y utiliza CodeMirror para resaltado de sintaxis.

Si, completo con autocompletado y comprobación de sintaxis.

Si, completo con autocompletado y comprobación de sintaxis.

Si, completo con autocompletado y comprobación de sintaxis.

Si, completo utiliza CodeMirror para resaltado de sintaxis.

3 Compilador

Sí. Además de compilación

predeterminada para varios lenguajes.

Si, con el apoyo de Eclipse.

Sí. Si, utiliza Maven e imágenes Docker.

Sí. Si, utiliza DevBox

4 Depurador

Sí. Si, utiliza una extensión Firebug y JSLint.

No aplica. Sí. Si, utiliza Bugs.js

Sí.

5 Pruebas unitarias

Si Sí. Sí. Sí. Sí. No aplica.

6 Controlador de versiones

Si, utiliza GitHub, Bitbucket,

repositorios Git y Mercurial, además de servidores FTP

Si, utiliza repositorios Git.

Si, utiliza repositorios Git.

Si, utiliza GitHub y BitBucket.

Si, utiliza GitHub, Bitbucket y Assembla

Si, utiliza Git, Bitbucket y GitHub.

7 Interfaz gráfica de usuario

Sí. Sí. Sí. Sí. Sí. Sí.

8 Complemento

Sí. Sí. No aplica. Sí. Sí. No aplica.

9 Colaborativo

Si, archivo de historial de revisiones y

colaboración en tiempo real (con

información autoría colores).

No aplica. Sí. Sí. Sí. Si, programación en parejas en vivo.

10 Multi idioma

No, solo inglés. No, solo inglés. No, solo inglés. No, solo inglés. No, solo inglés. No, solo inglés.

11 Manual de usuario y ayuda

Si, con sitio de documentación y

soporte básicamente para

configuración.

Si, completo sitio de documentación de la herramienta, Guía del usuario, foros y soporte.

Si, completo con tutoriales interactivos, cursos, pruebas y foros de ayuda.

Si, con sitio de documentación y soporte, preguntas frecuentes, foros, base de conocimiento, soporte online y vídeo tutoriales.

Si, con canales de blogs, sitio de documentación y soporte básico, soporte vía email.

Si, básico con artículos, tutoriales y blog de ayuda, versión libre sin soporte.

Page 37: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

37

No. Característica Cloud9 IDE Orion Compilr Codenvy Codebox Codeanywhere

12 Precio

Desde versión gratuita hasta $

79.00 Mensuales por espacio y

RAM.

Código abierto.

Versión demo, versión estudiante $ 10.00 mensualmente, versión Top Seller $ 79.99 anuales (versión catedrático precio a convenir).

Desde versión gratuita hasta $ 1,000. 00 Mensuales por espacio y RAM.

Desde versión gratuita (no disponible) hasta $ 9.00 Mensuales por espacio y RAM. (versión empresarial precio a convenir)

Desde versión gratuita hasta $ 50.00 Mensuales por espacio y RAM.

13 Multiplataforma

Si, Utiliza Live Preview, múltiples

combinaciones navegador/platafor

ma.

Si, desktop, laptop y tabletas con Windows, Linux o Mac.

Si, Firefox, Chrome, Safari, Internet Explorer, tabletas como BlackBerry, Playbook, Android, iPhone y iPad.

Si, Android, iPhone-iPad, Linux, Mac, Mobile Web App, RIM-Blackberry, Windows, Windows Phone.

Sí. PC con Windows, Google Chrome, Linux y Mac, tabletas.

Si, Windows, Linux, Mac, iOS, Android y BlackBerry.

14 Seguridad

Si, utiliza SSH. Si, utiliza OAuth y OpenID

No aplica. Si, permite restricciones de acceso.

Si, utiliza SSH. Si, utiliza SSH.

15 Modo fuera de línea

Si, permite sincronización.

Si, funciones básica.

No aplica Si, permite sincronización

Si, permite sincronización

No aplica

4.3. Estudio de la matriz comparativa.

4.3.1. Multilenguaje.

Respecto a esta característica, se encontró que todos soportan el lenguaje Java, además de muchos otros lenguajes que podrían ser complementarios para nosotros, según el tipo de desarrollo al que se dedique en este caso, el usuario que utiliza el servicio. Ya que se tiene la ventaja de poder utilizar el IDE para manejar por ejemplo, código JavaScript, con lo que tendríamos en un mismo lugar de trabajo todo lo necesario para poder desarrollar nuestras aplicaciones.

4.3.2. Editor de texto. Aunque todos cuentan con un editor de texto, con herramientas como autocompletado y validación de sintaxis, se destaca Cloud9 IDE por la utilización de la herramienta ACE, así mismo Orion y Codeanywhere que lo hacen con CodeMirror, que brinda a los usuarios potentes y amigables editores de texto para el desarrollo, lo cual es muy valorado al momento de realizar tareas como hacer/deshacer modificaciones y búsquedas en nuestro código.

4.3.3. Compilador. En esta sección se destacan, Cloud9 IDE por ofrecer compilaciones predeterminadas para varios lenguajes, Codenvy lo hace con la herramienta Maven y Codeanywhere lo ofrece con DevBox, con lo que la tarea de construir nuestras aplicaciones se realiza mucho más rápido, al poder optimizar el tiempo invertido en esto.

4.3.4. Depurador. Para poder limpiar y analizar nuestro código, los proveedores más eficientes son Orion con FireBug y CodeBox que lo hace con Bugs.js. Al permitir que usuario realice la revisión en tiempo real sobre la ejecución de su código y así validar el mismo.

Page 38: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

38

4.3.5. Pruebas unitarias.

En esta sección la mayoría ofrece la opción de probar módulos de un proyecto de forma individual, sin existir una ventaja significativa de ninguno sobre los demás IDE’s.

4.3.6. Controlador de versiones. Para esta característica, todos soportan repositorios Git para almacenar y controlar las modificaciones sobre nuestros proyectos, pero los destacados son Cloud9 IDE que además lo hace mediante Mercurial y servidores FTP. También CodeBox que brinda la opción de hacerlo con Assembla.

4.3.7. Interfaz gráfica de usuario. Todos los IDE’s evaluados ofrecen una interfaz para la interacción entre el usuario y la herramienta.

4.3.8. Complemento. Los proveedores que permiten y soportan el manejo de complementos son Cloud9 IDE Orion, Codenvy y CodeBox. Permite de esta forma desarrollar aplicaciones mucho más funcionales y adaptables de forma más eficiente.

4.3.9. Colaborativo. A excepción de Orion, todos los IDE’s brindan herramientas para la colaboración en el desarrollo de aplicaciones, tanto comerciales como didácticas. Pero se destaca Cloud9 IDE por las herramientas en tiempo real y el resaltado de autoría de modificaciones en el código. También Codeanywhere tiene herramientas para mejorar la programación en grupos de trabajo.

4.3.10. Multi idioma. Todos los entornos de desarrollo están solo en idioma inglés, el cual es de aceptación universal.

4.3.11. Manual de usuario y ayuda. Aunque todos los proveedores brindan un sitio de documentación y soporte básicamente para configuración de la herramienta, los destacados son Codenvy y Compilr, con bases de conocimiento y tutoriales interactivos respectivamente.

4.3.12. Precio. Todos ofrecen versiones gratuitas, pero Codenvy ofrece los mejores precios con base a lo ofrecido en RAM y almacenamiento. Pero Orion es de uso libre para cualquier usuario, además cabe mencionar que la versión gratuita y la prueba de la versión premiun de CodeBox no se encuentran disponibles.

4.3.13. Multiplataforma. En esta sección todos ofrecen distintas combinaciones entre dispositivo y sistema operativo, pero Cloud9 IDE destaca por tener la herramienta Live Preview que permite visualizaciones de nuestras aplicaciones en distintos entornos.

4.3.14. Seguridad. Para esta característica que es crucial y determinante, los destacados son Cloud9 IDE, CodeBox y Codeanywhere, que utilizan el protocolo SSH que brinda el respaldo en seguridad para la validación y acceso a

Page 39: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

39

nuestras cuentas. Lo que genera con esto, la tranquilidad que el acceso a nuestra información, se encuentra debidamente protegido.

4.3.15. Modo fuera de línea. Por ultimo para este servicio está muy por delante Cloud9 IDE, Codenvy y CodeBox, que brindan herramientas para el trabajo fuera de línea y aún más importante la sincronización del trabajo realizado al estar en este modo. Lo anterior nos permite seguir desarrollando nuestras aplicaciones siempre, para luego actualizarlos en el servidor central. Con base en el resultado del estudio comparativo, se puede establecer que para los tres grandes pilares que son seguridad, operatividad y soporte, abarcadas en las 15 características planteadas para cada IDE, los proveedores que destacan son:

Cloud9 IDE. Codenvy.

Al ser estos, los que basados en lo ofrecido por cada proveedor e investigado durante este estudio, cubren de

mejor manera cada una de las características definidas.

Page 40: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

40

5. Conclusiones

1. La computación en la nube debe ser tomada como una nueva forma eficiente y segura de trabajo, en la

cual todos los recursos, son utilizados como servicios vía Internet. Dichos servicios son total y

dinámicamente escalables, con esto ha logrado posicionarse como la tendencia para el desarrollo de las

tecnologías de la información.

2. En este estudio se ha investigado, comparado y analizado las características más relevantes con las que

un IDE en la nube debe contar, asimismo se identificó que estas herramientas cuentan con varios

factores que permiten construir proyectos rápidamente, al crear y desplegar aplicaciones personalizadas

desde el propio navegador de forma segura, para lograr la optimización del recurso económico e

informático involucrado en el desarrollo y construcción de aplicaciones.

3. Se definió una lista de características que cubren aspectos de seguridad, operatividad y soporte, que permiten elegir y utilizar un IDE en la nube. Y así aprovechar al máximo el potencial que tienen estas herramientas informáticas.

4. Las características más relevantes son la utilización de repositorios GIT para el control de versiones, el

uso del protocolo SSH para conexiones seguras, permitir seguir trabajando con nuestro código fuente en modo fuera de línea y contar con el soporte para poder obtener todos los beneficios de la herramienta.

5. La utilización de un IDE en la nube nos permite tener ventaja competitiva, al poder dar una respuesta

rápida y efectiva ante la demanda del desarrollo de aplicaciones, ya que podemos tener acceso a nuestro código y su administración en cualquier momento y desde cualquier lugar.

6. Los IDE’s en la nube cambian y mejoran la forma de hacer negocios con el desarrollo de aplicaciones,

son ágiles, seguros y altamente escalables, esto los convierte en un verdadero apoyo para quienes quieren mantenerse a la vanguardia de la tecnología.

Page 41: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

41

6. Recomendaciones

1. Este trabajo de investigación puede ser utilizado como base para cualquier persona que desee

profundizar más en la funcionalidad y rendimiento de cualquiera de los IDE’s considerados y así poder

explotar y aprovechar el potencial que estas herramientas en línea pueden brindarnos.

2. Es necesario, que nuestro equipo de TI realice un análisis de las capacidades con las que contamos a

nivel informático, para poder determinar la factibilidad técnica y económica de utilizar un IDE en la nube

como herramienta de desarrollo.

3. Es necesario definir pros y contras para poder discernir si el uso de un IDE en la nube es útil para lograr

cumplir nuestros objetivos deseados, o bien; que aspectos debemos reforzar para que nuestro equipo de

desarrollo pueda realizar sus tareas de la mejor forma en este tipo de IDE’s.

4. Es indispensable antes de poner el código fuente en un IDE en la nube, informarse bien e indagar sobre

la credibilidad y respaldo con el que cuente el proveedor del servicio seleccionado.

5. No es recomendable, como en este caso, que son herramientas para desarrollo y construcción de

aplicaciones, almacenar códigos fuentes que contengan la base de la lógica de nuestro negocio.

Page 42: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

42

7. Glosario

Applets Son pequeños programas escritos en lenguaje Java, diseñados para ser ejecutados desde

internet, que pueden ser colocados en el servidor, junto con el resto de ficheros que componen

un sitio Web (documentos HTML, ficheros de imagen, sonido, etc.) para lograr múltiples efectos

con texto, imágenes, sonidos, etc.

Blu-ray También conocido como Blu-ray Disc, es el formato de disco óptico para permitir la grabación,

reescritura y reproducción de vídeo de alta definición.

Bytecode Código intermedio más abstracto que el código máquina, diseñado para la ejecución eficiente por

un software intérprete.

Git Es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y

la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran

número de archivos de código fuente.

GitHub Plataforma de desarrollo colaborativo de software para alojar proyectos utilizando el sistema de

control de versiones Git.

Grunt Es un corredor de tareas desarrollado en JavaScript con Node.js. Es utilizado para automatizar

tareas como, compilación, validación de sintaxis, pruebas unitarias, observar cambios de tus

archivos, concatenación de archivos.

Hackathon Encuentro de programadores con el fin de colaborar intensamente en proyectos de software (Es

un acrónimo en inglés de marathon y hackers).

Host Computadora conectada a una red que provee y utiliza servicios de ella.

Hosting El alojamiento web (en inglés “web hosting”).

Java Lenguaje de programación de propósito general, concurrente, orientado a objetos.

Java Card Tecnología que permite ejecutar pequeñas aplicaciones en tarjetas inteligentes y dispositivos

similares como en los SIM de los teléfonos móviles.

Node.js Es un entorno de programación en la capa del servidor basado en el lenguaje de programación

ECMAScript, asíncrono, con I/O de datos, en una arquitectura orientada a eventos.

Page 43: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

43

8. Abreviaturas

API Interfaz de programación de aplicaciones (por sus siglas en inglés “Application Programming

Interface”).

DevOps Metodología de desarrollo de software que se centra en la comunicación, colaboración e integración entre desarrolladores de software e IT (Es un acrónimo en inglés de development y operations).

DVCS Sistema de control de versiones distribuidos (por sus siglas en inglés “Distributed Versión Control

System”).

FTP Protocolo de transferencia de archivos (por sus siglas en inglés de “File Transfer Protocol”)

GUI Interfaz gráfica de usuario tiene unos componentes de usuario, incluyendo iconos, ventanas y

menús que permiten a los usuarios establecer una comunicación con las computadoras (por sus siglas en inglés “Graphical User Interface”).

IaaS Infraestructura como servicio (por sus siglas en inglés “Infrastructure As A Service”).

IDE Entorno de desarrollo integrado (por sus siglas en inglés “Integrated Development

Environment”).

Java ME Entorno robusto y flexible para aplicaciones que se ejecutan en dispositivos embebidos y móviles

(por sus siglas en ingles “Java Micro Edition”).

JVM Máquina virtual Java, capaz de interpretar y ejecutar instrucciones expresadas en un código

binario especial, el cual es generado por el compilador del lenguaje Java (Por sus siglas en

ingles “Java virtual machine”).

PaaS Plataforma como servicio (por sus siglas en inglés “Plataform as a Service”). RAM Memoria RAM, lugar que utiliza el computador para guardar los datos que está utilizando en el

momento presente (por sus siglas en inglés “Random Access Memory”).

SaaS Software como servicio (por sus siglas en inglés “Software as a Service”). SDK Kit de Desarrollo de Software, mediante éste kit podemos desarrollar aplicaciones y ejecutar un

emulador de la versión (por sus siglas en ingles “Software Development Kit”).

SFTP Protocolo de transferencia de archivos de sesión a través de SSH (por sus siglas en inglés “SSH

File Transfer Protocol”) SOA Arquitectura Orientada a Servicios (por sus siglas en inglés “Service Oriented Architecture”). SSH Protocolo criptográfico de red para asegurar la comunicación de datos (por sus siglas en inglés

“Secure Shell”).

TI Tecnologías de la información (por sus siglas en inglés “Information Technology”).

URL Localizador de recursos uniforme (por sus siglas en inglés de “Uniform Resource Locator”)

Page 44: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

44

9. Índice de figuras

Figura 1 Ciclo de vida del software Fuente: (Sitio Soluciones c, 2015) ..................................................................... 8

Figura 2 Panel de control IDE Fuente: (Sitio Alibaba en español, 2015) ................................................................ 11

Figura 3 Software como un servicio. Fuente: (Sitio Oficial IBM, 2015) .................................................................... 13

Figura 4 Plataforma como un servicio. Fuente: (Sitio Oficial IBM, 2015) ................................................................. 14

Figura 5 Infraestructura como un servicio Fuente: (Sitio Oficial IBM, 2015) ............................................................ 14

Page 45: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

45

10. Índice de tablas

Tabla 1 Índice de TIOBE para febrero 2015 Fuente: (Sitio Oficial TIOBE, 2015) ...................................................... 9

Tabla 2 Definición de Características a evaluar a los IDE’s, Fuente: Propia. .......................................................... 18

Tabla 3 Características principales Cloud9 IDE, Fuente: Propia. ............................................................................ 20

Tabla 4 Características consideradas Cloud9 IDE, Fuente: Propia. ........................................................................ 22

Tabla 5 Características principales Orion, Fuente: Propia. ...................................................................................... 23

Tabla 6 Características consideradas Orion, Fuente: Propia................................................................................... 24

Tabla 7 Características principales Compilr, Fuente: Propia. .................................................................................. 26

Tabla 8 Características consideradas Compilr, Fuente: Propia. .............................................................................. 27

Tabla 9 Características principales Codenvy, Fuente: Propia. ................................................................................ 28

Tabla 10 Características consideradas Codenvy, Fuente: Propia. .......................................................................... 29

Tabla 11 Características principales Codebox, Fuente: Propia. .............................................................................. 30

Tabla 12 Características consideradas Codebox, Fuente: Propia. .......................................................................... 32

Tabla 13 Características principales Codeanywhere, Fuente: Propia. .................................................................... 33

Tabla 14 Características consideradas Codeanywhere, Fuente: Propia. ................................................................ 34

Page 46: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

46

11. Anexos

11.1. Cuenta gratuita Cloud9 IDE.

Page 47: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

47

11.2. Cuenta gratuita Orion.

Page 48: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

48

11.3. Cuenta gratuita Compilr.

Page 49: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

49

11.4. Cuenta gratuita Codenvy.

Page 50: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

50

11.5. Cuenta gratuita Codebox.

Page 51: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

51

11.6. Cuenta gratuita Codeanywhere.

Page 52: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

52

12. Bibliografía

1. Aalbers, H. (2013). Introduccion a Cloud Computing. Recuperado el 06 de 04 de 2015, de

http://www.huibert-aalbers.com/downloads/IntroduccionCloudComputing.pdf

2. Aranda, V. T. (2015). Recuperado el 15 de 01 de 2015, de

http://www.acta.es/medios/articulos/informatica_y_computacion/034083.pdf

3. BOCCHIO, F. (s.f.). ESTUDIO COMPARATIVO DE PLATAFORMAS CLOUD COMPUTING PARA

ARQUITECTURAS PARA SOA. Recuperado el 02 de 04 de 2015, de

http://posgrado.frba.utn.edu.ar/investigacion/especialidades/Bocchio-2013_tf_esp.pdf

4. España, I. G. (s.f.). Riesgos y Amenazas de Cloud Computing. Recuperado el 29 de 03 de 2015, de

https://www.incibe.es/extfrontinteco/img/File/intecocert/EstudiosInformes/cert_inf_riesgos_y_amenazas_e

n_cloud_computing.pdf

5. España, O. G. (s.f.). Estudio retos y oportunidades Clloud Computing. Recuperado el 05 de 04 de 2015,

de http://www.ontsi.red.es/ontsi/sites/default/files/1-

_estudio_cloud_computing_retos_y_oportunidades_vdef.pdf

Page 53: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

53

13. E-Grafía

1. Sitio Architects Dzone. (2013). Recuperado el 23 de 02 de 2015, de http://architects.dzone.com/articles/5-

reasons-why-5-years-desktop

2. Sitio Alibaba en español. (2015). Recuperado el 20 de 02 de 2015, de http://spanish.alibaba.com/product-

gs/integrated-development-environment-ide-software-for-embedded-267990999.html

3. Sitio Debitoor. (2015). Recuperado el 24 de 02 de 2015, de https://debitoor.es/glosario/definicion-cloud-

computing

4. Sitio Docsetools IDE. (2015). Recuperado el 24 de 02 de 2015, de http://docsetools.com/articulos-para-

saber-mas/article_56561.html

5. Sitio Estilo de Vida. (2015). Recuperado el 20 de 02 de 2015, de

http://www.lifestylealcuadrado.com/como-reinventarse/

6. Sitio Hongkiat. (2015). Recuperado el 18 de 03 de 2015, de http://www.hongkiat.com/blog/cloud-ide-

developers/

7. Sitio Ihmc. (2015). Recuperado el 20 de 02 de 2015, de http://cmapspublic3.ihmc.us/rid=1K2C7DJ4B-

4LHCV2-1WYT/Java.cmap

8. Sitio LifeDer. (2015). Recuperado el 20 de 02 de 2015, de http://lifeder.com/frases-de-millonarios/

9. Sitio Oficial Cloud9 IDE. (2015). Recuperado el 25 de 02 de 2015, de https://c9.io/

10. Sitio Oficial Codeanywhere. (2015). Recuperado el 03 de 03 de 2015, de https://codeanywhere.com/

11. Sitio Oficial Codebox. (2015). Recuperado el 03 de 03 de 2015, de https://www.codebox.io/

12. Sitio Oficial Codenvy. (2015). Recuperado el 25 de 02 de 2015, de https://codenvy.com/

13. Sitio Oficial Compilr. (2015). Recuperado el 18 de 04 de 2015, de https://compilr.com/

14. Sitio Oficial Eclipse. (2015). Recuperado el 03 de 03 de 2015, de http://www.eclipse.org/orion/

15. Sitio Oficial IBM. (2015). Recuperado el 24 de 02 de 2015, de http://www.ibm.com/cloud-

computing/us/en/what-is-cloud-computing.html

16. Sitio Oficial IBM Developerworks. (2015). Recuperado el 30 de 03 de 2015, de

https://www.ibm.com/developerworks/cloud/library/cl-orionsummary/

17. Sitio Oficial Java Tecnologia. (2015). Recuperado el 23 de 02 de 2015, de

https://www.java.com/es/download/faq/whatis_java.xml

18. Sitio Oficial TIOBE. (2015). Recuperado el 20 de 02 de 2015, de

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

19. Sitio Soluciones c. (2015). Recuperado el 25 de 04 de 2015, de http://solucionesc.com/es/desarrollo

20. Sitio Alegsa. (s.f.). Recuperado el 31 de 03 de 2015, de

http://www.alegsa.com.ar/Dic/tecnologias%20de%20la%20informacion.php

Page 54: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

54

21. Sitio Arquitectura de sistemas uc3m. (s.f.). Recuperado el 25 de 02 de 2015, de

http://www.it.uc3m.es/labas/course_notes/debugger_es.html

22. Sitio Ayuda Codebox. (s.f.). Recuperado el 03 de 04 de 2015, de http://help.codebox.io/

23. Sitio CodeCall. (s.f.). Recuperado el 08 de 04 de 2015, de http://codecall.net/2014/07/24/top-10-best-

cloud-based-ides-for-programmers/

24. Sitio Cs Umss. (s.f.). Recuperado el 25 de 02 de 2015, de

http://www.cs.umss.edu.bo/doc/material/mat_gral_137/junit-120207132330-phpapp02.pdf

25. Sitio David Bonilla. (s.f.). Recuperado el 17 de 03 de 2015, de http://www.bonillaware.com/cloud9

26. Sitio De Ciencias. (s.f.). Recuperado el 25 de 03 de 2015, de

http://www.deciencias.net/simulaciones/paginas/appletjava.htm

27. Sitio Definicion. (s.f.). Recuperado el 25 de 02 de 2015, de http://www.definicion.org/compilador

28. Sitio Definicion De Manual de usuario. (s.f.). Recuperado el 25 de 02 de 2015, de

http://definicion.de/manual-de-usuario/

29. Sitio Definicion de Precio. (s.f.). Recuperado el 25 de 02 de 2015, de http://definicion.de/precio-de-venta/

30. Sitio Definicion Plugin. (s.f.). Recuperado el 25 de 02 de 2015, de http://definicion.de/plugin/

31. Sitio Developer. (s.f.). Recuperado el 04 de 04 de 2015, de http://www.developer.com/services/codio-a-

cloud-based-ide-for-web-development.html

32. Sitio Diclib. (s.f.). Recuperado el 25 de 02 de 2015, de

http://www.diclib.com/multiplataforma/show/es/es_wiki_10/17647#.VO6Qg4Z38Yw

33. Sitio Docsetools GUI. (s.f.). Recuperado el 25 de 02 de 2015, de http://docsetools.com/articulos-

educativos/article_11733.html

34. Sitio Documentacion Cloud9 IDE. (s.f.). Recuperado el 03 de 04 de 2015, de https://docs.c9.io/v1.0/docs

35. Sitio Documentacion Codenvy. (s.f.). Recuperado el 03 de 04 de 2015, de http://docs.codenvy.com/

36. Sitio Documentacion Orion. (s.f.). Recuperado el 30 de 03 de 2015, de

http://wiki.eclipse.org/Orion/Documentation/User_Guide/Reference/Editing_page&usg=ALkJrhgklWV350jt

GwLhFu0O1ibnl1EONg

37. Sitio Dreamcss. (s.f.). Recuperado el 28 de 03 de 2015, de http://blog.dreamcss.com/wysiwyg-editor/best-

cloud-ides-for-web-developers/

38. Sitio eHow En Español. (s.f.). Recuperado el 27 de 03 de 2105

39. Sitio Getapp. (s.f.). Recuperado el 02 de 04 de 2015, de http://www.getapp.com/it-management-

software/a/codenvy-developer-environment-cloud/

40. Sitio Git-scm. (s.f.). Recuperado el 25 de 02 de 2015, de http://git-scm.com/book/es/v1/Empezando-

Acerca-del-control-de-versiones

Page 55: ESTUDIO COMPARATIVO DE ENTORNOS DE DESARROLLO … · 2015. 7. 17. · Estudio comparativo de entornos de desarrollo integrados en la nube 7 4. Encontrar las características, ventajas

Estudio comparativo de entornos de desarrollo integrados en la nube

55

41. Sitio Grupo NTCSM. (s.f.). Recuperado el 25 de 02 de 2015, de

https://nuevastecsomamfyc.wordpress.com/2012/08/27/plataformas-de-trabajo-colaborativo/

42. Sitio Jarroba. (s.f.). Recuperado el 25 de 02 de 2015, de http://jarroba.com/aprender-a-programar-

conociendo-lo-que-es-un-entorno-de-desarrollo-integrado-ide/

43. Sitio Java World. (s.f.). Recuperado el 07 de 04 de 2015, de http://www.javaworld.com/javaworld/jw-04-

2013/130417-killer-cloud-ide-s-reviewed.html&prev=search

44. Sitio Nebaris. (s.f.). Recuperado el 05 de 04 de 2015, de http://www.nebaris.com/post/170/los-5-mejores-

ides-para-desarrollar-en-la-nube

45. Sitio Oficial Codemirror. (s.f.). Recuperado el 15 de 04 de 2015, de https://codemirror.net/

46. Sitio Oficial Codio. (s.f.). Recuperado el 03 de 03 de 2015, de https://codio.com/

47. Sitio Oficial Compilr. (s.f.). Recuperado el 01 de 04 de 2015, de https://compilr.com/

48. Sitio Oficial Ecured. (s.f.). Recuperado el 25 de 02 de 2015, de

http://www.ecured.cu/index.php/IDE_de_Programaci%C3%B3n

49. Sitio Oficial GitHub. (s.f.). Recuperado el 02 de 04 de 2015, de https://github.com/CodeboxIDE/codebox

50. Sitio Oficial Java. (s.f.). Recuperado el 20 de 02 de 2015, de https://www.java.com/es/about/

51. Sitio Programacion Blogspot. (s.f.). Recuperado el 20 de 02 de 2015, de http://programacion-

laura.blogspot.com/2011/08/entorno-de-desarrollo-integrado-ide.html

52. Sitio ProgramMableWeb. (s.f.). Recuperado el 01 de 04 de 2015, de

http://www.programmableweb.com/news/12-cloud-based-ides-boost-productivity-roi/analysis/2013/12/23

53. Sitio Pymes Autonomos. (s.f.). Recuperado el 24 de 02 de 2015, de

http://www.pymesyautonomos.com/tecnologia/aspectos-ventajas-y-desventajas-en-las-plataformas-

basadas-en-la-nube

54. Sitio Site Pro News. (s.f.). Recuperado el 23 de 03 de 2015, de

http://www.sitepronews.com/2013/12/04/top-17-cloud-based-ides-web-development/

55. Sitio Software Engineering. (s.f.). Recuperado el 29 de 03 de 2015, de

https://pragtob.wordpress.com/tag/cloud9/

56. Sitio Tech Batanga. (s.f.). Recuperado el 30 de 03 de 2015, de http://tech.batanga.com/13220/los-

mejores-ides-y-editores-para-programadores

57. Sitio Tuts. (s.f.). Recuperado el 02 de 04 de 2015, de http://code.tutsplus.com/articles/why-cloud9-

deserves-your-attention--net-19016