Skip to content

Instantly share code, notes, and snippets.

@ryyppy
Created May 20, 2019 07:39
Show Gist options
  • Select an option

  • Save ryyppy/24ed9a37c779f2550be073c43243216a to your computer and use it in GitHub Desktop.

Select an option

Save ryyppy/24ed9a37c779f2550be073c43243216a to your computer and use it in GitHub Desktop.

Revisions

  1. ryyppy created this gist May 20, 2019.
    25 changes: 25 additions & 0 deletions workerconf-reasonml.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    # WorkerConf ReasonML Workshop

    In this workshop, Patrick will introduce you to the [ReasonML](https://reasonml.github.io/) platform to build highly type-safe
    ReactJS applications with the BuckleScript JavaScript compiler.

    The goal of this workshop is to build a little webapplication, with following rough outline:
    - Setting up the Development environment (VSCode)
    - Little introduction to the ReasonML platform
    - NextJS as the basis for our application
    - Write our first ReasonReact components to build simple UI
    - Use React-Hooks to build our first stateful component ("UI where we can click and change stuff")
    - Use Prismic.io CMS to provide some data via a GraphQL endpoint
    - Wire up the data fetching within our React application (we will use [graphql_ppx](https://github.com/mhallin/graphql_ppx) to make our GraphQL queries type-safe)
    - Add some styling with TailwindCSS
    - Extra (optional): Use [`now`](https://zeit.co/home) to deploy the app to the cloud

    In the end you will have an idea on what Reason is about and you will also be able to build your own ReasonReact components, which
    can either be used in a standalone ReasonReact application, or may be integrated in any existing ReactJS app.

    Requirements:
    - VSCode + installed `reason-vscode` plugin by Jared Forsyth
    - Preferrably MacOS / Linux based systems, but Reason + BuckleScript generally works on all platforms
    - Basic understanding of ReactJS

    Estimated time: 4 hours