Shpadoinkle-backend-snabbdom: Use the high-performance Snabbdom virtual dom library written in JavaScript.

[ bsd3, library, web ] [ Propose Tags ] [ Report a vulnerability ]

Snabbdom is a battle-tested virtual DOM library for JavaScript. It's extremely fast, lean, and modular. Snabbdom's design makes Snabbdom a natural choice for a Shpadoinkle rendering backend, as it has a similar core philosophy of "just don't do much" and is friendly to purely functional binding.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.2.0.0, 0.3.0.0, 0.3.0.1, 0.3.0.2
Change log CHANGELOG.md
Dependencies base (>=4.12.0 && <4.16), file-embed (>=0.0.11 && <0.1), ghcjs-dom (>=0.9.4 && <0.20), jsaddle (>=0.9.7 && <0.20), mtl (>=2.2.2 && <2.3), Shpadoinkle, text (>=1.2.3 && <1.3), unliftio (>=0.2.12 && <0.3) [details]
License BSD-3-Clause
Author Isaac Shapira
Maintainer fresheyeball@protonmail.com
Category Web
Source repo head: git clone https://gitlab.com/fresheyeball/Shpadoinkle.git
Uploaded by fresheyeball at 2020-10-07T16:00:02Z
Distributions
Downloads 967 total (15 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-10-07 [all 1 reports]

Readme for Shpadoinkle-backend-snabbdom-0.2.0.0

[back to package description]

Shpadoinkle Backend Snabbdom

Goldwater Haddock BSD-3 built with nix Hackage Hackage Deps Hackage CI

This package contains a script to setup the Snabbdom virtual dom library as a backend to render Shpadoinkle applications.

Snabbdom consists of an extremely simple, performant, and extensible core that is only ≈ 200 SLOC. It offers a modular architecture with rich functionality for extensions through custom modules. To keep the core simple, all non-essential functionality is delegated to modules.

These design decisions made Snabbdom a good fit for Shpadoinkle's first high-performance pure JavaScript backend. Right now Snabbdom is being provided using CloudFlare content delivery network (CDN) and is not included in this repo. This is great for getting started fast and having a transparent developer experience where you can simply switch to the backend of your choosing. However, this is not a stable long term approach as the CDN artifact could be removed at any time. If you wish to use Snabbdom in production, I recommend either:

  • Proactively monitoring the CDN endpoints
  • Wrap SnabbdomT in your own newtype and overriding the setup method in the Backend instance with a mechanism where you provide Snabbdom's JavaScript artifacts yourself.