react-elm-components
elm-ts
Our great sponsors
react-elm-components | elm-ts | |
---|---|---|
1 | 2 | |
778 | 301 | |
0.4% | - | |
3.9 | 0.0 | |
3 months ago | over 1 year ago | |
Elm | TypeScript | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
react-elm-components
-
Why and How We Retired Elm at Culture Amp
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.
elm-ts
-
Why and How We Retired Elm at Culture Amp
> 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.."
-
Flame: A PureScript front-end framework inspired by the Elm architecture
FWIW this post is about PureScript, not Elm. The library is an implementation of the Elm Architecture in PureScript. Elm is a language. The framework that goes along with it is called "The Elm Architecture". The Architecture can be implemented in any language. Here's an implementation in TypeScript: https://github.com/gcanti/elm-ts
What are some alternatives?
react-children-utilities - Extended utils for ⚛️ React.Children data structure that adds recursive filter, map and more methods to iterate nested children.
purescript-flame - Fast & simple framework for building web applications
reactfire - Hooks, Context Providers, and Components that make it easy to interact with Firebase.
Elm - Compiler for Elm, a functional language for reliable webapps.
elm-react-component
rxjs-hooks - React hooks for RxJS
react-on-rails - Integration of React + Webpack + Rails + rails/webpacker including server-side rendering of React, enabling a better developer experience and faster client performance.
fp-ts-rxjs - fp-ts bindings for RxJS
react-famous - React bridge to Famo.us
fp-army-knife - 100% 🪖 code covered Functional programming 🔪 army knife
react-media - CSS media queries for React
purescript-concur-core - Concur UI library for Purescript. Core framework.