SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Lenguajes y frameworks
 para aplicaciones web
   ¿Cuántos son necesarios?

       Antonio Ognio
     antonio@ognio.com
¿Cuántos lenguajes y
   frameworks debo
conocer para desarrollar
   aplicaciones web?
...al menos 3:

HTML, CSS y Javascript
...pero idealmente

TODOS LOS QUE PUEDAS
...al principio de los tiempos

    EN LOS AÑOS 90's
Principales aportes:
● CGI al alcance de las masas
● Navaja suiza para procesar texto

● Scripts para gestionar infraestructura

● CPAN, enorme librería de módulos
Principales aportes:
● Muy baja barrera de entrada
● Ha hecho posible un gran número de sitios web

● Disponible en casi todas las plataformas

● Rendimiento aceptable en general

● Gran cantidad de proyectos opensource
...en plena burbuja de Internet

   ALREDEDOR DEL 2000
Principales aportes:
● Una plataforma unificada: JVM independiente el
HW y el sistema operativo
● Herramientas de corte corporativo con enfoque


en la escabalabilidad y la mantenibilidad de la
infraestructura
● Gran laboratorio de frameworks usando distintos


patrones de diseño
● Gran ecosistema de productos y herramientas


tanto comerciales como opensource
Principales aportes:
● Hizo popular el uso de web services (SOAP)
● Simplificó la librería de clases de un framework


corporativo significativamente
● Popularizó el concepto de poder usar distintos


lenguajes y librerías de clase sobre una sola máquina
virtual
● Pionero en soportar lenguajes dinámicos y


lenguajes funcionales a nivel de la máquina virtual
...un poco después

ALREDEDOR DEL 2005
Principales aportes:
● Demostró que se puede tener alta productividad
escribiendo poco código y conservando la cordura
● Demostró que el código de las aplicaciones web


puede ser fácil de leer y mantener
● Revalorizó y popularizó el concepto de DSL o


lenguajes de dominio específico
● Posiblemente la herramienta más integrada con la


corriente “Web 2.0” a todo nivel
● Ayudó a popularizar temas como testing, control de


código, RESTful webservices, etc
Principales aportes:
● Popularizó el concepto de “aplicaciones
reutilizables” fáciles de “enchufar” en cualquier
proyecto
● Alternativa a Ruby/Rails para los que prefieren un


enfoque de programación dinámica pero menos
“magia”
● Ayudó a popularizar el uso de Python en


aplicaciones web ya que anteriormente el espacio
estaba demasiado fraccionado
...en la actualidad

DESDE EL 2008 EN ADELANTE
Principales aportes:
● Está ayudando a popularizar la programación de
servicios de red orientados a eventos
● Un solo lenguaje de programación en el lado del


cliente y del servidor
● No solo web: también correo, DNS, proxy,


balanceo de carga, protocolos a la medida
● Construcción de componentes de red


especializados hechos a la medida de la aplicación
Compojure
Principales aportes:
● Lenguajes diseñados para escalar hacia arriba y hacia
abajo sobre plataformas populares: JVM y CLR
● Excelente rendimiento ahora que las máquinas


virtuales tiene casi 20 años de optimizaciones
● Permiten capitalizar herramientas del presente (OOP)


e ir construyendo herramientas del futuro
(Programación Funcional)
● Diseñados para facilitar enormemente el diseño e


implementación de aplicaciones distribuídas que saquen
provecho del procesamiento paralelo
¿Porqué no seguir
 con PHP ó Java?
¿Porqué no seguir con PHP ó Java?
● Ambos son lenguajes menos expresivos que otras
alternativas como Python, Ruby ó Scala
● Contienen un gran número de pequeños errores de


diseño e implementación que se van sumando
● La cantidad y la calidad de las librerías modernas y


bien mantenidos para ambos lenguajes ha venido
decayendo en los últimos años
● El mercado de programadores de ambos lenguajes


lamentablemente está plagado de gente con poca
experiencia o que no está dispuesta a estar
actualizando conocimientos permanentemente
..no solo frameworks

  HERRAMIENTAS
 INDISPENSABLES
Principales aportes:
● Control del código fuente de las aplicaciones y de la
infraestructura
● Servicios de almacenamiento de datos no-relacionales


 y altamente escalables
● Integración contínua para la detección temprana y


automática de fallos
● Gestión de la infraestructura virtual como si se


tratara de software (Chef)
● Procesamiento de enormes volúmenes de datos
Gracias!

  Antonio Ognio
antonio@ognio.com

Mais conteúdo relacionado

