SlideShare una empresa de Scribd logo
1 de 19
Scala en la Práctica Julio Carlos Sánchez Ortega
Agenda Introducción a Scala Casos de uso práctico PatternMatching Haciendo pruebas Retos al usar Scala Uso en la industria Código
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
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
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.
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
Como back-end Usando un ORM como Squeryl Usando un cache como Infinispan
Como front-end En aplicaciones web con un framework como Lift En aplicaciones de escritorio con Swing
PatternMatching 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
Usos del PatternMatching 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
Haciendo pruebas Pruebas de unidad con ScalaTest Pruebas estilo BDD con ScalaTest MockObjects y MockFunctions con Borachio
Retos al usar Scala Adopción Paradigma Legacycode Soporte de IDE’s
Uso en la industria LinkedIn Twitter
LinkedIn
Twitter
Código Ejemplos adaptados de implementaciones reales.
Preguntas
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 ScalaMUG - http://scala-mug.org/ Primeros pasos con Scala – http://www.artima.com/scalazine/articles/steps.html TwitteronScala – http://www.artima.com/scalazine/articles/twitter_on_scala.html LinkedInSignal - http://www.infoq.com/articles/linkedin-scala-jruby-voldemort Código: http://hg.scala-mug.org/scala-in-practice/
Datos de contacto @thegeekinside http://mx.linkedin.com/in/juliocarlossanchez thegeek@thegeekinside.net thegeekinside@gmail.com

Más contenido relacionado

La actualidad más candente

Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
johitafresh
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
bat1820
 
Presentación Ruby on Rails
Presentación Ruby on RailsPresentación Ruby on Rails
Presentación Ruby on Rails
Giannis Morales
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
alejandritasalva
 

La actualidad más candente (20)

Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
Zinjai
ZinjaiZinjai
Zinjai
 
Características Java
Características JavaCaracterísticas Java
Características Java
 
Java gabriela miralda
Java gabriela miraldaJava gabriela miralda
Java gabriela miralda
 
Caracteristicas mas especificas de algunos lenguajes de programacion
Caracteristicas mas especificas de algunos lenguajes de programacionCaracteristicas mas especificas de algunos lenguajes de programacion
Caracteristicas mas especificas de algunos lenguajes de programacion
 
Proyecto Hola Mundo java.Programación.
Proyecto Hola Mundo java.Programación.Proyecto Hola Mundo java.Programación.
Proyecto Hola Mundo java.Programación.
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Estandares de Codigo (Emanuel)
Estandares de Codigo (Emanuel)Estandares de Codigo (Emanuel)
Estandares de Codigo (Emanuel)
 
Presentación Ruby on Rails
Presentación Ruby on RailsPresentación Ruby on Rails
Presentación Ruby on Rails
 
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAXJavascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Portafolio parcial 2
Portafolio parcial 2Portafolio parcial 2
Portafolio parcial 2
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Trabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yennyTrabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yenny
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Antecedentes java
Antecedentes java Antecedentes java
Antecedentes java
 
Curso Java Inacap
Curso Java InacapCurso Java Inacap
Curso Java Inacap
 

Destacado

Scala+swing
Scala+swingScala+swing
Scala+swing
perneto
 

Destacado (12)

Pf con scala
Pf con scalaPf con scala
Pf con scala
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Scala - just good for Java shops?
Scala - just good for Java shops?Scala - just good for Java shops?
Scala - just good for Java shops?
 
Curso de Scala: Trabajando con variables
Curso de Scala: Trabajando con variablesCurso de Scala: Trabajando con variables
Curso de Scala: Trabajando con variables
 
JavaFX and Scala - Like Milk and Cookies
JavaFX and Scala - Like Milk and CookiesJavaFX and Scala - Like Milk and Cookies
JavaFX and Scala - Like Milk and Cookies
 
Baño
BañoBaño
Baño
 
Introducción a scala
Introducción a scalaIntroducción a scala
Introducción a scala
 
Koreference
KoreferenceKoreference
Koreference
 
Scala+swing
Scala+swingScala+swing
Scala+swing
 
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
 
4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala
 
Scala
ScalaScala
Scala
 

Similar a Scala en la Practica

Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prolog
Pedro Vera
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
Antonio Ognio
 
Lenguajes del lado del servidor
Lenguajes del lado del servidorLenguajes del lado del servidor
Lenguajes del lado del servidor
pidingos
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
Neptuno Networks
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazo
Jesica Pérez
 

Similar a Scala en la Practica (20)

Webminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma PoliglotaWebminar: Java como una plataforma Poliglota
Webminar: Java como una plataforma Poliglota
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
Java poliglota
Java poliglotaJava poliglota
Java poliglota
 
Principales características de 10 lenguajes de programacion
Principales características de 10 lenguajes de programacionPrincipales características de 10 lenguajes de programacion
Principales características de 10 lenguajes de programacion
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prolog
 
3
33
3
 
Clase 2 Lenguajes de Programación Web
Clase 2 Lenguajes de Programación WebClase 2 Lenguajes de Programación Web
Clase 2 Lenguajes de Programación Web
 
Servicios web
Servicios webServicios web
Servicios web
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdf
 
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
¿Cómo elegir el languaje y el framework de tu próxima aplicación web?
 
Lenguajes del lado del servidor
Lenguajes del lado del servidorLenguajes del lado del servidor
Lenguajes del lado del servidor
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
Cabrera ies 2011
Cabrera ies 2011Cabrera ies 2011
Cabrera ies 2011
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazo
 
Proyecto herramientas para analisis del big-data.pdf
Proyecto herramientas para analisis del big-data.pdfProyecto herramientas para analisis del big-data.pdf
Proyecto herramientas para analisis del big-data.pdf
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Scala en la Practica

  • 1. Scala en la Práctica Julio Carlos Sánchez Ortega
  • 2. Agenda Introducción a Scala Casos de uso práctico PatternMatching Haciendo pruebas Retos al usar Scala Uso en la industria Código
  • 3. 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
  • 4. 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
  • 5. 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.
  • 6. 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
  • 7. Como back-end Usando un ORM como Squeryl Usando un cache como Infinispan
  • 8. Como front-end En aplicaciones web con un framework como Lift En aplicaciones de escritorio con Swing
  • 9. PatternMatching 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
  • 10. Usos del PatternMatching 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
  • 11. Haciendo pruebas Pruebas de unidad con ScalaTest Pruebas estilo BDD con ScalaTest MockObjects y MockFunctions con Borachio
  • 12. Retos al usar Scala Adopción Paradigma Legacycode Soporte de IDE’s
  • 13. Uso en la industria LinkedIn Twitter
  • 16. Código Ejemplos adaptados de implementaciones reales.
  • 18. 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 ScalaMUG - http://scala-mug.org/ Primeros pasos con Scala – http://www.artima.com/scalazine/articles/steps.html TwitteronScala – http://www.artima.com/scalazine/articles/twitter_on_scala.html LinkedInSignal - http://www.infoq.com/articles/linkedin-scala-jruby-voldemort Código: http://hg.scala-mug.org/scala-in-practice/
  • 19. Datos de contacto @thegeekinside http://mx.linkedin.com/in/juliocarlossanchez thegeek@thegeekinside.net thegeekinside@gmail.com