React to Elm Migration Guide

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • proposal-pipeline-operator

    A proposal for adding a useful pipe operator to JavaScript.

  • The JavaScript Pipeline Operator proposal is at stage 1 at the time of this writing, so we’ll use a Promise below.

  • proposal-pattern-matching

    Pattern matching syntax for ECMAScript

  • The current pattern matching proposal for JavaScript is Stage 1 at the time of this writing.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • elm-live

    ⚡ A flexible dev server for Elm. Live reload included.

  • Using elm-live, you’ll run elm-live and your changes + compile errors will be reflected quickly in the open browser window.

  • UglifyJS2

    JavaScript parser / mangler / compressor / beautifier toolkit

  • For a production build, run elm make with the --optimize flag. It’s recommended you additionally utilize uglifyjs first with compress then again with mangle, or some other compressor + mangler library.

  • jsverify

    Write powerful and concise tests. Property-based testing for JavaScript. Like QuickCheck.

  • Using create-react-app, you’ll run npm test which uses Jest internally. If you are dealing with a lot of data on the UI, or using TypeScript, use JSVerify for property tests. For end to end tests, Cypress is a great choice.

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • Using create-react-app, you’ll run npm test which uses Jest internally. If you are dealing with a lot of data on the UI, or using TypeScript, use JSVerify for property tests. For end to end tests, Cypress is a great choice.

  • Cypress

    Fast, easy and reliable testing for anything that runs in a browser.

  • Using create-react-app, you’ll run npm test which uses Jest internally. If you are dealing with a lot of data on the UI, or using TypeScript, use JSVerify for property tests. For end to end tests, Cypress is a great choice.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • redux

    A JS library for predictable global state management

  • Elm is a strongly typed functional language, compiler, package manager, and framework. You write in the Elm language, and it compiles to JavaScript for use in the browser. The Elm compiler has 2 basic modes of development, and production. It optionally has a REPL if you want to test some basic code. The package manager uses it’s own website and structure using elm.json, instead of package.json. The framework is what Elm is most known for, and was the inspiration for Redux.

  • Preact

    ⚛️ Fast 3kB React alternative with the same modern API. Components & Virtual DOM.

  • React is a library for ensuring your DOM is in sync with your data. However, one could argue it’s a framework in that it provides many fundamentals needed to build applications. There is enough features that you can adopt, that it is a sliding scale. Just want JSX and variables? Cool. Want a Context to emulate Redux? Cool. Want to swap out the render for something like Preact? Cool.

  • package.elm-lang.org

    website for browsing packages and exploring documentation

  • Elm is a strongly typed functional language, compiler, package manager, and framework. You write in the Elm language, and it compiles to JavaScript for use in the browser. The Elm compiler has 2 basic modes of development, and production. It optionally has a REPL if you want to test some basic code. The package manager uses it’s own website and structure using elm.json, instead of package.json. The framework is what Elm is most known for, and was the inspiration for Redux.

  • jest

    Delightful JavaScript Testing.

  • Using create-react-app, you’ll run npm test which uses Jest internally. If you are dealing with a lot of data on the UI, or using TypeScript, use JSVerify for property tests. For end to end tests, Cypress is a great choice.

  • guide.elm-lang.org

    My book introducing you to Elm!

  • This guide will help you learn and migrate to Elm with assumption you already know the basics of React. The Elm guide is great and will give you a thorough understanding of everything you need to know, in a good order.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts