Skip to content

Latest commit

 

History

History
176 lines (136 loc) · 7.99 KB

README.pt-BR.md

File metadata and controls

176 lines (136 loc) · 7.99 KB

Functional JavaScript

En este curso exploraremos el paradigma funcional en JavaScript así como varios patrones, técnicas y convenciones asociadas a este paradigma, haciendo uso de las nuevas características de ES2015.

La programación funcional es un paradigma de programación de suma relevancia hoy en día, ya que se presta a resolver problemas de paralelización, asincronía y programación reactiva entre otros. La programación funcional (Functional Programming o FP por sus siglas en inglés) no es realmente un paradigma nuevo, existe desde hace medio siglo, pero recientemente, y en particular en el mundo de JavaScript, se ha convertido en tanto una moda como una necesidad. Poco a poco, desde la proliferación de librerías como underscore y lodash, después la adición de map(), filter(), reduce() y compañía, y ahora con frameworks como React y Redux, conocer el paradigma funcional y estilo declarativo se han convertido en una necesidad para cualquier desarrollador de JavaScript.

Familiarizarnos con la programción funcional en JavaScript y ES2015 nos permitirá más adelante desenvolvernos con naturalidad con herramientas como React o Redux.

Tags: functional, es6, ...

Público objetivo

Este curso está dirigido a desarrolladoras tanto front-end como back-end. JavaScript es un lenguaje de naturaleza funcional. En este curso aprenderás sobre los principios de la programación funcional y cómo se reflejan en JavaScript moderno.

Requerimientos previos

Para poder llevar adelante este curso sin frustración, es recomendable los siguientes conocimientos previos:

Aprenderás

  • ES2015
  • Funciones puras
  • Inmutabilidad
  • Recursión
  • Higher Order Functions
  • Composición de funciones

Syllabus

En esta unidad veremos dos de los principios fundamentales de la programación funcional: cómo evitar el estado compartido usando funciones puras y el concepto de inmutabilidad.

# Tipo Formato Duración Descripción
00 lectura self-paced 5min Apertura
01 lectura self-paced 30min Funciones puras
02 practice self-paced 10min Ejercicios de funciones puras
03 lectura self-paced 30min Inmutabilidad
04 practice self-paced 10min Ejercicios de inmutabilidad
05 quiz self-paced 20min Cuestionario
08 lectura self-paced 5min Cierre

Las funciones de orden superior (Higher Order Functions en inglés), no son más que funciones que reciben otras funciones como argumentos o que retornan una función. En esta unidad veremos este tipo de funciones en acción, incluyendo usos más avanzados como aplicación parcial y currying.

# Tipo Formato Duración Descripción
00 lectura self-paced 5min Apertura
01 lectura self-paced 30min Higher Order Functions
02 practice self-paced 10min Ejercicios de HOF
03 lectura self-paced 10min Aplicación parcial
04 practice self-paced 10min Ejercicios de aplicación parcial
05 lectura self-paced 30min Currying
06 practice self-paced 10min Ejercicios de currying
07 quiz self-paced 20min Cuestionario
10 lectura self-paced 5min Cierre

Unidad 03: Control de flujo

Como paradigma declarativo, la programación funcional se caracteriza, entre otras cosas, por expresar "repetición" usando recursión en vez de iteración. En esta unidad veremos cómo reemplazar iteración con recursión o higher order functions, así como las ventajas que ofrece el enfoque funcional para manejar asincronía, que es una característica fundamental de JavaScript.

# Tipo Formato Duración Descripción
00 lectura self-paced 5min Apertura
01 lectura self-paced 50min Recursión
02 practice self-paced 10min Ejercicios de recursión
03 lectura self-paced 30min Asincronía
04 practice self-paced 10min Ejercicios de asincronía
05 quiz self-paced 20min Cuestionario
08 lectura self-paced 5min Cierre

Autor(es) / Colaboradores

  • Milton Mazzarri (autor)
  • Lupo Montero (coordinador)
  • Ana Rangel (colaboradora)

Libros

Benchmarks

Cursos similares que sirven como referencia:

Referencias

Capítulos de libros:

Blog posts:

Videos:

Otros recursos: