Learning Elm by porting a medium-sized web front end from React (2019)

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. Elm

    Compiler for Elm, a functional language for reliable webapps.

    elm is a lovely lang. it would be nice to have modern APIs on it.

    here's the project for new eyes:

    https://github.com/elm/core

    https://elm-lang.org/

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. compiler

    Compiler for the Gren programming language (by gren-lang)

    I use Elm and am quite happy with it, despite the project being dead (and Evans horrible cult of personality).

    I am also keeping on eye on Gren as a replacement: https://gren-lang.org/

  4. intl-proxy

    Provides access to the Browsers Intl Api via a JS Proxy Object in Elm

    https://github.com/elm/regex/commits/1.0.0/

    So it seems like by the time of the official release you could have replaced your five lines with `Regex.fromString`.

    But the missing Intl API is definitely a huge pain, and I understand that you were switching away if you needed it extensively. Or expected to want other sync APIs wrapped.

    A common way to solve something like this is with proxy objects like in https://github.com/anmolitor/intl-proxy but it does not give access to every feature in a nice way.

    I went the route of least resistance and built the Elm compiler without the Kernel code check. But in the past few years I hardly needed that anymore.

  5. core

    Elm's core libraries (by elm)

    elm is a lovely lang. it would be nice to have modern APIs on it.

    here's the project for new eyes:

    https://github.com/elm/core

    https://elm-lang.org/

  6. React

    The library for web and native user interfaces.

    What story does that tell?

    React's would say 2022 - https://github.com/facebook/react/releases

    There's engineering effort happening behind the scenes on both projects, the releases have slowed, and big changes are coming to both Elm and React.

  7. purescript

    A strongly-typed language that compiles to JavaScript

  8. reason

    Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. zokka-compiler

    Fork of compiler for Elm, a functional language for reliable webapps.

    along those lines, Zokka is a fork of elm that appears to be mostly dedicated towards bug fixes that Evan (the creator of elm) refuses to acknowledge or merge.

    https://github.com/Zokka-Dev/zokka-compiler

  11. rescript

    ReScript is a robustly typed language that compiles to efficient and human-readable JavaScript.

    If you’re a front-end developer, you should checkout ReScript[1], supposedly a JS-oriented successor of ReasonML and developed by the ReasonML team.

    [1] https://rescript-lang.org/

  12. tyrian

    Elm-inspired Scala UI library.

    If you want to try TEA, but not Elm I reccomend Scala.js with Tyrian[1]. Scala.js is a wonderful, mature project and Tyrian gives you the elm architecture in a very pragmatic way.

    [1]: https://tyrian.indigoengine.io/

  13. regex

    If you really need regex in Elm, it is possible. (by elm)

    https://github.com/elm/regex/commits/1.0.0/

    So it seems like by the time of the official release you could have replaced your five lines with `Regex.fromString`.

    But the missing Intl API is definitely a huge pain, and I understand that you were switching away if you needed it extensively. Or expected to want other sync APIs wrapped.

    A common way to solve something like this is with proxy objects like in https://github.com/anmolitor/intl-proxy but it does not give access to every feature in a nice way.

    I went the route of least resistance and built the Elm compiler without the Kernel code check. But in the past few years I hardly needed that anymore.

  14. js-integration-examples

    Examples of common uses of ports and web components

    Yes, ports or custom elements are the recommended options, https://github.com/elm-community/js-integration-examples

    There are a bunch of other options/workarounds/hacks depending on the need. E.g. using getters or creating proxy objects https://github.com/anmolitor/intl-proxy, or event listeners, or postprocessing of the generated JS code, but those shouldn't be the first idea to reach for.

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

  • Mitosis - Using Astro.js as the dev server to preview the component with hot-reload

    13 projects | dev.to | 31 Aug 2024
  • Hidden cost of frontend frameworks

    10 projects | dev.to | 29 Aug 2024
  • Top JavaScript Frameworks in 2024

    5 projects | dev.to | 15 Jun 2024
  • DOM Virtual: Qual problema ela resolve?

    9 projects | dev.to | 27 Oct 2022
  • Million

    4 projects | news.ycombinator.com | 30 Jul 2022

Did you know that Elm is
the 56th most popular programming language
based on number of references?