Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

ReasonML

( Duration: 3 Days )

This ReasonML training course begins by covering the fundamentals of ReasonML. Next, a number of small applications will be developed as you learn about strong type inference, which helps to eliminate time writing type annotations so there is more focus on business logic instead. The course concludes by exploring expressive type features coupled with an extremely fast edit-compile-run feedback loop which increases productivity. You must have experience in developing in JavaScript for the web. Experience using React will be of benefit but not required.

By attending ReasonML workshop, delegates will learn to:

  • Identify the major benefits of using ReasonML
  • Arrange and build a ReasonML project
  • Describe how ReasonML's rich and strong type system can help you ship code that is free of type errors
  • Create, use, and access ReasonML's sophisticated type features
  • Write unit tests ReasonML code using the Jest test framework
  • Scaffold and modify a web project using ReasonReact

The ReasonML class is ideal for:

  • Developers and developer teams who need to learn ReasonML.

COURSE AGENDA

1

Introducing ReasonML

  • Why ReasonML?
  • An Overview of ReasonML
  • ReasonML and OCaml
  • BuckleScript
  • Build Targets and Runtime Environments
  • Running ReasonML Code
  • The ReasonML Ecosystem
2

Getting Started

  • Toolchain Overview
  • Installing bs-platform
  • bsb Themes
  • Generating a New Project
  • Building a Project
  • IDE Integration
3

Reason’s Syntax

  • Comments
  • Names
  • Uppercase vs Lowercase Names
  • let Bindings
  • let Binding Names
4

Scope

  • Scope
  • Shadowing
  • Scopes are Expressions
5

Types and Type Inference

  • Programming with Types
  • Types and Values
  • Determining a Value’s Type
  • Type Inference
6

Overview of Reason’s Built-in Types

  • String & Char
  • Boolean
  • Integer & Float
  • Tuple
  • Record
  • Variant Types
7

3 ReasonML Fundamentals

  • Polymorphic Variants
  • Null & Undefined
  • Option Types
  • List
  • Array
  • Function Types
8

User-Defined Types

  • ReasonML’s Type Sublanguage
  • Defining a Type Alias
  • Defining a Variant
  • Ambiguous Types
  • Type Constructors
  • Defining a Parameterized Type
  • Example: a JSON Type
  • Using our JSON Type
  • Combining Types
  • User-Defined Types
9

Using Product Types

  • Using Record Types
  • Using Tuple Types
  • Using Object Types
  • Using JavaScript Object Types
10

Using Sum Types

  • Using Variant Types
  • Pattern Matching
  • Reason’s switch Expression
  • Exhaustivity Checking and the when Clause
  • Polymorphic Variant Types
11

Defining Functions

  • Defining a Function
  • Using Labeled Arguments
  • Optional Labeled Arguments
  • Function Types
  • Currying
  • Partial Application
12

Modules

  • Modules
  • Creating a Component
  • OCaml and ReasonML Modules
  • Nesting Modules
  • Files as Modules
13

Unit Testing

  • The Jest Test Framework
  • Installing Jest and bs-jest
  • Writing a Test
  • Running the Tests
14

Calling JavaScript Code from ReasonML

  • Embedding Raw (Untyped) JavaScript
  • Adding Type Annotations
  • Creating Bindings
  • Introducing external
  • Common Use Cases
15

Using ReasonReact

  • What’s ReasonReact?
  • Setting It Up
  • Writing a Component
  • Naming Components
  • Routing

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X