E Utb Fafi Sist 000338
E Utb Fafi Sist 000338
E Utb Fafi Sist 000338
PROCESO DE TITULACIÓN
DICIEMBRE 2021 – ABRIL 2022
INGENIERÍA EN SISTEMAS
TEMA:
ESTUDIO COMPARATIVO DE LAS TECNOLOGÍAS PARA EL
DESARROLLO DEL BACK-END “NODEJS” Y “PHP".
EGRESADO(A):
KERLY LUCIA VALLEJO CANO
TUTOR:
ING. ANA DEL ROCIÓ FERNANDEZ TORRES
tecnologías para el desarrollo del back-end “NodeJS” y “PHP”, como objetivo principal
el desarrollo de un proyecto?.
dándose a conocer nuevas tecnológicas para la implementación del mismo siendo una
necesidad el dicho conocimiento siendo unas que otras de fácil acceso y aprendizaje.
al elegir que tecnología de desarrollo web debemos utilizar, el desarrollo cuenta para las
tecnologías que tienen más demanda en el mercad o por lo tanto le hablare de NodeJS es
transformaron de algo que solo podía ejecutarse en el navegador en algo que se puede
ejecutar en los ordenadores como una aplicación independiente. Mientras que PHP solo
se ejecuta del lado del servidor, pero no en tiempo real también tiene su demanda, en la
misma que ayudo a saber las diferencias de cada una de estas tecnológicas para el
estudio comparativo con el objetivo de dar a conocer las dos tecnologías más ágiles en el
desarrollo de aplicaciones del lado del backend de una manera fácil y segura.
DESARROLLO
que se encarga de que toda la lógica del aplicativo web funcione. Este se trata de un sin
número de funciones que pasan por la web y no la vemos porque se comunican del lado
del servidor.
lógica del sitio web para el mismo funcione, de su utilidad o preferencia utilizan varios
códigos de lenguajes de programación como NodeJS, PHP, Java o .Net, con todo esto la
nos muestra muchos sobre su rendimiento de la página, por los múltiples procesos que se
Según Ravoof define “Los sitios web y las aplicaciones son tan comunes hoy en
día que es fácil darlos por sentado. Pero detrás de cada desarrollo de un sitio web o de
una nueva función genial hay una combinación de código y tecnología que lo hace
frontend sin el backend no se puede vivir, para el enlace de estas dos tecnologías se
necesita crear proyectos a la medida, los desarrolladores del backend son más racionales,
• La simplificación de procesos.
• Acciones lógicas.
• Uso de librerías
• Servidor
• Base de datos
• Api
Figura 1: Habilidades para el desarrollo backend
Fuente: (InterviewBit, 2021)
Laura Fitzgibbons define como “El back end se refiere a las partes de una aplicación
se denomina capa de acceso a los datos del software o del hardware e incluye cualquier
(Fitzgibbons, 2019)
desventajas y sintaxis para el fácil y rápido desarrollo del backend para las aplicaciones
NodeJS y PHP:
¿Cuáles son las ventajas y diferencias entre NodeJS y PHP en el entorno del
Por causa a las limitaciones del tiempo los pequeños ejemplos de prueba como
para dar a conocer sus sintaxis, gestor de paquetes, conexión a la base de datos y su
rendimiento.
clases y valga la redundancia a objetos, son llamados como clases para estructurar
funcional para el desarrollo del backend tenemos LISP, Ml, Haskell, F#, Clojure,
SQL.
Los factores fundamentales para el desarrollo del backend tenemos las habilidades y los
lenguajes de programación, está de más decir que para desarrollar se necesita un conjunto
como HTML y CSS, aunque no se lo use para el Frontend se debe tener estos
NodeJS
mundo de JavaScript. Empleado sobre las bases del motor V8 de Chrome, su entorno es
JavaScript del lado del servidor. Este permitirá que una vez ya desarrollada se pueda
ejecutar en diferentes sistemas, podemos decir que NodeJS nos brinda un conjunto de
ejecución ha superado los mil millones de descargas desde el 2018 y según (W3techs,
W3techs.com, 2022) la tecnología NodeJS ha sido utilizada por el 1,2% de todos los sitios
webs del mundo, calculando que son más de 20 millones de sitios webs.
Dado por entender que NodeJS utiliza menos hilos o subprocesos, utiliza
menos recursos del computador, lo que facilita la ejecución rápida de las tareas.
Figura 4: Servidor tradicional y servidor en NodeJS con sus procesos
Fuente: (Capan, 2013)
En la Figura 4 podemos visualizar dos tipos de servidores primeramente
ingresen más solitudes las pone en espera hasta que un subproceso esté disponible,
subproceso.
Características de NodeJS
alto rendimiento.
✓ Velocidad. - al ejecutarse los hilos sin bloqueo hace que NodeJS sea más
rápido y eficiente.
✓ Respaldo. - este framework para backend está escrito en C y C++, por esto
✓ Multiplataforma. - nos da gran ventaja por permitir crear sitios web SaaS,
lenguaje.
Al empezar hablar de Node.js, una de las cosas que tenemos que tener en cuenta
paquetes que utiliza las herramientas NPM, ya que este gestor nos permite la
pueden usar que están disponibles públicamente por medio de una sencilla
En Node.js junto a Express.js estos también pueden ser utilizados para la creación
casos de uso. Tenemos algunos contenidos para estar a favor y en contra de este
Ventaja:
El rastreador recibe la respuesta HTML completa, que es más compatible con SEO
que una sola página o una aplicación Websockets que se ejecuta en Node.js.
Desventajas
Las CPU con uso intensivo de cómputo evitan que Node.js responda, por lo que
relacionales, hágase un favor y elija cualquier otro entorno, como Rails, Django o
ASP.NET MVC.
https://nodejs.org/en/.
Desde Linux con los comandos Sudo apt update, Sudo apt install nodejs.
es un lenguaje de secuencias de comandos del lado del servidor para el desarrollo web y
cambiado significativamente desde el año pasado. Pero con la aceptación de los Fibers
para PHP 8.1, nos da entender que el 84% no usa ninguna biblioteca, el 7% usa ReactPHP,
de PHP puro. Su popularidad de PHP sigue siendo la más alta en Francia: el 43% de los
actualidad. Según (W3techs, W3techs.com, 2022) nos comenta que PHP es usado por el
78% de todos los sitios webs que utilizan un lenguaje de programación del lado del
servidor. Con esto podemos decir que PHP no está muerto y juega un papel importante al
Los desarrolladores junior son más propensos a aprender Java y Python, mientras
No sorprende que los lenguajes más estudiados sean también los más populares:
Python, Java, JavaScript y TypeScript. Los dos últimos parecen ser cada vez más
✓ Se puede conectar a casi todos los motores de bases de datos que se utilizan
✓ Contiene muchos documentos en el sitio web oficial, entre los cuales los
archivo de ayuda.
como extensiones.
✓ Es de fácil instalación
base de datos
es HTML.
propio servidor.
tendremos problemas.
✓ Sus variables no son tipadas, esto provoca que sea difícil que los IDEs
paquetes todo en uno solo desde el programa Xampp y WampServer son dos de
PHP.
caso NodeJS tiene sus ventajas a favor de PHP. La demanda en estas tecnologías podemos
decir en su tiempo PHP tubo su curva alta, pero ahora en el desarrollo del Backend es
Bases de datos
base de datos más reconocida para crear sitios web PHP. Como lo habías hablado
anteriormente, es una parte de la popular pila de código abierto LAMP (Linux, Apache,
MySQL y PHP). También es posible el uso de base de datos NoSQL como MongoDB
con PHP.
En Node.js es más apropiado para el trabajo con base de datos NoSQL o cómo MongoDB
y CouchDB. Pero también se puede trabajar con bases de datos SQL, pero muchos de los
desarrolladores eligen y prefieren bases de datos NoSQL con Node.js. Con el soporte de
JSON incorporado, Node.js trabaja muy bien con las bases de datos NoSQL. MongoDB
intensivas de E/S, como sitios web de transmisión de video, aplicaciones de una sola
página y otras aplicaciones web. PHP significa preprocesador d e hipertexto. PHP es uno
de los lenguajes de secuencias de comandos del lado del servidor que está integrado en
una página web o se puede ejecutar como una secuencia de comandos (al igual que Perl)
Google Trends sobre estas dos tecnologías la comparación cuenta con un cálculo de
búsqueda de los ultimo 5 años hasta la actualidad, nos da a visualizar como estas dos
herramientas en el desarrollo del backend están en competencia observando que PHP está
en una gran curva de descenso y NodeJS manteniéndose muy constante pero no será por
mucho tiempo ya que es de mucha facilidad para los desarrolladores facilitando su trabajo
Base de comparación
entre Node.js vs PHP Node.js PHP
Performance
1. Aplicaciones CRM
personalizadas
2. Solicitud de
aplicaciones web de
1. Back-End (incluidas entrada
las API) 3. Integración
2. Completa pila inmobiliaria con
RETS
3. Interfaz
4. Aplicaciones de
4. Ops / DevOps concesionario
Áreas de enfoque de automotriz
5. Aplicaciones de
desarrollo
escritorio 5. Soluciones
6. Móvil relacionadas con la
salud
7. IOT
6. Desarrollo de
8. Seguridad aplicaciones
móviles.
7. Integración de sitio
web ERP
8. Calendarios PHP
personalizados
9. Servidores PDF
encriptados
1. Asíncrono y
controlado por
1. Web específica y de
eventos.
código abierto.
2. Muy rápido.
2. Integrado en
3. Rosca simple pero archivos HTML de
Características altamente escalable. estatinas.
4. Sin almacenamiento 3. Acceso rápido a una
en búfer. base de datos.
5. Con licencia
• Correcciones
rápidas del lado del • Amplia base de
servidor código
En NodeJS los eventos de PHP tiene una base de
JavaScript el bucle y se código muy amplia y rica
puede atender de múltiples que nos permite el
eventos. Eso hace que el desarrollo rápido de
Node.js sea una de buenas aplicaciones web.
opciones para el uso de
aplicaciones asíncronas, • Portátil
que están basadas en datos PHP es muy fácil de
que trabaja en el flujo de transportar, es decir, está
vinculadores pesados de diseñado para ejecutarse en
E/S. NodeJS nos garantiza cualquier servidor como
Comparación de un buen rendimiento en el Nginx, Apache y también
rendimiento tiempo de ejecución. en cualquier plataforma
• One lLanguage como Windows, Linux. El
Across the Stack código debe escribirse solo
una vez.
El uso de Node.js garantiza
• Diseñado para la
que se utilice un lenguaje
de programación en toda la web
pila de desarrollo de PHP a diferencia a otros
aplicaciones. El uso del lenguajes de programación,
mismo lenguaje para las este diseñado para la
funciones de front-end y creación de aplicaciones
back-end garantiza la web.
capacidad de
mantenimiento de la
aplicación.
• flexibilidad
Node.js tiene pocas reglas y
restricciones. Esto nos
facilita la creatividad en el
desarrollo de aplicaciones
web.
1. Facebook
2. Wikipedia
3. Baidu
1. PayPal 4. Yahoo!
2. LinkedIn 5. Tumblr
3. Yahoo! 6. Flickr
4. Mozilla 7. WordPress
5. Netflix 8. MailChimp
Los usuarios
6. Uber 9. Biblia LAD
7. Groupon 10. Birchbox
8. Ve papi 11. SeatGeek
9. Ebay 12. Fotolia
13. Flipkart
14. Digg
15. iStockPhoto
Dado por concluido el análisis del estudio comparativos de las tecnologías NodeJS
y PHP en el desarrollo del Backend, diciendo que la implementación de NodeJS del lado
del servidor es muy factible, siempre y cuando los proyectos realizados en una de estas
con regularidad también se ha demostrado el potencial de cada uno, pero uno del otro
tiene su ventaja.
a gran escala que necesitan soportar múltiples solicitudes dentro del servidor. Las E/S
opción favorable para las aplicaciones en tiempo real y de múltiples flujos de datos.
llamadas Google Trends la misma que nos permite visualizar las búsquedas que los
desarrolladores realizan en el día a día, pudiendo observar que Nod eJS hasta la actualidad
baja pero mientras toda aplicación necesite un Backend robusto no dudaran en usarla.
Desde otra grafica tenemos a PHP que desde sus inicios en los años 1995 creando
actualidad ha llegado solo hasta la versión 8.1.2 y un mensaje de desilusión publicado por
sus propios desarrolladores diciendo que PHP no recibirá más actualizaciones dando
robusto que es y este sirve para enlazar diversas tecnologías de Frontend como Angular,
Flutter, React.
multiplataforma, por otro lado, PHP se puede utilizar peor a futuro puede tener varias
Fitzgibbons, L. (16 de Mayo de 2019). Front end and back end. Obtenido de WhatIs.com:
https://whatis.techtarget.com/definition/front-end
InterviewBit. (21 de Junio de 2021). Backend developer skills you must have. Obtenido de
InterviewBit: https://www.interviewbit.com/blog/backend-developer-skills/
Stack Overflow. (12 de Marzo de 2022). Obtenido de Stack overflow developer survey 2021:
https://insights.stackoverflow.com/survey/2021
W3techs. (19 de marzo de 2022). W3techs.com. Obtenido de Usage statistics and market share
of Node.Js, march 2022: https://w3techs.com/technologies/details/ws-nodejs
W3techs. (19 de Marzo de 2022). W3techs.com. Obtenido de Usage statistics and market share
of PHP for websites, march 2022: https://w3techs.com/technologies/details/pl-php
ANEXOS
Guía de Observación
Determinar la seguridad de
desarrolladores. proyecto.