Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Conociendo a los Futures en Scala

14ac015f9bcf39a2c9c9b57e5b3ffd89?s=47 mordonez
February 04, 2016

Conociendo a los Futures en Scala

Presentación de la tercera reunión de Scala Perú

14ac015f9bcf39a2c9c9b57e5b3ffd89?s=128

mordonez

February 04, 2016
Tweet

Transcript

  1. @mordonez_me Marco Ordoñez Scala Perú Futures en Scala

  2. @mordonez_me Marco Ordoñez Apasionado de las nuevas tecnologías. Usuario de

    las tecnologías de Scala desde hace ~3 años. Fundador de la empresa Evolbit (www.teamevolbit.com). Promotor del uso de los principios reactivos en el desarrollo de Software.
  3. Perú users group Futures ¿Qué son y para que se

    usan?
  4. Perú users group Futures, ¿qué son y para que se

    usan? Un Future es un objeto que sirve como envoltorio de un valor que estará disponible en un futuro. Este objeto permite realizar operaciones sobre ese valor sin que el mismo se encuentre disponible en ese momento debido a que su computación aún se encuentra en proceso. Los futures permiten ejecutar bloques de código en forma asíncrona facilitando la computación en paralelo. Una vez que el valor ha sido computado el Future se completa y retorna el valor (callbaks). Los futures son una estructura monádica, la ventaja de esta característica es que el resultado se encapsula en una estructura de datos que permite la composición. ¿Qué son Futures?
  5. Perú users group Futures, ¿qué son y para que se

    usan? Mucha de la computación que se realiza se ejecuta de forma síncrona, el programa se ejecuta linea por linea de arriba a abajo y cada linea no puede ser ejecutada hasta que la linea anterior haya terminado su instrucción. En muchas ocasiones este comportamiento puede ser normal sin embargo en la computación de hoy en día las cosas están cambiando y el paralelismo y la programación asíncrona están tomando más protagonismo debido a sus ventajas (por ejemplo, la mejor utilización de recursos de hardware). Un caso muy común para el uso de los futures es el consumo de uno o muchos webservices (REST) que luego necesitan ser combinados para procesar datos. En Scala, los futures son la base de la programación asíncrona y reactiva y son usados en muchas librerías y frameworks. ¿Para qué se usan los futures?
  6. Perú users group Futures Conociendo los Futures en Scala

  7. Perú users group Futures, fundamentos En scala, los futures se

    encuentran en el paquete scala.concurrent y necesitan de un ExecutionContext para ejecutarse. Para empezar a utilizar los futures debemos de importar Future y especificar un contexto de ejecución.
  8. Perú users group Futures, fundamentos Es posible también definir un

    contexto de ejecución diferente y no usar el definido por Scala.
  9. Perú users group Futures, fundamentos Los futures además ofrecen un

    mecanismo de recuperación que permite brindar retornar un valor diferente cuando el Future falla, para ellos usamos recover y recoverWith. recover permite retornar un valor directamente recoverWith permite retornar un valor usando otro Future.
  10. Perú users group Futures, ¿qué son y para que se

    usan? Ejemplos de uso de Futures: https://github.com/evolbit/scala-futures VisualVM: https://visualvm.java.net/ Futures: http://docs.scala-lang.org/overviews/core/futures.html Recursos
  11. Perú users group Gracias