0.12.0 • Published 3 years ago

movium v0.12.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

movium

Movium

Movium is an implementation of the MVU architecture (a.k.a. Elm architecture) in JavaScript. This package provides the base framework built on top of Snabbdom as well a few helper functions.

Status: experimental

This framework is currently in an experimental phase, and the API may change from time to time. Do not expect a stable release until version 1.0.0. Please see the changelog for information about the current progress.

Key features

  • MVU architecture
  • Custom types and type-based pattern matching
  • Integrated HTTP request functions
  • Support for both class-based and style-based transitions
  • Support for binding to document events as well as events outside the node
  • Easily extensible at multiple levels
  • Able to continue running after an uncaught exception

Quick example

import { match, when, id, div, input, onInput, value, p, render } from 'movium'

// MODEL

let init = () => 'hello'

// UPDATE

let SetName = {}

let update = (msg, model) => match(msg,
  when(SetName, id),
)

// VIEW

let view = model => (
  div([],
    p([], `Hello, ${model}`),
    p([],
      input([onInput(SetName), value(model)]),
    ),
  )
)

// Render the example

render(document.querySelector('#app'), init, update, view)

Starting a Movium app project

The simplest way to start is to use degit:

npm degit foxbunny/movium/app-template my-app
cd my-app
yarn
yarn start

If you want to set everything up from scratch, movium package is available on NPM:

yarn add movium

Documentation

Library functions

This section provides an in-depth coverage of various functions that Movium provides. If you want a breadth-first coverage, see the application development guides.

Application development guides

This section provides a broad overview of how to write Movium applications. If you want a more in-dept look at particular features, look at the library functions section.

Example code

The examples directory contains a handful of example apps that demonstrate concepts discussed in the documentation as well as one or two that are not.

To start the example apps, clone this repository to a machine that has NodeJS and yarn, and run the following commands:

yarn install
yarn examples:start

The visit http://localhost:8080 in your browser to see the access the page with a list of examples.

0.12.0

3 years ago

0.11.1

3 years ago

0.11.0

3 years ago

0.10.0

3 years ago

0.9.0

3 years ago

0.8.0

3 years ago

0.7.1

3 years ago

0.7.0

3 years ago

0.6.0

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago