Introducción a Scala y configuración del entorno de desarrollo

1

Introducción al curso y presentación de los objetivos

2

Programación Funcional en Scala: Fundamentos y Beneficios

3

Instalación y configuración de herramientas para programar en Scala

4

Herramientas Esenciales para Programar en Scala

5

Hola Mundo en Scala con ScalaFiddle

Fundamentos de Programación Funcional

6

Tipos de Datos Básicos en Scala

7

Inmutabilidad en Programación Funcional con Scala

8

Expresiones en Scala: Conceptos y Ejemplos Prácticos

9

Funciones en Programación Funcional y Matemática

10

Colecciones Inmutables en Lenguajes Funcionales

11

Tuplas y objetos en programación funcional y orientada a objetos

12

Uso de `copy()` y Lentes en Programación Funcional

Conceptos básicos de Programación Funcional

13

Programación Funcional: Uso de Pattern Matching Avanzado

14

Optimización de Algoritmos con Tail Recursion

15

Agregación y acumuladores en programación funcional con Scala

Fundamentos teoricos

16

Funciones Totales y Parciales en Programación Funcional

17

Razonamiento Inductivo en Algoritmos Recursivos

18

Razonamiento con Tipos en Lenguajes Tipados y Dinámicos

19

Uso de Traits en Scala: Concepto y Ejemplos Prácticos

20

Tipos Genéricos en Programación: Uso y Ejemplos Prácticos

21

Tipos de Datos Algebraicos: Suma y Producto en Programación

22

Evaluación Perezosa en Scala: Variables y Colecciones Lazy

23

Manejo de Disyunciones Option en Programación Funcional

24

Manejo de Excepciones con Try y Either en Programación Funcional

Proyecto de Backend

25

Desarrollo de Backend con PlayFramework y Scala: Proyecto Platzi Video

26

Modelo de Actores en Scala: Akka y Erlang

27

Modelo de Datos y Configuración de Proyecto con Play Framework

28

Integración de Play con Slick y SQLite en Scala

29

Consultas Asíncronas y Futuros en Scala con Slick

30

Creación, actualización y eliminación de datos en bases de datos

31

Computación Paralela y Asíncrona en Scala: Conceptos y Aplicaciones

32

Serialización de Datos en Scala con Play Framework

33

Serialización y validación de JSON a objetos Scala

34

Manejo de Errores en Scala: Técnicas y Pruebas con Postman

35

Exportación de Aplicaciones Play con SBT Native Packager

Conclusiones

36

Conceptos Clave de la Programación Funcional en Scala

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Scala básico

Curso de Scala básico

Carlos Daniel Sanchez

Carlos Daniel Sanchez

Desarrollo de Backend con PlayFramework y Scala: Proyecto Platzi Video

25/36
Recursos

¿Cómo aplicar la programación funcional en un proyecto real?

La programación funcional ofrece una manera eficiente de escribir código, pero la clave es aplicarla en un proyecto práctico. En este caso, vamos a poner en práctica todo lo aprendido desarrollando un clon del backend de Platzi Video. Platzi Video, utilizado en la carrera de JavaScript de Platzi, nos servirá como modelo para estructurar este nuevo proyecto.

¿Qué es PlayFramework y por qué utilizarlo?

PlayFramework es una herramienta poderosa para construir aplicaciones MVC (Modelo-Vista-Controlador), similar a Ruby on Rails. Destaca por su simplicidad y por estar respaldado por una sólida arquitectura basada en actores, gracias al uso de Akka, una reconocida librería de programación por modelo de actores en Scala.

Ventajas de usar PlayFramework:

  • Concurrente: Ideal para desarrollos con alto requerimiento de simultaneidad.
  • Simplicidad: Su aprendizaje es rápido, cualidad útil para iniciar proyectos.
  • Versatilidad: Soporta Java y Scala, ofreciendo flexibilidad y adaptabilidad.

¿Cómo configurar nuestro entorno de trabajo?

Para arrancar con nuestro proyecto, necesitamos establecer un entorno estructurado. La base de nuestro desarrollo se encuentra en la página de developers.lightbend.com, desde donde descargaremos una plantilla preconfigurada para agilizar el inicio.

Pasos para la configuración:

  1. Debes dirigirte a Lightbend y buscar la opción "Kickstart a Project".
  2. Selecciona la plantilla "play-scala-seed".
  3. Asigna un nombre al proyecto, por ejemplo "platzi-video", y genera el proyecto.
  4. Descarga y descomprime el archivo zip en tu máquina. Al acceder al contenido, encontrarás el esqueleto de tu proyecto.

¿Qué rol juega la documentación en PlayFramework?

Para navegar y aprovechar al máximo PlayFramework, la documentación es una herramienta indispensable. Encontrarás diferentes secciones dedicadas al funcionamiento del framework, divididas principalmente en documentación general, API Java, y, por supuesto, API Scala, nuestro enfoque.

Clave para explorar la documentación:

  • Versiones: Consulta las últimas actualizaciones o nuevas características.
  • Tutoriales: Instrucciones paso a paso para iniciarse, como el clásico "Hello World".
  • API Scala: Detalles sobre acciones, enrutamiento, gestión de errores, y más.

¿Cuáles son las herramientas complementarias del proyecto?

Utilizar herramientas adicionales facilita el desarrollo y prueba del proyecto.

  1. Slick: Librería para interactuar con bases de datos relacionales, adaptable a diversas opciones.
  2. Postman: Sofisticada herramienta para verificar y testear nuestro API.
  3. Exportación con Docker: Play incluye un plugin para exportar proyectos a Docker, facilitando la gestión de contenedores.

¿Cómo usar SBT para gestionar proyectos en Scala?

Simple Build Tool (SBT) es esencial para compilar y administrar proyectos Scala. Posee comandos esenciales que facilitan distintas operaciones del proyecto:

  • sbt update: Descarga y actualiza las dependencias.
  • sbt compile: Compila el proyecto.
  • sbt console: Abre la consola de Scala.
  • sbt run: Ejecuta el proyecto en modo desarrollo.
  • sbt start: Muestra el proyecto en modo producción.
  • sbt stage: Publica localmente el proyecto.
  • sbt dist: Genera un archivo zip del proyecto.

En resumen, al combinar funcionalidad, estructura robusta y herramientas poderosas, este proyecto no solo pondrá a prueba el conocimiento en programación funcional sino que abrirá las puertas a un desarrollo efectivo con Scala. ¡Continúa explorando los múltiples recursos y sigue aprendiendo!

Aportes 4

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Hasta aquí el curso me pareció muy pero muy bueno, pero el mezclarlo con cosas como frameworks (aunque sea para hacer el proyecto final) no me parece tan bueno.

[Apuntes]
Comandos útiles

  • sbt update
  • sbt compile
  • sbt console
  • sbt run
  • sbt start
  • sbt stage
  • sbt dist

Comandos

sbt update // descargar las dependencias
sbt compile // compilar proyecto
sbt console // modo consola
sbt run // modo desarrollo
sbt start // modo produccion
sbt stage // publicar forma local
sbt dist // crear .zip con el proyecto

Super interesante el planteamiento del proyecto, considero si se debe tener un nivel intermedio (al menos segun parece) para poder continuar sin perderte en conceptos o revolver conceptos de otros frameworks/herramientas con scala.

Si ya tienes ese nivel de comprender las herramientas, esta súper, si no, te recomiedno retomar el proyecto tras tener algo de contexto de dichas herramientas