TY - JOUR
T1 - Flapjax
T2 - A programming language for ajax applications
AU - Meyerovich, Leo A.
AU - Guha, Arjun
AU - Baskin, Jacob
AU - Cooper, Gregory H.
AU - Greenberg, Michael
AU - Bromfield, Aleks
AU - Krishnamurthi, Shriram
PY - 2009/10
Y1 - 2009/10
N2 - This paper presents Flapjax, a language designed for contemporary Web applications. These applications communicate with servers and have rich, interactive interfaces. Flapjax provides two key features that simplify writing these applications. First, it provides event streams, a uniform abstraction for communication within a program as well as with external Web services. Second, the language itself is reactive: it automatically tracks data dependencies and propagates updates along those dataflows. This allows developers to write reactive interfaces in a declarative and compositional style. Flapjax is built on top of JavaScript. It runs on unmodified browsers and readily interoperates with existing JavaScript code. It is usable as either a programming language (that is compiled to JavaScript) or as a JavaScript library, and is designed for both uses. This paper presents the language, its design decisions, and illustrative examples drawn from several working Flapjax applications.
AB - This paper presents Flapjax, a language designed for contemporary Web applications. These applications communicate with servers and have rich, interactive interfaces. Flapjax provides two key features that simplify writing these applications. First, it provides event streams, a uniform abstraction for communication within a program as well as with external Web services. Second, the language itself is reactive: it automatically tracks data dependencies and propagates updates along those dataflows. This allows developers to write reactive interfaces in a declarative and compositional style. Flapjax is built on top of JavaScript. It runs on unmodified browsers and readily interoperates with existing JavaScript code. It is usable as either a programming language (that is compiled to JavaScript) or as a JavaScript library, and is designed for both uses. This paper presents the language, its design decisions, and illustrative examples drawn from several working Flapjax applications.
KW - Functional reactive programming
KW - JavaScript
KW - Web programming
UR - http://www.scopus.com/inward/record.url?scp=70350637644&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=70350637644&partnerID=8YFLogxK
M3 - Article
AN - SCOPUS:70350637644
SN - 1523-2867
VL - 44
SP - 1
EP - 20
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 10
ER -