Lenguajes y frameworks para desarrollo web

38
Lenguajes y frameworks para aplicaciones web ¿Cuántos son necesarios? Antonio Ognio [email protected]

description

Una retrospectiva a los principales lenguajes y frameworks utilizados para hacer desarrollo web de lado del servidor y las tendencias hacia el futuro.

Transcript of Lenguajes y frameworks para desarrollo web

Page 1: Lenguajes y frameworks para desarrollo web

Lenguajes y frameworkspara aplicaciones web

¿Cuántos son necesarios?

Antonio [email protected]

Page 2: Lenguajes y frameworks para desarrollo web

¿Cuántos lenguajes y frameworks debo

conocer para desarrollar aplicaciones web?

Page 3: Lenguajes y frameworks para desarrollo web

...al menos 3:

HTML, CSS y Javascript

Page 4: Lenguajes y frameworks para desarrollo web

...pero idealmente

TODOS LOS QUE PUEDAS

Page 5: Lenguajes y frameworks para desarrollo web

...al principio de los tiempos

EN LOS AÑOS 90's

Page 6: Lenguajes y frameworks para desarrollo web
Page 7: Lenguajes y frameworks para desarrollo web
Page 8: Lenguajes y frameworks para desarrollo web

Principales aportes:

● CGI al alcance de las masas● Navaja suiza para procesar texto● Scripts para gestionar infraestructura● CPAN, enorme librería de módulos

Page 9: Lenguajes y frameworks para desarrollo web
Page 10: Lenguajes y frameworks para desarrollo web

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

Page 11: Lenguajes y frameworks para desarrollo web

...en plena burbuja de Internet

ALREDEDOR DEL 2000

Page 12: Lenguajes y frameworks para desarrollo web
Page 13: Lenguajes y frameworks para desarrollo web

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

Page 14: Lenguajes y frameworks para desarrollo web
Page 15: Lenguajes y frameworks para desarrollo web

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

Page 16: Lenguajes y frameworks para desarrollo web

...un poco después

ALREDEDOR DEL 2005

Page 17: Lenguajes y frameworks para desarrollo web
Page 18: Lenguajes y frameworks para desarrollo web

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

Page 19: Lenguajes y frameworks para desarrollo web
Page 20: Lenguajes y frameworks para desarrollo web
Page 21: Lenguajes y frameworks para desarrollo web
Page 22: Lenguajes y frameworks para desarrollo web
Page 23: Lenguajes y frameworks para desarrollo web

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

Page 24: Lenguajes y frameworks para desarrollo web

...en la actualidad

DESDE EL 2008 EN ADELANTE

Page 25: Lenguajes y frameworks para desarrollo web
Page 26: Lenguajes y frameworks para desarrollo web

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

Page 27: Lenguajes y frameworks para desarrollo web
Page 28: Lenguajes y frameworks para desarrollo web

Compojure

Page 29: Lenguajes y frameworks para desarrollo web

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

Page 30: Lenguajes y frameworks para desarrollo web

¿Porqué no seguircon PHP ó Java?

Page 31: Lenguajes y frameworks para desarrollo web

¿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

Page 32: Lenguajes y frameworks para desarrollo web

..no solo frameworks

HERRAMIENTAS INDISPENSABLES

Page 33: Lenguajes y frameworks para desarrollo web
Page 34: Lenguajes y frameworks para desarrollo web
Page 35: Lenguajes y frameworks para desarrollo web
Page 36: Lenguajes y frameworks para desarrollo web
Page 37: Lenguajes y frameworks para desarrollo web

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

Page 38: Lenguajes y frameworks para desarrollo web

Gracias!

Antonio [email protected]