What is Flapjax?
Flapjax is a new programming language designed around the demands of modern, client-based Web applications. Its principal features include:
-
Event-driven, reactive evaluationprint time of last click of btn1 or btn2 time: {! merge($EVENT('btn1', 'click'), $EVENT('btn2', 'click')).
snapshot((new Date()).getTime()) !} -
Persistent data saved on a data store we providekeep a copy on the server of 'age' as it changes writePersistentObject($E('age'), {path: ['savedAge']});
-
Convenient data sharingcreate a link to share the current user's tasklist getSharingConsoleLink('receivepage.html?user=' + uidB, ['tasklist']);
-
Access-control for shared datadisplay whether the user can write to an object {! readPermissionsB({path:['tasklist']}).has('WRITE')?'yes':'no'!}
-
Interfaces to external Web servicesshow the first link of a user's delicious bookmarks <input type=text id=u value='enter name'/>:
{! getWebServiceObject_e({url: 'del.icio.us/feeds/json/'
+ $B('u'), serviceType: 'jsonLiteral'}).posts[0].d !} -
Optional templating syntaxprovide a live preview of a form value <input type=text id=age/>
preview: {! 'age:' + $B('age') !}
Flapjax is easy to learn: its syntax is precisely that of JavaScript. Furthermore, because Flapjax is built entirely atop JavaScript, it runs on traditional Web browsers without the need for plug-ins or other downloads. In fact, you can (in exchange for a little more code) use Flapjax purely as a library in JavaScript rather than use the compiler from Flapjax to JavaScript, so you can integrate it into your existing programs.
New! You can now download the Flapjax compiler and library!
Flapjax is licensed under the New BSD license.
Do!
- See Flapjax in action
- Learn how to program in Flapjax
- Run Flapjax programs
- Explore the Javascript library
- Download the client library for yourself
- Login if you already have an account (or Register to write applications that use our persistent store)
- Discuss Flapjax with the developers and other users
- View the blog of progress
- Find whodunnit