12

Desarrollo Web con Scala

Embed Size (px)

DESCRIPTION

Lightning talk que presenté en el Software Gurú Conference & Expo 2012.

Citation preview

Page 1: Desarrollo Web con Scala
Page 2: Desarrollo Web con Scala

Agenda

• Qué es Scala?

• Qué es Play 2?

• Play 2

• Arquitectura conceptual

• Arquitectura

• Características

• Anatomía

• Demo

• Preguntas

Page 3: Desarrollo Web con Scala

Que es Scala?

• Scala es un lenguaje de programación híbrido basado en

los paradigmas de Orientación a Objetos y Programación

Funcional complementándolos de manera armoniosa

inventado por Martin Oderesky.

Page 4: Desarrollo Web con Scala

Que es Play 2?

• Play 2 es un framework de alta productividad para crear

aplicaciones web en Java y Scala.

• Esta basado en una arquitectura ligera, sin estado y con

poco consumo de recursos como CPU, memoria y

threads.

• Su arquitectura esta basada en un modelo dirigido por

eventos.

Page 5: Desarrollo Web con Scala

Play 2

Page 6: Desarrollo Web con Scala

Arquitectura conceptual

Page 7: Desarrollo Web con Scala

Arquitectura

Page 8: Desarrollo Web con Scala

Características

• Configuración de URL’s de manera declarativa.

• Mapeo de tipos seguro desde HTTP a un API idiomática

de Scala.

• Arquitectura que soporta los tecnologías HTML5 en el

cliente.

• Cambios en vivo con tan solo refrescar el Browser.

• Características completos de un framework web

incluyendo persistencia, seguridad e internacionalización.

Page 9: Desarrollo Web con Scala

Anatomía

app → Fuentes de la aplicación└ assets → Fuentes compiladas de assets

└ stylesheets → CSS└ javascripts → CoffeScripts

└ controllers → Controladores└ models → Modelo de negocio└ views → Plantillas (Vistas)conf → Archivos de configuration└ application.conf → Archivo de configuración principal└ routes → Definición de rutaspublic → Assets públicos└ stylesheets → Archivos CSS└ javascripts → Archivos JavaScript└ images → Archivos de imagen.project → Archivos de configuración de SBT└ build.properties → Propiedades del proyecto└ Build.scala → Script de construcción└ plugins.sbt → Plugins de SBTlib → Bibliotecas no-manejadaslogs → Logs└ application.log → Archivo Log por defectotarget → Archivos binrios generados└ scala-2.9.1

└ cache └ classes└ classes_managed└ resource_managed└ src_managed

test → Archivos de pruebas de unidad y funcionales

Page 10: Desarrollo Web con Scala

Demo

Page 11: Desarrollo Web con Scala

Preguntas?

Page 12: Desarrollo Web con Scala

Gracias…