Mais procurados

Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y ProcesadorMario Alberto Antonio Lopez
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidosJC Alca Arequi
 
Cuestionario de Active Directory
Cuestionario de Active DirectoryCuestionario de Active Directory
Cuestionario de Active Directorycesartg65
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
2.4 Listas de control de Acceso - IPv6
2.4 Listas de control de Acceso - IPv62.4 Listas de control de Acceso - IPv6
2.4 Listas de control de Acceso - IPv6David Narváez
 
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónPrueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónCristi Coba
 
Sesion 7 2 diseño diagramas de despliegue
Sesion 7 2 diseño   diagramas de despliegueSesion 7 2 diseño   diagramas de despliegue
Sesion 7 2 diseño diagramas de despliegueJulio Pari
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoedwin quiroa
 
Windows server 2012 r2
Windows server 2012 r2Windows server 2012 r2
Windows server 2012 r2bryan barrios
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win winkhinkhe
 
Exposicion de linux
Exposicion de linuxExposicion de linux
Exposicion de linuxbeads09
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandraLuis Alvarado
 
Administración de redes
Administración de redesAdministración de redes
Administración de redesedithua
 
Cuadro comparativo lenguajes
Cuadro comparativo lenguajesCuadro comparativo lenguajes
Cuadro comparativo lenguajesBrian Ruvalcaba
 

Mais procurados (20)

Procesos e Hilos
Procesos e HilosProcesos e Hilos
Procesos e Hilos
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Interfaces gráficas de usuario
Interfaces gráficas de usuarioInterfaces gráficas de usuario
Interfaces gráficas de usuario
 
Redes linux
Redes linuxRedes linux
Redes linux
 
Middleware en los sistemas distribuidos
Middleware en los sistemas distribuidosMiddleware en los sistemas distribuidos
Middleware en los sistemas distribuidos
 
Transparencia
TransparenciaTransparencia
Transparencia
 
Cuestionario de Active Directory
Cuestionario de Active DirectoryCuestionario de Active Directory
Cuestionario de Active Directory
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
2.4 Listas de control de Acceso - IPv6
2.4 Listas de control de Acceso - IPv62.4 Listas de control de Acceso - IPv6
2.4 Listas de control de Acceso - IPv6
 
Capa de presentación modelo OSI
Capa de presentación modelo OSICapa de presentación modelo OSI
Capa de presentación modelo OSI
 
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónPrueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validación
 
Sesion 7 2 diseño diagramas de despliegue
Sesion 7 2 diseño   diagramas de despliegueSesion 7 2 diseño   diagramas de despliegue
Sesion 7 2 diseño diagramas de despliegue
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Windows server 2012 r2
Windows server 2012 r2Windows server 2012 r2
Windows server 2012 r2
 
Modelo espiral win win
Modelo espiral win winModelo espiral win win
Modelo espiral win win
 
Exposicion de linux
Exposicion de linuxExposicion de linux
Exposicion de linux
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
 
Administración de redes
Administración de redesAdministración de redes
Administración de redes
 
Cuadro comparativo lenguajes
Cuadro comparativo lenguajesCuadro comparativo lenguajes
Cuadro comparativo lenguajes
 

Semelhante a Lenguajes y frameworks para desarrollo web

Características de 10 lenguajes de programación
Características de 10 lenguajes de programaciónCaracterísticas de 10 lenguajes de programación
Características de 10 lenguajes de programaciónAlexa Chisaguano
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptx2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptxJulinAguirre8
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAHelmilpa
 
Programación web
Programación web Programación web
Programación web Andy015
 
Lenguajes de desarrollo web
Lenguajes de desarrollo webLenguajes de desarrollo web
Lenguajes de desarrollo webEvelioHdez
 
Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webCartagena, Bolivar
 
Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webCartagena, Bolivar
 
Programacion Internet
Programacion InternetProgramacion Internet
Programacion Internetlucilazc
 
los-diferentes-lenguajes-de-programacion-para-la-web
 los-diferentes-lenguajes-de-programacion-para-la-web los-diferentes-lenguajes-de-programacion-para-la-web
los-diferentes-lenguajes-de-programacion-para-la-webolguisf
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-webolguisf
 
introduccionallaprogramacionweb-230123213144-47a8fc90.ppt
introduccionallaprogramacionweb-230123213144-47a8fc90.pptintroduccionallaprogramacionweb-230123213144-47a8fc90.ppt
introduccionallaprogramacionweb-230123213144-47a8fc90.pptssuser948499
 
