This project demonstrates the following tech stack:
Reason is a statically-typed, functional programming language backing by OCaml.
It leverage both the JavaScript & OCaml ecosystems by providing a familiar syntax geared toward JavaScript programmers and by catering to the existing NPM/Yarn workflow folks already know.
โ๏ธ ReasonReact with Functional APIs and Hooks.
ReasonReact is Reason's official binding to React.js. By leveraging the Reason's built-in language features, it pack React.js' APIs into one that is statically-typed, simple, familiar and feels "Just using Reason".
This project used the latest Function APIs with Hooks and updated built-in Router API.
GraphQL_PPX is a syntax extension for BuckleScript/Reason. It make constructing GraphQL queries in Reason a first-class experience and type-safe, with compile time type check instead of runtime errors.
This project used the BS/Reason version of GraphQL from under reasonml-community
. The mhallin's version used by V1 does not build with OCaml 4.06 unfortunately.
BuckleScript is a compiler and toolchain that transforms OCaml/Reason into readable JavaScript code. It comes with a powerful API to talk to JS, allowing you to access the latter's vast ecosystem.
This project used its bsb
build system for generated intial project templates. Checkout ReasonReact installation for more details.
Github announced its public APIs v4 that supports GraphQL. Thanks to that, we can play and demonstrate GraphQL's power without the ceremoies of building our own API server.