HotDrink A Library for Web User Interfaces
: Freeman J, Järvi J, Foust G
Publisher: ASSOC COMPUTING MACHINERY
: 2013
: ACM sigplan notices
: ACM SIGPLAN NOTICES
: ACM SIGPLAN NOTICES
: 48
: 3
: 80
: 83
: 4
: 0362-1340
DOI: https://doi.org/10.1145/2480361.2371413
HotDrink is a JavaScript library for constructing forms, dialogs, and other common user interfaces for Web applications. With HotDrink, instead of writing event handlers, developers declare a "view-model" in JavaScript and a set of "bindings" between the view-model and the HTML elements comprising the view. These specifications tend to be small, but they are enough for HotDrink to provide a fully operational GUI with multi-way data flows, enabling/disabling of values, activation/deactivation of commands, and data validation. HotDrink implements these rich behaviors, expected of high-quality user interfaces, as generic reusable algorithms. This paper/tool demonstration introduces developers to the HotDrink library by stepping through the construction of an example web application GUI.The library is a concrete realization of our prior work on the "property models" approach to declarative GUI programming. To encourage adoption among developers, we have packaged the technology following established web programming conventions.