Top Banner
Scala en la Práctica Julio Carlos Sánchez Ortega
19

Scala en la Practica

Jul 02, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Scala en la Practica

Scala en la Práctica

Julio Carlos Sánchez Ortega

Page 2: Scala en la Practica

Agenda

• Introducción a Scala

• Casos de uso práctico

• Pattern Matching

• Haciendo pruebas

• Retos al usar Scala

• Uso en la industria

• Código

Page 3: Scala en la Practica

Introducción a Scala

• Es multi-paradigma

• Es todo-propósito

• Es multi-plataforma

• Soporte “nativo” de concurrencia

• Creado por el principal desarrollador del javac

Page 4: Scala en la Practica

Casos de uso práctico

• Como lenguaje principal en una aplicación

• Como lenguaje en de scripting

• Como lenguaje en el middleware

• Como lenguaje en el back-end

• Como lenguaje en el front-end

Page 5: Scala en la Practica

Como lenguaje de scripts

Scala puede ser usado para automatizar tareas repetitivas y ejecutarse desde el shell tal como se puede hacer con otros lenguajes como Python y Ruby.

Page 6: Scala en la Practica

Como middleware

• Scala nos puede servir como un broker de mensajería con ayuda de Actores

• Nos permite implementar muchas de las funciones de les EIP

Page 7: Scala en la Practica

Como back-end

• Usando un ORM como Squeryl

• Usando un cache como Infinispan

Page 8: Scala en la Practica

Como front-end

• En aplicaciones web con un framework como Lift

• En aplicaciones de escritorio con Swing

Page 9: Scala en la Practica

Pattern Matching

• Nos permite hacer una selección a partir de una estructura de datos y ejecutar una acción

• Es una de las características mas usadas en Scala

Page 10: Scala en la Practica

Usos del Pattern Matching

• Se usa como una sentencia switch con esteroides

• Se usa para discriminar los mensajes recibidos en los actores

• Se usa para ejecutar acciones a partir de una coincidencia en un set de expresiones regulares

• Se usa en el manejo de excepciones

Page 11: Scala en la Practica

Haciendo pruebas

• Pruebas de unidad con ScalaTest

• Pruebas estilo BDD con ScalaTest

• MockObjects y MockFunctions con Borachio

Page 12: Scala en la Practica

Retos al usar Scala

• Adopción

• Paradigma

• Legacy code

• Soporte de IDE’s

Page 13: Scala en la Practica

Uso en la industria

• LinkedIn

• Twitter

Page 14: Scala en la Practica

LinkedIn

Page 15: Scala en la Practica

Twitter

Page 16: Scala en la Practica

Código

Ejemplos adaptados de implementaciones reales.

Page 17: Scala en la Practica

Preguntas

Page 18: Scala en la Practica

Recursos

• Sitio oficial Scala - http://www.scala-lang.org/

• Sitio oficial de Lift - http://liftweb.net/

• Sitio oficial de Squeryl - http://squeryl.org/index.html

• Scala MUG - http://scala-mug.org/

• Primeros pasos con Scala – http://www.artima.com/scalazine/articles/steps.html

• Twitter on Scala –http://www.artima.com/scalazine/articles/twitter_on_scala.html

• LinkedIn Signal - http://www.infoq.com/articles/linkedin-scala-jruby-voldemort

• Código: http://hg.scala-mug.org/scala-in-practice/