elmish - Elm-like abstractions for F# apps

  •        34

Elmish implements core abstractions that can be used to build applications following the “model view update” style of architecture, as made famous by Elm. The library however does not model any "view" and is intended for use in conjuction with a DOM/renderer, like React/ReactNative or VirtualDOM. Those familiar with Redux may find Elmish a more natural fit when targeting React or ReactNative as it allows one to stay completely in idiomatic F#.

Elmish abstractions have been carefully designed to resemble Elm's "look and feel" and anyone familiar with post-Signal Elm terminology will find themselves right at home.

https://elmish.github.io/elmish/
https://github.com/elmish/elmish

Tags
Implementation
License
Platform

   




Related Projects

dva - 🌱 React and redux based, lightweight and elm-style framework. (Inspired by elm and choo)

  •    Javascript

D.Va’s mech is nimble and powerful — its twin Fusion Cannons blast away with autofire at short range, and she can use its Boosters to barrel over enemies and obstacles, or deflect attacks with her projectile-dismantling Defense Matrix. Sure! We have 1000+ projects using dva in Alibaba.

redux-loop - A library that ports Elm's effect system to Redux

  •    Javascript

A port of the Elm Architecture to Redux that allows you to sequence your effects naturally and purely by returning them from your reducers. Yes! Absolutely.

elm-architecture-tutorial - How to create modular Elm code that scales nicely with your app

  •    

Elm is a programming language that compiles to JavaScript. It is known for its friendly error messages, helping you find issues quickly and refactor large projects with confidence. Elm is also very fast and very small when compared with React, Angular, Ember, etc. This repo focuses The Elm Architecture, an architecture pattern you see in all Elm programs. It has influenced projects like Redux that borrow core concepts but add many JS-focused ideas.

RxAutomaton - RxSwift + State Machine, inspired by Redux and Elm.

  •    Swift

RxSwift port of ReactiveAutomaton (State Machine). Whenever the word "signal" or "(signal) producer" appears (derived from ReactiveCocoa), they mean "hot-observable" and "cold-observable".

scalable-frontend-with-elm-or-redux - An attempt to make Redux and Elm applications scale

  •    Javascript

Thanks to everyone trying to solve the problem. The point of this specification is to see how we can build a scalable frontend architecture.


eslint-plugin-immutable - ESLint plugin to disable all mutation in JavaScript.

  •    Javascript

This is an ESLint plugin to disable all mutation in JavaScript. Think this is a bit too restrictive? Well if you're using Redux and React, there isn't much reason for your code to be mutating anything. Redux maintains a mutable pointer to your immutable application state, and React manages your DOM state. Your components should be stateless functions, translating data into Virtual DOM objects whenever Redux emits a new state. These ESLint rules explicitly prohibit mutation, effectively forcing you to write code very similar to Elm in React. There's no reason to use let in a Redux/React application, because all your state is managed by either Redux or React. Use const instead, and avoid state bugs altogether.

learn-redux - :boom: Comprehensive Notes for Learning (how to use) Redux to manage state in your Web/Mobile (React

  •    HTML

Redux simplifies writing well-structured, predictable, testable & maintainable JavaScript Web Applications. JavaScript web applications can become messy if they don't have a clear organisation from the beginning.

redux - Predictable state container for JavaScript apps

  •    Javascript

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.You can use Redux together with React, or with any other view library. It is tiny (2kB, including dependencies).

redux - Predictable state container for JavaScript apps

  •    Javascript

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger. You can use Redux together with React, or with any other view library. It is tiny (2kB, including dependencies).

Fable - F# to JavaScript Compiler

  •    FSharp

Fable is an F# to JavaScript compiler powered by Babel, designed to make F# a first-class citizen of the JavaScript ecosystem. Fable produces readable JavaScript code compatible with ES2015 standards and popular tooling like Webpack. Call JavaScript from Fable or Fable from JS.

purescript-pux - Build type-safe web apps with PureScript.

  •    PureScript

Build type-safe web applications with PureScript. Pux has not focused on performance yet. The slow performance arises from translating Pux's (smolder) virtual DOM to React's virtual DOM. The goal is to write a purescript virtual DOM module for smolder, which would avoid that translation step and could be optimized for a monadic datastructure. I suspect this would achieve performance on par with Halogen.

prism - React / Redux action composition made simple http://salsita.github.io/prism/

  •    TypeScript

Given function f and function g we can simply compose them: f ∘ g = f(g()). Yes we can! Let's just call it action wrapping. Because it's the same principle like you would be wrapping a box inside a box, the last box in the hierarchy contains some object and that's the Action. We can just wrap action type to keep things simple and because action type is just a string, it's as easy as function composition.

deku - Render interfaces using pure functions and virtual DOM

  •    Javascript

Deku is a library for rendering interfaces using pure functions and virtual DOM. Instead of using classes and local state, Deku just uses functions and pushes the responsibility of all state management and side-effects onto tools like Redux. It also aims to support only modern browsers to keep things simple.

elm-format - elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide

  •    Haskell

elm-format is still in alpha. If you run into any problems, please report them. The format produced by elm-format may change significantly before the 1.0.0 release. If this will cause problems for you, please refrain from using elm-format during the alpha- and beta-test periods.

elm-webpack-loader - Webpack loader for the Elm programming language.

  •    Javascript

Webpack loader for the Elm programming language. It is aware of Elm dependencies and tracks them. This means that in --watch mode, if you require an Elm module from a Webpack entry point, not only will that .elm file be watched for changes, but any other Elm modules it imports will be watched for changes as well.

elm-graphql - GraphQL for Elm

  •    TypeScript

elm-graphql generates Elm code for making GraphQL queries in a type-safe manner.At compile time, elm-graphql takes GraphQL schema and named queries in a .graphql file and generates corresponding Elm types. The schema is obtained by introspection of a live GraphQL server.

elm-todomvc - The TodoMVC app written in Elm, nice example for beginners.

  •    Elm

All of the Elm code lives in src/Main.elm and relies on the elm/html library. There also is a port handler set up in index.html to store the Elm application's state in localStorage on every update.

elm-ui - UI library for making web applications with Elm

  •    Elm

An opinionated UI library for making web applications with Elm. Head over to the official website elm-ui.info to get started.

elm-charts - Create SVG charts in Elm.

  •    Elm

DEPRECATED! This library is for plotting charts using SVG and Elm. Just run elm install and elm reactor and go to http://localhost:8000/examples to play with the examples.