SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Thread
ThreadThread
Thread
 
Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014
 
Front end y Back-end
Front end y Back-end Front end y Back-end
Front end y Back-end
 
ASP.NET WEB API
ASP.NET WEB APIASP.NET WEB API
ASP.NET WEB API
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | Edureka
 
Node.js
Node.jsNode.js
Node.js
 
DOM HTML Javascript
DOM HTML JavascriptDOM HTML Javascript
DOM HTML Javascript
 
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptxUnit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Lenguaje html y css ..
Lenguaje html y css ..Lenguaje html y css ..
Lenguaje html y css ..
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Nodejs presentation
Nodejs presentationNodejs presentation
Nodejs presentation
 
Fases del Proceso Unificado
Fases del Proceso UnificadoFases del Proceso Unificado
Fases del Proceso Unificado
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
 
Introduction To Single Page Application
Introduction To Single Page ApplicationIntroduction To Single Page Application
Introduction To Single Page Application
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Nodejs
NodejsNodejs
Nodejs
 
IIS 7.0 Architecture And Integration With Asp.Net
IIS 7.0 Architecture And Integration With Asp.NetIIS 7.0 Architecture And Integration With Asp.Net
IIS 7.0 Architecture And Integration With Asp.Net
 
Introduccion a la programacion web
Introduccion a la programacion webIntroduccion a la programacion web
Introduccion a la programacion web
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Kürzlich hochgeladen (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.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