Art 2
Art 2
Art 2
Citación sugerida:
Valarezo Pardo, M. R., Honores Tapia, J. A., Gómez Moreno, A. S. y Vinces Sánchez, L. F. (2018).
Comparación de tendencias tecnológicas en aplicaciones web. 3C Tecnología. Glosas de Innovación aplicadas a la
pyme, 7(3), 28-49. DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49/
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
RESUMEN
Hoy en día el Internet es un gran medio de comunicación, en mayor medida, un medio de influencias
que se ve reflejado en los avances y la continua adaptación tanto de los usuarios, como de los
desarrolladores hacia él. Por ello, han surgido tendencias para el desarrollo Web como medio para
establecer un modelo a seguir, así como para ofrecer unos mejores servicios a los usuarios. En las
tendencias tecnológicas mencionadas existen diversos lenguajes de programación, herramientas y
plataformas que sirve para darnos un claro entendimiento del cómo nos brindan una velocidad eficaz
al momento de desarrollar una aplicación Web. Éstas ofrecen una gran ventaja al grupo de trabajo en
reducción de tiempo que se basan en requerimientos pre-establecidos usados en la creación de sistemas
Web. Tomando en cuenta la información investigada se obtiene información acerca de los lenguajes de
programación además plataformas, herramientas entre otras tecnologías que han mejorado de manera
general; los mismos que permiten a los desarrolladores crear un sistema con un margen de error muy
reducido en comparación con sus procesos. Para el desarrollo se orienta en los nuevos ambientes de
trabajo que han agilizado el progreso software. En el presente documento se muestra algunas de las
tecnologías que se han establecido para el óptimo desarrollo de aplicaciones Web, en la cual se empleó
una investigación de tipo analítica, bibliográfica y documental, la cual brinda información confiable,
verídica y proporciona criterios que ayudarán al desarrollo del documento.
ABSTRACT
At present, the Internet is a great means of communication, more than anything else, a medium of influence that is reflected
in the advances and the continuous adaptation of both the users and the developers towards him. That is why trends have
arisen for the Web development as a means to establish a model to follow, as well as to offer better services to users. In
the technological trends mentioned there are several programming languages, tools and platforms that serves to give us a
clear understanding of how they provide us with an efficient speed when developing a Web application which offer a great
advantage to the working group in reducing time Are based on pre-established requirements used in the creation of Web
systems. Taking into account the information investigated, we obtain information about programming languages in addition
to platforms, tools among other technologies that have improved in a general way. The same ones that allow the developers to
create a system with a margin of error very reduced in comparison with its processes. For the development is oriented in the
new work environments that have streamlined the software progress. The present document shows some of the technologies
that have been established for the optimum development of Web applications, in which an analytical, bibliographic and
documentary type of research was used, which provides reliable, truthful information and provides criteria that will help
the Development of the document.
30
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
PALABRAS CLAVE
Tendencias Web, Lenguajes de programación, Herramientas.
KEY WORDS
Trends Web, Programming languages, Tools.
31
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
1. INTRODUCCIÓN
El desarrollo de aplicaciones Web ha sido una de las industrias más evolutivas en la ingeniería
de software reciente. Esta evolución también se ha asociado a la aparición de nuevos lenguajes
de programación, herramientas y metodologías para el desarrollo de aplicaciones Web, aunque
representan preocupaciones adicionales que los desarrolladores de software deben abordar. La
administración de la complejidad del software y la adecuada selección de herramientas de desarrollo
se convierten en vitales para el proceso de gestión del cambio asociado al desarrollo de software
Web. Esto se debe a que un proceso defectuoso puede conducir a problemas de productividad y
mantenimiento.
Las personas que se dedican al desarrollo de aplicaciones podrían considerar esto como un desafío,
ya que los avances tecnológicos de estos últimos años exigen aplicaciones más rápidas, ligeras y
robustas que permitan utilizar la Web. Sin lugar a dudas, Internet es una de las últimas tecnologías
que más rápidamente se está desarrollando para su introducción en los hogares, organizaciones,
instituciones, etc.
Este tipo de problemas son muy comunes no sólo en el desarrollo de aplicaciones Web, sino en la
ingeniería de software en general. En la actualidad, los desarrolladores disponen de un sinnúmero
de tendencias tecnológicas en lo que respecta a la construcción de las aplicaciones Web. Esto es
debido a la mejora de servicios que prestan las herramientas de desarrollo lo que hace posible
alcanzar la calidad y eficiencia que se busca obtener en una aplicación Web.
A partir de esto se plantea el objetivo de analizar las tendencias tecnológicas implementadas
en aplicaciones Web a través de la recolección de información bibliográfica y de campo para el
conocimiento de las características y beneficios que presentan estas tecnologías.
2. FUNDAMENTOS TEÓRICOS
2.1. APLICACIONES WEB
Según Lujan Mora (2002), Las aplicaciones Web son aquellas herramientas donde los usuarios
pueden acceder a un servidor Web a través de la red mediante un navegador determinado. Por lo
tanto, se define como una aplicación que se accede mediante la Web por una red ya sea intranet
o Internet. Por lo general se menciona aplicación Web a aquellos programas informáticos que son
ejecutados a través del navegador.
32
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
Tal y como señala Carles Mateu (2004), en sus inicios, la Web se trataba de documentos, es decir
páginas estáticas, por lo tanto solo existía la posibilidad de descargarlas y consultarlas a la vez. De
aquí nace la necesidad de crear sitios dinámicos, y para ello se utilizó un método llamado CGI
(Common Gateway Interface), pero este método presentaba problemas de rendimiento si la Web
tenía varios accesos al CGI y por otro lado la carga para la máquina del servidor.
Se define una aplicación Web como un programa informático o sitio Web que ejecuta en el
Internet sin necesidad de una instalación en el ordenador, tan solo con el uso de un navegador,
ya que se programa en lenguaje HTML.
Para solucionar este problema surgieron 2 tipos de soluciones, la primera construir sistemas de
ejecución de módulos integrados al servidor, y la segunda, utilizar un lenguaje de programación de
tal manera que el servidor interprete comando en las páginas HTML. El funcionamiento de la Web
se fundamenta en el protocolo HTTP y el lenguaje HTML, donde HTTP se trata de un sistema
de comunicaciones. Esto permite enviar ficheros de manera simple y sencilla entre los servidores y
HTML brinda un módulo de estructura de páginas altamente eficientes y fáciles de usar.
Por último, se define una aplicación Web como un programa informático o sitio Web que ejecuta en
el Internet sin necesidad de una instalación en el ordenador, tan solo con el uso de un navegador, ya
que se programa en lenguaje HTML. Brinda contener múltiples ventajas para los usuarios como:
acceder a la información de manera ágil y sencilla, recolectar y guardar información, etc.
33
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
34
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
como Visual Basic, Java o C++ y las ajusta en uno solo. A pesar de ser muy nuevo no se trata de
un lenguaje inexperto, pues Microsoft ha escrito la mayor parte de la BCL usándolo, por lo que su
compilador es el más depurado y optimizado de los incluidos en el .NET Framework SDK (Seco,
2010).
35
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
36
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
3. METODOLOGÍA
La presente investigación, es de tipo analítica y documental, permitiendo así analizar e interpretar
la información que se ha obtenido en diversos tipos en fuentes. Al referirnos a la investigación
documental se toma en cuenta a sus subdivisiones de investigación, las cuales son bibliográfica y
hemerográfica.
La investigación bibliográfica se puede definir como aquella etapa de la investigación científica donde
se explora qué se ha escrito en la comunidad científica sobre un determinado tema o problema. Por
otra parte, el tipo hemerográfica hace referencia a la búsqueda de conceptos, teorías, criterios, en
libros, revistas, periódicos y otro tipo de material impreso (Cortés Cortés e Iglesias León, 2004).
Para obtener resultados claros se leyeron artículos sobre desarrollo de aplicaciones Web de los cuales
se tomaron en cuenta los más resaltantes respecto a información de los lenguajes de programación
utilizados para el desarrollo de dichas aplicaciones, también se aplicó una encuesta a todas las
empresas de software de la provincia de El Oro.
La investigación ha sido diseñada para que se puedan identificar diversas características o aspectos
en los lenguajes de programación considerados en las aplicaciones Web ya existentes. Es muy
importante tener en cuenta estas características, ya que ayudarán de manera eficaz al momento de
seleccionar un lenguaje de programación de acuerdo al objetivo que conlleve la aplicación Web a
desarrollarse, a continuación, se mencionan cada uno de estos:
Tabla 1. Aspectos de los lenguajes de programación.
Costo de Al momento de elegir un host casi siempre lo primero que se considera es el precio, aunque no es un
Servidor factor decisivo, ya que la oferta más barata que se encuentre no necesariamente es la mejor idea.
La sintaxis es el conjunto de reglas que se debe seguir para compilar la aplicación Web, al elegir un
Sintaxis de
lenguaje de programación es importante saber con qué sintaxis trabaja y comparar con nuestra sintaxis
lenguaje base
de desarrollo.
Orientado a Se trata de un paradigma de programación que utiliza objetos en sus respectivas interacciones, utiliza
objetos múltiples técnicas como son cohesión, herencia, polimorfismo, etc.
El propósito o la funcionalidad que tendrá la aplicación Web a desarrollarse siempre será un aspecto muy
Propósito
importante para seleccionar un lenguaje de aplicación.
Apoyo de Se debe contar con documentación necesaria que permita el desarrollo de la aplicación mediante el
aprendizaje lenguaje de programación.
Ambiente de
El objetivo de un entorno de programación es dar el soporte a la construcción aplicaciones en general.
desarrollo
Fuente: autores.
37
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
38
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
Implementación del Portal Web 2.0 para la Mancomunidad de la Cuenca del Río Mira
Ruby Comercial
(Realpe Rosero, 2012).
Desarrollo de una aplicación Web para la gestión de Entornos Virtuales (Almaraz
Java Contable
Hernández, Campos Cantero y Castelo Delgado, 2011).
Diseño de sistema de gestión de inventario utilizando Tecnología ruby on rails (Asqui
Ruby Administrativo
Contreras, 2015).
Visualización de redes de conceptos Cientıfico-tecnicos (Santonja Merino, 2014). Python Educativo
Aplicación distribuida Web-móvil administrable para la gestión y difusión geo-localizada de
atractivos turísticos y hoteles para la ciudad de Ibarra, con tecnología gis y software libre Java Comercial
(Morales de la Torre, 2013).
Desarrollo de un sistema de información Web centralizado para la CANTV del Estado de
PHP Comercial
Mérida (Infante, K. 2009).
Aplicación Web para la Gestión de Memorias y Apuntes (Jiménez Lecroc, 2014). Ruby Educativo
Análisis, diseño e implementación de la aplicación Web para el manejo del distributivo de la
Java Administrativo
facultad de Ingeniería (Aguilar Riera, Dávila Garzón, 2013).
Aplicación Web para la administración online de citas médicas en el centro médico de
PHP Administrativo
orientación y planificación Familiar cemoplaf-otavalo (Franco Nicolalde, 2013).
Aplicación Web Para La Administración De Los materiales almacenados en las bodegas de
Python Administrativo
la empresa constructora coinfra s.a. (Zambrano Loor y Echeverría Hidrovo, 2014).
Fuente: autores.
4. RESULTADOS
Las tendencias para el desarrollo han sido de gran importancia en la historia del software y del Internet.
Estas se basan en los avances técnicos y tecnológicos en el campo de la informática que proveen de
mucha ayuda para facilitar el trabajo del programador, además de que estas tendencias han sido
capaces de cambiar totalmente la manera en que se realiza un trabajo.
Cabe recalcar que los lenguajes de programación identificados en las aplicaciones Web existes: PHP,
Java, Python y Ruby son tendencias tecnológicas mundiales, según la IEEE Spectrum en su artículo
sobre los lenguajes de programación más usados en el año 2016, se evidencia el gran uso del lenguaje
Python, Java, JavaScript, Ruby, Go, C# y PHP, aunque Ruby y PHP ocupan el cuarto y séptimo puesto
respectivamente, no dejan de ser tendencias en el desarrollo Web.
Actualmente, en la provincia de El Oro, Ecuador, las empresas dedicadas al desarrollo de software
son diecinueve. En base a esto se afirma que la población es pequeña y no se necesita utilizar cálculos
muéstrales, por tanto, resulta óptimo escoger todas las organizaciones dedicadas a esa actividad.
39
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
40
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
41
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
se describe cada uno de las características mencionadas con anteriormente, a esto se agregó la
empresa, sistemas operativos y soporte a móviles.
Tabla 3. Comparativa de los lenguajes de programación PHP, Java, Python y Ruby.
Concepto PHP Java Python Ruby
Costo de servidor Gratuito Gratuito Gratuito Gratuito
Sintaxis de lenguaje Perl, Smalltalk, Eiffel,
C / C++ C/ C++ C/ C++
base Ada, y Lisp
Orientado a objetos No completamente Si Si Si
Sistemas operativos Linux o Windows Linux o Windows Linux o Windows Linux o Windows
Apache, compilador Apache, Tomcat y Apache, compilador Apache, compilador
Servidor
propio Glassfish propio propio
Python software
The PHP Group (Open Grupo Ruby (Open
Empresa Oracle (Open source) foundation(Open
source) source)
source)
Base de datos
MySQL Oracle, MySQL MySQL y PostgreSQL MySQL y PostgreSQL
(principalmente)
Generar Generar Enfatiza la Código “divertido” y
Propósito dinámicamente dinámicamente productividad y la fácil de modificar por
páginas Web páginas Web lectura fácil del código parte del desarrollador.
Mucha, pero Mucha, pero Mucha, pero Menos, pero
descentralizada. descentralizada. descentralizada. descentralizada.
Apoyo de aprendizaje No hay una entidad No hay una entidad No hay una entidad No hay una entidad
que de forma oficial que de forma oficial que de forma oficial que de forma oficial
centralice la ayuda centralice la ayuda centralice la ayuda centralice la ayuda
Soporte a móviles
(todos por medio de Native: android
un browser)
Eclipse y otras Eclipse, Netbeans y Eclipse, Netbeans y Eclipse, Netbeans y
Ambiente de
herramientas Open otras herramientas otras herramientas otras herramientas
desarrollo
Source Open Source open Source Open Source
Soporte a móviles
(todos por medio de Native: android
un browser)
Eclipse y otras Eclipse, Netbeans y Eclipse, Netbeans y Eclipse, Netbeans y
Ambiente de
herramientas Open otras herramientas otras herramientas otras herramientas
desarrollo
Source Open Source open Source Open Source
Fuente: autores.
42
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
5. DISCUSIÓN Y CONCLUSIONES
En la Tabla 3 los criterios indican, de cierta forma, las fortalezas o debilidades de los lenguajes de
programación, aunque cabe recalcar que el lenguaje de programación que se use siempre va a
depender del objetivo de la aplicación Web a desarrollarse.
Se puede observar que los 4 lenguajes que poseen la ventaja de ser multiplataforma, son capaces
de conectarse con base de datos como MySQL, PostgreSQL, Oracle, SQL Server, entre otras. La
sintaxis de programación que maneja cada uno de ellos es muy similar a C/ C++ y además se
puede encontrar bastante información que facilite el desarrollo de una aplicación Web de acuerdo
a cada lenguaje.
PHP, es un lenguaje libre de script interpretado que se ejecuta al lado del servidor, por lo que
no necesita instalación del lado del cliente, es combinado mediante código HTML y orientado a
objetos en cierta medida.
Python es un lenguaje de programación libre de propósito general, su código es interpretado por lo
que podría ser relativamente lento, contiene gran variedad de librerías y es orientado a objetos. Ruby
se trata de un lenguaje libre de alto nivel orientado a objetos, permite un desarrollo a bajo costo,
maneja excepciones y es portátil, al ser un lenguaje nuevo no cuenta con mucha documentación en
relación con otros lenguajes.
Y por último, se describe Java como un lenguaje multiplaforma orientado a objetos, lo que permite
su modularización, además, posee soporte a desarrollo de aplicaciones móviles, es un lenguaje
interpretado y muy documentado, por lo que es fácil de aprender. Existen muchos frameworks que
hacen más fácil y rápida la creación de las aplicaciones.
Se realizó la comparación entre los lenguajes orientados al desarrollo de páginas Web más
reconocidos, relevando sus igualdades y diferencias, a través de los criterios transversales y los
específicos. Teniendo esto presente, se puede concluir que:
Los lenguajes de programación expuestos en el desarrollo del trabajo, presentan similares
características las cuales nos brindan un óptimo beneficio al momento de desarrollar ágilmente
aplicaciones Web diferenciadas entre sí, más no por su conceptualidad sino por su implementación
y estructura. Este hecho permite obtener una visión y enfoque del desarrollo más productivo de
aplicaciones Web.
La información rescatada de distintas fuentes y los resultados de la encuesta aplicada a las empresas
de la provincia de El Oro como medio de comparativa permitió el análisis eficaz de los diferentes
43
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
lenguajes orientados al desarrollo de aplicaciones Web con criterios específicos, lo cual ayudó a
precisar los resultados. Es necesario un estudio más a fondo de los diferentes lenguajes y nuevas
formas de medir sus características, así como también sus funciones dentro del desarrollo de una
empresa.
Con esta comparativa podemos justificar que los lenguajes orientados al desarrollo de
aplicaciones Web de tienen ventajas y desventajas, y en definitiva, la elección será siempre
subjetiva.
Finalmente, con esta comparativa podemos justificar que los lenguajes orientados al desarrollo de
aplicaciones Web de tienen ventajas y desventajas, y en definitiva, la elección será siempre subjetiva.
El mejor lenguaje para el desarrollo de aplicaciones será aquel que mejor encaje en las preferencias
de cada usuario o de la empresa, y sirva mejor al fin que se persigue. Por lo general, el costo,
portabilidad, tecnología y seguridad son los cuatro aspectos más importantes que permiten definir
que lenguaje es el indicado para el desarrollo de aplicaciones Web.
44
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
6. REFERENCIAS BIBLIOGRÁFICAS
Aguilar Riera, E. G. y Dávila Garzón, D. A. (2013). Análisis, diseño e implementación de la aplicación
web para el manejo del distributivo de la facultad de Ingeniería. (Trabajo de Final de Grado). Facultad
de Ingeniería, Universidad de Cuenca, Ecuador. Recuperado de: http://dspace.ucuenca.edu.
ec/bitstream/123456789/4303/1/tesis.pdf
Almaraz Hernández, J. M., Campos Cantero, P. y Castelo Delgado, T. (2011). Desarrollo
de una aplicación Web para la gestión de entornos virtuales. (Trabajo de Final de Grado). Facultad
de Informática, Universidad Complutense de Madrid. Recuperado de: http://eprints.ucm.
es/13083/1/Memoria_SI_Final.pdf
Arias, A. (2014). Aprende a programar con Ruby on Rails. Madrid, España: IT Campus Academy.
Asqui Contreras, F. A. (2015). Diseño de sistema de gestión de inventario utilizando tecnología Ruby on Rails.
(Trabajo de Final de Grado). Facultad de Ciencias Matemáticas y Físicas, Universidad de
Guayaquil. Recuperado de: http://repositorio.ug.edu.ec/bitstream/redug/10370/1/PTG-
684%20Asqui%20Contreras%20Franklin%20Andr%C3%A9s.pdf
Catalán García-Manso, A. M. (2009). Análisis, diseño e implementación de un sitio web departamental.
Creación, modificación y almcenamiento de contenidos. (Tesis Doctoral). Escuela Politécnica Superior,
Universidad Carlos II de Madrid. Recuperado de: http://e-archivo.uc3m.es/bitstream/
handle/10016/7486/PFC_ADOLFO_MIGUEL_CATALAN.pdf ?sequence=2
Cerezo, Y., Peñalba, O. y Caballero, R. (2007). Iniciación a la programación en C#: un enfoque práctico.
Madrid, España: Delta Publicaciones.
Challenger, I., Díaz, Y. y Becerra, R. (2014). El lenguaje de programación Python. Ciencias
Holguín, I(1), pp. 1-13.
Chavez, S. B., Martín, A. E., Rodríguez, N., Murazzo, M. A. y Valenzuela, A. (2012).
Metodología AGIL para el desarrollo SaaS. XIV Workshop de Investigadores de Ciencias de la
Computación. Red de Universidades con Carreras en Informática (RedUNCI).
Cholca Campés, B. G. (2014). Desarrollo de una aplicación web de pedidos y facturación para la empresa
oftálmica Elens. (Trabajo Final de Grado). Escuela Tecnológica Nacional, Quito. Recuperado
de: http://docplayer.es/6656835-Escuela-politecnica-nacional.html
45
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
46
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
47
3C Tecnología. Glosas de Innovación aplicadas a la pyme. ISSN: 2254-4143
48
Ed. 27. Vol.7 Nº 3. Septiembre-Diciembre 2018
DOI: http://dx.doi.org/10.17993/3ctecno.2018.v7n3e27.28-49
49