4.9
Intermediate
30h
Using fp-ts for Functional Programming in TypeScript
Gain insights into functional programming with TypeScript. Learn about core fp-ts functionality and monads like Option and Either to enhance your TypeScript projects effectively.
Functional programming is a programming paradigm that emphasizes immutability and pure functions. It not only makes code easier to understand, test, and parallelize, but also offers improved performance. TypeScript is a statically-typed object-oriented programming language that builds on JavaScript. Although TypeScript is not a purely functional programming language, it can be used to write functional code too.
This course is for beginners with little to no knowledge of TypeScript and functional programming. You’ll start with learning their basics and then move on to develop several projects of increasing complexity. You’ll also learn about fp-ts, a library that provides several functional programming constructs. The course covers the core functionality of fp-ts and important monads such as Option, Either, and TaskEither.
By the end of the course, you’ll know how to apply functional programming techniques and fp-ts to new and existing TypeScript projects, and be on your way to becoming an expert in both!
Functional programming is a programming paradigm that emphasizes immutability and pure functions. It not only makes code easier ...Show More
WHAT YOU'LL LEARN
Familiarity with the concepts of functional programming
Working knowledge of functional JavaScript
An understanding of TypeScript’s type system
The ability to build your own projects using TypeScript
Hands-on experience with the fp-ts library
Familiarity with the concepts of functional programming
Show more
Content
1.
Introduction to Functional Programming
8 Lessons
Get familiar with functional programming's concepts, benefits in JavaScript, and TypeScript enhancements.
2.
Tidbits: Some Useful JavaScript and TypeScript
11 Lessons
Unpack the core of essential JavaScript/TypeScript fundamentals for functional programming and practical coding challenges.
Setting Up TypeScriptCreating Functions in JavaScriptBackticks for Easy PrintingThe Ternary OperatorDiscriminating UnionsSummary: JavaScript and TypeScript TidbitsCoding Challenge: Create Algebraic Data TypeSolution Review: Create Algebraic Data TypeCoding Challenge: Rewriting Code as an ExpressionSolution Review: Rewriting Code as an ExpressionQuiz: Tidbits of JavaScript and TypeScript
3.
First Steps with Functional Programming
15 Lessons
Examine fundamental aspects of functional programming and practical applications using higher-order functions, currying, composition, and monads.
4.
Our First Project: User Registration
12 Lessons
Grasp the fundamentals of user registration with fp-ts, focusing on robust type definitions, validations, and adaptable code structure.
5.
Deploying a Monitoring Application
15 Lessons
Take a closer look at deploying and monitoring applications using functional programming in TypeScript.
6.
Testing
8 Lessons
Tackle different testing methodologies, TDD, and functional programming testing practices in TypeScript.
7.
Once More unto the Breach: Our Final Application
11 Lessons
Master the steps to build and deploy hotel reservations using TypeScript, Lambdas, and DynamoDB.
8.
Expanding our Reservation Application
10 Lessons
Get familiar with enhancing the reservation app using Reader, State monads, and improved configs.
9.
Rewriting an Application
11 Lessons
Walk through rewriting an application using functional programming principles for better maintainability.
10.
Advanced FP Techniques
8 Lessons
Master the steps to advanced FP techniques, including DSLs, tagless final, and free monads.
11.
Conclusion
1 Lessons
Enhance your skills in applying TypeScript and fp-ts for functional programming, and future explorations.
12.
Appendix
1 Lessons
Solve problems in functional programming with advanced monads like Writer and These.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources