lenguajes y frameworks para desarrollo web
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
![Page 2: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/2.jpg)
¿Cuántos lenguajes y frameworks debo
conocer para desarrollar aplicaciones web?
![Page 3: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/3.jpg)
...al menos 3:
HTML, CSS y Javascript
![Page 4: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/4.jpg)
...pero idealmente
TODOS LOS QUE PUEDAS
![Page 5: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/5.jpg)
...al principio de los tiempos
EN LOS AÑOS 90's
![Page 6: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/6.jpg)
![Page 7: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/7.jpg)
![Page 8: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/9.jpg)
![Page 10: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/11.jpg)
...en plena burbuja de Internet
ALREDEDOR DEL 2000
![Page 12: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/12.jpg)
![Page 13: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/14.jpg)
![Page 15: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/16.jpg)
...un poco después
ALREDEDOR DEL 2005
![Page 17: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/17.jpg)
![Page 18: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/19.jpg)
![Page 20: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/20.jpg)
![Page 21: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/21.jpg)
![Page 22: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/22.jpg)
![Page 23: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/24.jpg)
...en la actualidad
DESDE EL 2008 EN ADELANTE
![Page 25: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/25.jpg)
![Page 26: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/27.jpg)
![Page 28: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/28.jpg)
Compojure
![Page 29: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/30.jpg)
¿Porqué no seguircon PHP ó Java?
![Page 31: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/31.jpg)
¿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](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/32.jpg)
..no solo frameworks
HERRAMIENTAS INDISPENSABLES
![Page 33: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/33.jpg)
![Page 34: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/34.jpg)
![Page 35: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/35.jpg)
![Page 36: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/36.jpg)
![Page 37: Lenguajes y frameworks para desarrollo web](https://reader033.vdocuments.net/reader033/viewer/2022052316/557b5652d8b42a1f1a8b47f8/html5/thumbnails/37.jpg)
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