Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Scala en la Practica

1,427 views

Published on

Published in: Technology

Scala en la Practica

  1. 1. Scala en la Práctica<br />Julio Carlos Sánchez Ortega<br />
  2. 2. Agenda<br />Introducción a Scala<br />Casos de uso práctico<br />PatternMatching<br />Haciendo pruebas<br />Retos al usar Scala<br />Uso en la industria<br />Código<br />
  3. 3. Introducción a Scala<br />Es multi-paradigma<br />Es todo-propósito<br />Es multi-plataforma<br />Soporte “nativo” de concurrencia<br />Creado por el principal desarrollador del javac<br />
  4. 4. Casos de uso práctico<br />Como lenguaje principal en una aplicación<br />Como lenguaje en de scripting<br />Como lenguaje en el middleware<br />Como lenguaje en el back-end<br />Como lenguaje en el front-end<br />
  5. 5. Como lenguaje de scripts<br />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.<br />
  6. 6. Como middleware<br />Scala nos puede servir como un broker de mensajería con ayuda de Actores<br />Nos permite implementar muchas de las funciones de les EIP<br />
  7. 7. Como back-end<br />Usando un ORM como Squeryl<br />Usando un cache como Infinispan<br />
  8. 8. Como front-end<br />En aplicaciones web con un framework como Lift<br />En aplicaciones de escritorio con Swing<br />
  9. 9. PatternMatching<br />Nos permite hacer una selección a partir de una estructura de datos y ejecutar una acción<br />Es una de las características mas usadas en Scala<br />
  10. 10. Usos del PatternMatching<br />Se usa como una sentencia switch con esteroides<br />Se usa para discriminar los mensajes recibidos en los actores<br />Se usa para ejecutar acciones a partir de una coincidencia en un set de expresiones regulares<br />Se usa en el manejo de excepciones<br />
  11. 11. Haciendo pruebas<br />Pruebas de unidad con ScalaTest<br />Pruebas estilo BDD con ScalaTest<br />MockObjects y MockFunctions con Borachio<br />
  12. 12. Retos al usar Scala<br />Adopción<br />Paradigma<br />Legacycode<br />Soporte de IDE’s<br />
  13. 13. Uso en la industria<br />LinkedIn<br />Twitter<br />
  14. 14. LinkedIn<br />
  15. 15. Twitter<br />
  16. 16. Código<br />Ejemplos adaptados de implementaciones reales.<br />
  17. 17. Preguntas<br />
  18. 18. Recursos<br />Sitio oficial Scala - http://www.scala-lang.org/<br />Sitio oficial de Lift - http://liftweb.net/<br />Sitio oficial de Squeryl - http://squeryl.org/index.html<br />ScalaMUG - http://scala-mug.org/<br />Primeros pasos con Scala – http://www.artima.com/scalazine/articles/steps.html<br />TwitteronScala – http://www.artima.com/scalazine/articles/twitter_on_scala.html<br />LinkedInSignal - http://www.infoq.com/articles/linkedin-scala-jruby-voldemort<br />Código: http://hg.scala-mug.org/scala-in-practice/<br />
  19. 19. Datos de contacto<br />@thegeekinside<br />http://mx.linkedin.com/in/juliocarlossanchez<br />thegeek@thegeekinside.net<br />thegeekinside@gmail.com<br />

×