All Projects → HotDrink → hotdrink

HotDrink / hotdrink

Licence: other
JavaScript MVVM library with support for multi-way dependencies and generic, rich UI behaviors.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Makefile
30231 projects
emacs lisp
2029 projects

HotDrink

This version of HotDrink is not under active development. A Rust/WebAssembly-based implementation is in the works at the hotdrink-rs repo.

HotDrink is a JavaScript library for User Interface programming. Instead of requiring programmers to write explicit event handlers, HotDrink derives user interface behavior from a declarative specification of data dependencies.

For a brief overview on the functionality HotDrink provides, see the HotDrink overview.

For a thorough introduction on how to use HotDrink, see How to use HotDrink.

You can find compiled versions of HotDrink on GitHub under releases.

Building

Building is performed with the make tool. Run make with no arguments to get a list of possible make targets. They are:

  • hotdrink - Compile the HotDrink library; this is probably the target you want
  • hotdrink.min - Compiled minified version of HotDrink library; same library, smaller file
  • fn-worker - Include file for HotDrink's web worker framework; only needed if you want to write web workers using HotDrink's framework
  • compile-dfa - A DFA compiler for models; this tool can make a more efficient constraint solver for certain types of constraint systems; it's unlikely that you'll need this
  • qunit - QUnit tests; for testing purposes only
  • howto - Export how-to documentation; note, however, that you can find this on GitHub
  • all - all of the above
  • clean - remove all created files

Build results may be found in the scripts directory, with the exception of the how-to, which is found in docs/howto/publish.

The following tools are required for building.

Project layout

This repository is organized as follows.

  • docs - Documentation
    • docs/howto - The HotDrink how-to: in-depth instructions on using HotDrink
  • src - Source code
    • src/apps - Stand-alone applications
    • src/hd - HotDrink source code
    • src/qunit - QUnit tests
    • src/workers - HTML5 web workers
  • test - Files for testing
    • test/cases - Stand-alone web pages using HotDrink
    • test/models - JavaScript defining various models using HotDrink; no web pages
    • test/qunit - Harness for running QUnit tests
    • test/vis - Visualizer for viewing models

In addition, building HotDrink will create the following directories.

  • modules - Compiled versions of each TypeScript module
  • scripts - Build results
  • tmp - Temporary compilation results

These directories are deleted by make clean.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].