INTRODUCCION AL LA PROGRAMACION WEB.ppt
INTRODUCCION AL LA PROGRAMACION WEB.pptINTRODUCCION AL LA PROGRAMACION WEB.ppt
INTRODUCCION AL LA PROGRAMACION WEB.pptTIRZOANTONIOMEDINACA
 

Semelhante a Lenguajes y frameworks para desarrollo web (20)

Características de 10 lenguajes de programación
Características de 10 lenguajes de programaciónCaracterísticas de 10 lenguajes de programación
Características de 10 lenguajes de programación
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptx2.3 Lenguajes De Programación Del Lado Servidor.pptx
2.3 Lenguajes De Programación Del Lado Servidor.pptx
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Servidor php
Servidor phpServidor php
Servidor php
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
 
Programación web
Programación web Programación web
Programación web
 
Servidor php
Servidor phpServidor php
Servidor php
 
Lenguajes de desarrollo web
Lenguajes de desarrollo webLenguajes de desarrollo web
Lenguajes de desarrollo web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la web
 
Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la web
 
Programacion Internet
Programacion InternetProgramacion Internet
Programacion Internet
 
Servidor php
Servidor phpServidor php
Servidor php
 
los-diferentes-lenguajes-de-programacion-para-la-web
 los-diferentes-lenguajes-de-programacion-para-la-web los-diferentes-lenguajes-de-programacion-para-la-web
los-diferentes-lenguajes-de-programacion-para-la-web
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-web
 
introduccionallaprogramacionweb-230123213144-47a8fc90.ppt
introduccionallaprogramacionweb-230123213144-47a8fc90.pptintroduccionallaprogramacionweb-230123213144-47a8fc90.ppt
introduccionallaprogramacionweb-230123213144-47a8fc90.ppt
 
INTRODUCCION AL LA PROGRAMACION WEB.ppt
INTRODUCCION AL LA PROGRAMACION WEB.pptINTRODUCCION AL LA PROGRAMACION WEB.ppt
INTRODUCCION AL LA PROGRAMACION WEB.ppt
 
Desarrollo en el servidor
Desarrollo en el servidorDesarrollo en el servidor
Desarrollo en el servidor
 
Programacion web-ian
Programacion web-ianProgramacion web-ian
Programacion web-ian
 

Mais de Antonio Ognio

Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Antonio Ognio
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?Antonio Ognio
 
Organizando una Hackparty
Organizando una HackpartyOrganizando una Hackparty
Organizando una HackpartyAntonio Ognio
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datosAntonio Ognio
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Antonio Ognio
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en WindowsAntonio Ognio
 
Gestor de paquetes YUM
Gestor de paquetes YUMGestor de paquetes YUM
Gestor de paquetes YUMAntonio Ognio
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningAntonio Ognio
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de gitAntonio Ognio
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y DjangoAntonio Ognio
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeAntonio Ognio
 
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxConsejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxAntonio Ognio
 

Mais de Antonio Ognio (16)

Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
Desarrollo ágil de sistemas distribuidos con Python empleando la arquitectura...
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
 
Organizando una Hackparty
Organizando una HackpartyOrganizando una Hackparty
Organizando una Hackparty
 
Lean Startups
Lean StartupsLean Startups
Lean Startups
 
Redis: servidor de estructuras de datos
Redis: servidor de estructuras de datosRedis: servidor de estructuras de datos
Redis: servidor de estructuras de datos
 
Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010Bases de datos NoSQL - Huancayo - 2010
Bases de datos NoSQL - Huancayo - 2010
 
Desarrollando con PHP en Windows
Desarrollando con PHP en WindowsDesarrollando con PHP en Windows
Desarrollando con PHP en Windows
 
Gestor de paquetes YUM
Gestor de paquetes YUMGestor de paquetes YUM
Gestor de paquetes YUM
 
Twixer (english)
Twixer (english)Twixer (english)
Twixer (english)
 
Twixer
TwixerTwixer
Twixer
 
Mejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - HardeningMejorando la seguridad del servicio SSH - Hardening
Mejorando la seguridad del servicio SSH - Hardening
 
Mini-tutorial de git
Mini-tutorial de gitMini-tutorial de git
Mini-tutorial de git
 
¿Porqué Python? ...y Django
¿Porqué Python? ...y Django¿Porqué Python? ...y Django
¿Porqué Python? ...y Django
 
Ubuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty JackalopeUbuntu Server Edition 9.04 Jaunty Jackalope
Ubuntu Server Edition 9.04 Jaunty Jackalope
 
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/LinuxConsejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
Consejos y trucos de supervivencia para nuevos usuarios de GNU/Linux
 
