Why and How We Retired Elm at Culture Amp

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

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.io
featured
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.
www.influxdata.com
featured
  • roc

    A fast, friendly, functional language. Work in progress!

  • What are your thoughts on the direct descendant, Roc? [0] I know it's pre v0.1 so maybe you don't have any, but as a fellow Elm lover it seems pretty compelling on the surface albeit less directly frontend-dev focused.

    [0] https://github.com/roc-lang/roc

  • Elm

    Compiler for Elm, a functional language for reliable webapps.

  • It's more than lack of publicity, stuff like this https://github.com/elm/compiler/issues/1773 adds up. The project looks unmaintained, because it is unmaintained. I guess deliberately so.

  • 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
  • why-did-you-render

    why-did-you-render by Welldone Software monkey patches React to notify you about potentially avoidable re-renders. (Works with React Native as well.)

  • It's a combination of many things, but imo one of the worst is all the footguns regarding state and the rerenders they cause

    https://emnudge.dev/blog/react-hostage

    It's so easy, that we monkey patch react to debug it https://github.com/welldone-software/why-did-you-render

    Plus the vdom... Isn't great, the bundle size puts react at an inherit disadvantage, and the community has a knack for over reliance on bloated packages

  • kaizen-design-system

    Culture Amp's Kaizen Design System :seedling:

  • https://github.com/cultureamp/kaizen-design-system/blob/3ac2...

    react ver:

  • elm-ts

    A porting to TypeScript featuring fp-ts, rxjs6 and React

  • > By that time, TypeScript had grown to be capable enough (and developer-friendly enough) to balance much of what sold us on Elm originally: a usable type system, good-enough error messages, etc. React had baked in some more useful state management primitives that roughly matched Elm’s “batteries included” state management.

    if you like the ideas in elm but don't want to commit to it I'd encourage you to check out elm-ts (https://gcanti.github.io/elm-ts/) It has a little bit more boilerplate than elm (I find elm to be quite verbose already!) but a better experience for individuals and teams overall, I would say. It's a good example of how "TypeScript had grown to be capable enough (and developer-friendly enough) to balance much of what sold us on Elm originally: a usable type system.."

  • virt-v2v

    Virt-v2v converts guests from foreign hypervisors to run on KVM

  • You can look at the project yourself: https://github.com/libguestfs/virt-v2v I've been writing OCaml for 20+ years and C for 40 years.

  • react-elm-components

    Write React components in Elm

  • They were considered, I was on the team that considered them. (I work at Culture Amp and at one point was leading the Design System team).

    To be clear: embedding Elm in React is easy (we host the main NPM library for doing so: https://github.com/cultureamp/react-elm-components). But embedding React in Elm is harder, as Elm doesn't give any easy "escape hatches" to interact with native JS code.

    The main opportunity is to use Web Components. Elm knows how to render any HTML component, including `x-my-custom-button`, which could render using React or something else. We looked into options for this, including prototyping https://www.npmjs.com/package/backstitch as a way to embed our React components as Web Components for consumption in Elm. (No open source packages existed to do this at the time).

    We also did quite a deep dive on using Stencil, which has a React-like API, to create web components for both React and Elm - even including publishing new plugins for the ecosystem to generate Elm bindings for your web components. Kevin went into some of the detail for this in the post if you're interested.

  • 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
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

  • Use Notion as your CMS along with Next.js

    5 projects | dev.to | 10 Apr 2024
  • firereact VS react-firebase-hooks - a user suggested alternative

    2 projects | 5 Feb 2024
  • How are you building React applications? It's time to move on from Create React App

    13 projects | dev.to | 12 Apr 2023
  • Anyone know where to find the "idiot's guide" to libauth? Working examples would be nice

    5 projects | /r/btc | 12 Nov 2022
  • The creator of Webpack introduces Turbopack, a Rust-based successor that's 700x faster

    6 projects | /r/rust | 25 Oct 2022