Declarative web application development
Autor: | David Ing, Robert Bolton, Kristina Lam Thai, Christopher Rebert |
---|---|
Rok vydání: | 2012 |
Předmět: |
Ajax
SQL Web 2.0 Computer science business.industry computer.internet_protocol Programming language Application server Rich Internet application Dynamic web page Client-side computer.software_genre JavaScript World Wide Web Web page Web application business Web application development computer Server-side XML computer.programming_language |
Zdroj: | SIGMOD Conference |
DOI: | 10.1145/2213836.2213969 |
Popis: | The development of modern, highly interactive AJAX Web applications that enable dynamic visualization of data requires writing a great deal of tedious "plumbing code" to interface data between browser-based DOM and AJAX components, the application server, and the SQL database. Worse, each of these layers utilizes a different language. Further, much code is needed to keep the page and application states in sync using an imperative paradigm, which hurts simplicity. These factors result in a frustrating experience for today's Web developer. The FORWARD Project aims to alleviate this frustration by enabling pages that are "rendered views", in the SQL sense of "view". Our work in the project has led to a highly declarative approach whereby JavaScript/AJAX UI widgets automatically render views over the application state (database + session data + page data) without requiring the developer to tediously code how changes to the application state lead to invocation of the components' update methods.In contrast to conventional Web application development approaches, a FORWARD application involves only two languages, both declarative: an extended version of SQL, and an XML-based language for configuration and orchestration. The framework automatically handles efficient exchange of user input and changes to the underlying data, and updates the application state accordingly. The developer does not need to write any JavaScript or explicit updating code themselves. On the client side, FORWARD "units" wrap widgets using JavaScript to collect user input, directly display data, and reflect server-side updates to the data. On the server side, units contain Java code necessary to expose their functionality to the FORWARD framework and define their XML configuration representation.Our demo consists of a dynamically rendered webpage which internally uses AJAX to update a Google Maps widget that shows location markers for current Groupon deals in a specified area. It will illustrate that our SQL-driven approach makes this kind of rich dynamic webpage easy to write, with significant improvements in simplicity, brevity, and development time, while still providing the quality experience expected from top AJAX components. The amount of "plumbing code" is significantly reduced, enhancing the experience of AJAX Web application developers. |
Databáze: | OpenAIRE |
Externí odkaz: |