REPLs
REPLsREPLs
REPLs
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Último (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Lenguajes y frameworks para desarrollo web

  • 1. Lenguajes y frameworks para aplicaciones web ¿Cuántos son necesarios? Antonio Ognio antonio@ognio.com
  • 2. ¿Cuántos lenguajes y frameworks debo conocer para desarrollar aplicaciones web?
  • 3. ...al menos 3: HTML, CSS y Javascript
  • 5. ...al principio de los tiempos EN LOS AÑOS 90's
  • 6.
  • 7.
  • 8. Principales aportes: ● CGI al alcance de las masas ● Navaja suiza para procesar texto ● Scripts para gestionar infraestructura ● CPAN, enorme librería de módulos
  • 9.
  • 10. Principales aportes: ● Muy baja barrera de entrada ● Ha hecho posible un gran número de sitios web ● Disponible en casi todas las plataformas ● Rendimiento aceptable en general ● Gran cantidad de proyectos opensource
  • 11. ...en plena burbuja de Internet ALREDEDOR DEL 2000
  • 12.
  • 13. Principales aportes: ● Una plataforma unificada: JVM independiente el HW y el sistema operativo ● Herramientas de corte corporativo con enfoque en la escabalabilidad y la mantenibilidad de la infraestructura ● Gran laboratorio de frameworks usando distintos patrones de diseño ● Gran ecosistema de productos y herramientas tanto comerciales como opensource
  • 14.
  • 15. Principales aportes: ● Hizo popular el uso de web services (SOAP) ● Simplificó la librería de clases de un framework corporativo significativamente ● Popularizó el concepto de poder usar distintos lenguajes y librerías de clase sobre una sola máquina virtual ● Pionero en soportar lenguajes dinámicos y lenguajes funcionales a nivel de la máquina virtual
  • 17.
  • 18. Principales aportes: ● Demostró que se puede tener alta productividad escribiendo poco código y conservando la cordura ● Demostró que el código de las aplicaciones web puede ser fácil de leer y mantener ● Revalorizó y popularizó el concepto de DSL o lenguajes de dominio específico ● Posiblemente la herramienta más integrada con la corriente “Web 2.0” a todo nivel ● Ayudó a popularizar temas como testing, control de código, RESTful webservices, etc
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Principales aportes: ● Popularizó el concepto de “aplicaciones reutilizables” fáciles de “enchufar” en cualquier proyecto ● Alternativa a Ruby/Rails para los que prefieren un enfoque de programación dinámica pero menos “magia” ● Ayudó a popularizar el uso de Python en aplicaciones web ya que anteriormente el espacio estaba demasiado fraccionado
  • 24. ...en la actualidad DESDE EL 2008 EN ADELANTE
  • 25.
  • 26. Principales aportes: ● Está ayudando a popularizar la programación de servicios de red orientados a eventos ● Un solo lenguaje de programación en el lado del cliente y del servidor ● No solo web: también correo, DNS, proxy, balanceo de carga, protocolos a la medida ● Construcción de componentes de red especializados hechos a la medida de la aplicación
  • 27.
  • 29. Principales aportes: ● Lenguajes diseñados para escalar hacia arriba y hacia abajo sobre plataformas populares: JVM y CLR ● Excelente rendimiento ahora que las máquinas virtuales tiene casi 20 años de optimizaciones ● Permiten capitalizar herramientas del presente (OOP) e ir construyendo herramientas del futuro (Programación Funcional) ● Diseñados para facilitar enormemente el diseño e implementación de aplicaciones distribuídas que saquen provecho del procesamiento paralelo
  • 30. ¿Porqué no seguir con PHP ó Java?
  • 31. ¿Porqué no seguir con PHP ó Java? ● Ambos son lenguajes menos expresivos que otras alternativas como Python, Ruby ó Scala ● Contienen un gran número de pequeños errores de diseño e implementación que se van sumando ● La cantidad y la calidad de las librerías modernas y bien mantenidos para ambos lenguajes ha venido decayendo en los últimos años ● El mercado de programadores de ambos lenguajes lamentablemente está plagado de gente con poca experiencia o que no está dispuesta a estar actualizando conocimientos permanentemente
  • 32. ..no solo frameworks HERRAMIENTAS INDISPENSABLES
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. Principales aportes: ● Control del código fuente de las aplicaciones y de la infraestructura ● Servicios de almacenamiento de datos no-relacionales y altamente escalables ● Integración contínua para la detección temprana y automática de fallos ● Gestión de la infraestructura virtual como si se tratara de software (Chef) ● Procesamiento de enormes volúmenes de datos
  • 38. Gracias! Antonio Ognio antonio@ognio.com