An AJAX-based application architecture Rollup

Source: Internet
Author: User
Tags functions net php class php file php and version thread ruby on rails
The browser-side framework is divided into two broad categories:

• Application framework: Provides browser functionality, but is often known to include widget abstractions and other parts, and functions primarily around the desktop GUI framework.

• Infrastructure Framework: Provides basic plumbing and portable browser abstraction for developers to create content. Typical features:

* For XMLHttpRequest wrappers to encapsulate browser-server interaction. (All of the frameworks provide this functionality).

* XML operations and queries.

* Perform DOM operations based on answers from XMLHttpRequest.

* In some cases, it is integrated with other browser-side technologies such as Flash (and potential Java applets).

Server-side frameworks typically work in the following two ways (although they are categorized here based on language differences):

· Html/js Generation: The server provides complete Html/javascript code generation and browser-server coordination, with the result that only the browser-side encoding can be customized.

• Remote invocation: JavaScript calls are routed directly to server-side functions (such as Java methods) and are returned to the JavaScript callback processor, or JavaScript invokes the server to extract information, such as session details, database queries, and so on.

• Pure javascript: application framework

1.1 Bindows (since 2003)

The URL is: http://www.bindows.net,Bindows is a software development kit (SDK), which, through strong federated dhtml,javascript,css and XML technology, can generate highly interactive Internet applications-becoming a powerful opponent of modern desktop applications. Bindows applications do not require downloads and do not need to be installed on the client side-only one browser is required (and no java,flash or ActiveX is required). Bindows has the potential to lead the platform of Object-oriented development AJAX applications.

• It is commercially available, using technology from MB (headquartered in GA USA, main development center in Sweden, established in 2002).

The Bindows framework is available to you:

• Class-based object-oriented APIs

• A complete window system that provides wide range of widget support including menus, forms, grids, sliders, quanta, and even more

• The leading toolkit for developing Zero-footprint SOA client applications

• Xml,soap and XML-RPC support for this machine

• Single-User to Enterprise-class support

• Built-in support for Ajax

Bindows Development Environment:

• Support for enterprise-scale engineering development

• Cross-browser, cross-platform support

• Server Independent structure

• Interoperability with new and existing resources

• Consistent development Methodologies

1.2 Backbase (since 2003)

The URL is: http://www.backbase.com, a comprehensive browser-side framework that supports rich browser capabilities as well as integration with. NET and Java.

• Commercialization, from Backbase B.V (headquartered in Amsterdam, founded in 2003).

1.3 DOJO (in development; since September 2004)

The URL is: http://dojotoolkit.org/, providing full window widget and browser-server message support.

• Provides framework support for creating custom JavaScript window widgets.

• Out-of-the-Window widget library.

• Browser-server messages support-xmlhttprequest and additional mechanisms.

• Support URL manipulation functions in browsers.

• Open Source License (Academic Freedom License 2.1 (http://opensource.org/licenses/afl-2.1.php)), by Alex Russell of JotSpot (http://www.jot.com/) (http:// alex.dojotoolkit.org/) led the team.

1.4 Open Rico (in development; since May 2005; based on the early private framework)

The URL is: Http://openrico.org/demos.page, a multipurpose framework that supports AJAX infrastructure and user interaction.

• A XMLHttpRequest response can be routed to one or more callback operations, DOM objects, or JavaScript objects.

• Easy mouse Drag support.

· Ajax animations, such as scaling and transformations.

·" Behavior "-essentially a window widget library.

• Use Guide (http://www.mirimar.net/mailbrowser/), provided by Russmirimar's Yonah

Open-source From the Sabre Airlines solution, supported by Bill Scott (http://looksgoodworkswell.blogspot.com), Darren James, and others.

1.5 Qooxdoo (in development; since May 2005)

The URL is: http://qooxdoo.sourceforge.net/, another ambitious framework that provides wide range of UI support and infrastructure features under development.

• Infrastructure:

* A portable abstraction of DOM and event/focus management.

* Debugging support.

* Timer classes that are easy to schedule.

* Getter/setter support.

· Ui:

* Window widget frame and preset window widget library.

* Layout Manager.

* Image buffering and portable PNG transparency.

• Open Source (LGPL). From a variety of contributors.

1.6 Tibet (in development; since June 2005)

The URL is: http://www.technicalpursuit.com/, designed to provide a highly portable and comprehensive JavaScript API, with the result that a large number of client-side code can be generated automatically. Claiming to be "enterprise-Class Ajax".

• Remote scripts run on top of XMLHttpRequest wrappers-support for workflow management by coordinating call results, such as when a response can occur only when two separate calls are returned.

· URI support.

• All HTTP methods-not just "get" and "POST".

• Low-level protocols-file://and WebDAV as well as HTTP.

· Web service invocation-soap,xml-rpc, and so on.

• Preset support for Google Api,amazon APIs, and so on.

• A large library composed of advanced JavaScript objects.

• Many XML operations.

· IDE and development tools.

• Open Source License (obviously with OSI certification, but not much detail).


2 Pure javascript: Infrastructure framework

2.1 Ajaxcaller (alpha version; since May 2005)

The URL is: http://ajaxify.com/run/testAjaxCaller/, is a basic thread-safe XMLHttpRequest wrapper, mainly for Ajax novice, still in the original Alpha development phase, Currently only packaged with Ajaxpatterns's online search paradigm.

• Implement a call to the server (Get/post/put/delete), complete with routing to plain-text or XML for a callback operation.

• Destructor of the used XMLHttpRequest object.

· Response buffer (planned).

• Novice Ajax-not an emphasis on performance optimization, this library is primarily used to implement readable basic code and will provide debugging support.

• Open Source License. Maintained by Michael Mahemoff (Http://softwareas.com) (with some ideas of John Wehr and Richard Schwartz).

2.2 Flash JavaScript Integration pack

The URL is: HTTP://WWW.OSFLASH.ORG/DOKU.PHP?ID=FLASHJS, allowing integration of JavaScript and Flash content:

• Enable JavaScript to invoke ActionScript functionality and the reverse implementation.

• All major data types can be passed between the two environments.

• Open Source License. Supported by multiple open source flash contributors.

2.3 Google Ajaxslt (released in June 2005)

The URL is: http://goog-ajaxslt.sourceforge.net/, a JavaScript framework for performing XSLT transformations and XPath queries.

• Build on Google Maps work.

• Open Source License (BSD). Supported by an innovative search program company, calling itself "Google".

2.4 Htmlhttprequest (beta edition; started in 2005)

Htmlhttprequest (http://www.twinhelix.com/javascript/htmlhttprequest/), which uses XMLHttpRequest and iframes to improve compatibility.

• Tested and able to work in: Ie6/win,ie5.5/win,ie5/win,ie4/win,mozilla/win,opera7/win,safari/mac,ie5/mac.

• Not tested, may be able to work in: Ie4/mac,mozilla/mac,opera/other,konqueror/linux. Are you using one of these? The author is requesting compatibility information.

• Open Source License (LGPL). Maintained by Angus Turnbull of Twin Helix Designs (http://www.twinhelix.com/).

2.5 Interactive website Framework (since May 2005)

The interactive Web site framework (http://sourceforge.net/projects/iwf/) is a project designed to support the multidimensional aspects of the AJAX infrastructure from the browser side. Describes the framework for using Javascript,css,xml, and HTML to create highly interactive Web sites. Includes a custom XML parser for highly readable JavaScript. Essentially, it is the foundation of an AJAX-based Web site, as well as some other generic scripts.

• Thread-safe XMLHttpRequest implementations.

• Wrappers for XML documents so that you can create more readable code:

var node = doc.groceries.frozen[0].pizza[0].size;</pre>

Instead of manual navigation:

var node = doc.documentElement.firstChild.firstChild.getAttribute ("size");</pre>

• Open Source License. Maintained by Weaver (Http://circaware.com|Brock).

2.6 Libxmlhttprequest (released in June 2003)

Libxmlrequest (http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html), It's a thin wrapper for XMLHttpRequest.

Getxml () and Postxml () methods.

· XMLHttpRequest Object Pool Support.

· Response buffer.

• Available source code (obvious), but protected by standard copyright, is maintained by Stephen W.coate (http://www.whitefrost.com/index.jsp).

2.7 Rslite (x)

The website is: http://www.ashleyit.com/rs/main.htm, is a thin wrapper for XMLHttpRequest.

• A simple component that is distributed as part of Brent Ashley's more comprehensive remote scripting work (see JavaScript remote scripting-jsrs on the multilingual server side).

2.8 Sack (in development, since May 2005)

The website is: http://twilightuniverse.com/2005/05/sack-of-ajax/, is a thin wrapper for XMLHttpRequest.

• The caller can specify a callback function or call back the DOM object. The response text is pushed directly into the DOM with the help of the callback Dom

2.9 Sarissa (released in February, 2003)

The website is: Http://sarissa.sf.net, a JavaScript API that encapsulates the ability to invoke XML independently on the browser side.

• Portable XMLHttpRequest Creation

• Portable XPath queries

• Portable DOM Operations

• Portable XSLT

• Portable XML serialization

• Open Source (GPL2.0 and LGPL2.1). From a variety of contributors.

2.10 Xhconn (released since April, 2005)

The website is: http://xkr.us/code/javascript/XHConn/, is a thin wrapper for XMLHttpRequest.

e.g.

New Xhconn (). Connect ("mypage.php", "POST", "Foo=bar&baz=qux", Fnwhendone);

• Open Source License. Maintained by Brad Fults.


3 server-side: multiple languages

3.1 Cross-platform Asynchronous Interface Toolbox (May 2005)

cpaint:http://cpaint.sourceforge.net/, is a true support for PHP and Asp/vbscript Ajax implementations and JSRS (JavaScript remote scripting) implementations. Cpaint provides you with the required code to implement Ajax and JSRs in the background, while the returned data is manipulated, formatted, and displayed in JavaScript format. This allows you to create Web applications that provide near-real-time feedback to the user.

• Support Php&asp

• Consistent JavaScript files for all functions

• Support for remote scripts and XML

• Support for local and remote functions

• Single or multiple XMLHTTP objects

• Return background data as text or JavaScript Xml/dom document objects

• Ability to support post and get requests

• Background agent functions to access remote functions and data

• Tested on all major browsers

• Issued under the GNU GPL&AMP;LGPL Protection

3.2 SAJAX (available, but not version 1.0; since March 2005)

The website is: http://www.modernmethod.com/sajax/, directly sending calls from JavaScript to your server-side language and returning again. For example, calling a JavaScript method X_calculatebudget () will first reach the server and invoke a Java Calculatebudget () method, and then return the value to X_ in JavaScript mode CALCULATEBUDGET_CB ().

• Facilitates mapping from JavaScript proxy functions to background operations.

• The ability to delegate calls to numerous server-side platforms (Asp/coldfusion/io/lua/perl/php/python/ruby).

• Open Source License. From a variety of contributors.

3.3 Javascipt Object Flags (JSON) and JSON-RPC

JSON (http://www.crockford.com/JSON/index.html) is a "Fat free XML Selection", while Json-rpc (http://www.json-rpc.org/) is a remote process protocol, Similar to XML-RPC, strong support for JavaScript customers.

• Implement a multiple server-side platform (http://www.json-rpc.org/impl.xhtml): Java,python,ruby,perl.

• Separate packaging and licensing for each platform, such as Json-rpc-java (http://oss.metaparadigm.com/jsonrpc/).

3.4 JavaScript Remote script (JSRS) (since 2000)

The URL is: http://www.ashleyit.com/rs/jsrs/test.htm, directly send calls from JavaScript to your server-side language and return again.

• Well-known browsers: Ie4+,ns4.x,ns6.x,mozilla,opera7 and Galeon.

• Server-side support: Asp,coldfusion,perlcgi,php,python and JSP (servlet).

• Open Source License. The support is provided by Brent Ashley (http://www.ashleyit.com/).

4 Server-side: Java

Note: Many of the existing frameworks are recently adding Java support (such as struts), which I will point out later.

4.1 Weborb for Java (since August 2005)

URL: http://www.themidnightcoders.com/weborb/aboutWeborb.htm, is a platform that supports the development of Ajax and Flash based fat client applications, and can put them with Java objects and XML Web services are tied together. Online Example (http://www.themidnightcoders.com/examples)

· Weborb includes a client library called a Rich Customer System (http://www.themidnightcoders.com/rcs/index.htm). The rich customer System provides a simple online API to bind to and invoke any Java objects, XML Web Services, or methods on the EJB.

• Synchronous and asynchronous method calls are supported.

• Does not require any modification on the server-side code, and does not require custom method attributes, special signatures, or parameter types. ★ Do not require a design-time build agent.

• Synchronous calls return data from the call, which does not need to be called back. An asynchronous invocation relies on a callback implementation.

• Any server-side method can be invoked synchronously or asynchronously.

• Client applications can request the specified activity mode to the server object. As a result, objects can be easily created without any special programming.

• Provides a specific API to handle database query results-server code can return data sets or data tables, and clients display this result with a special recordset JavaScript object. This object provides a method for retrieving column names and row data.

• Support data paging technology. The client application can retrieve data from the page.

• Supports all server-side parameter types and returns values-prototypes, strings, composite types, arrays, native. NET collections, remote references.

• A total of two versions available: Standard Edition (free) and Professional Edition (commercial license)

4.2 Echo 2 (since March 2005)

The URL is: http://www.nextapp.com/products/echo2/, which allows you to write AJAX applications with pure Java code (example Http://demo.nextapp.com/InteractiveTest/ia ))。

Automatically generates HTML and JavaScript.

• Reconcile the messages between the browser and the server. The message form is XML.

• Custom JavaScript widgets can be written manually if needed.

• Open Source License (Mozilla Public License or GNU LGPL). From next app,inc. (http://www.nextapp.com/).

4.3 Direct Web Remoting (DWR) (2005)

The URL is: http://www.getahead.ltd.uk/dwr/, a framework for invoking Java methods directly from JavaScript code.

• Like Sajax, you can pass calls in JavaScript to Java methods and return to JavaScript callback.

• Can be used with any web framework (struts,tapestry, etc.).

• Open Source License (Apache (http://www.apache.org/LICENSE.txt)). Supported by Joe Walker (http://www.getahead.ltd.uk/sg/space/joe/). Was added to the WebWork (http://www.opensymphony.com/webwork/) version.

4.4 Swato (2005)

The URL is: http://swato.dev.java.net/, a reusable and well integrated Java/javascript library that implements an easier way to change the interaction of your Web application, which is implemented through Ajax.

• Server-side Java libraries can be easily configured into all of the servlet 2.3+ matching containers.

• The client JavaScript library works in a variety of browsers that support Httpxmlrequest.

• Use JSON to marshal your Pojo data on the server side. This allows you to access remote data in any JavaScript environment (HTML,XUL,SVG), which can be easily implemented through hard coding or integration with a mature JavaScript library.

• Provides a simple interface to enable your JavaScript code to interact with remote Pojo (RPC, etc.) that is exposed to the client.

• Use the easy and flexible configuration of <servlet> and <filter> in Web.xml, and can (but not rely on) integrate with spring.

• Provides several components to help you quickly develop Web applications (such as automatically completed text boxes, online forms, online lists, and so on).



5 Server side: Lisp

5.1 Cl-ajax

URL: Http://cliki.net/cl-ajax, to implement JavaScript directly invoke the server-side Lisp function.

• Output functions as follows:

(export-function # ' my-function)

• JavaScript proxies with parameters can be generated.

• Can be called back to JavaScript functions or DOM objects.

• Can be integrated into Sajax.

• Open source (custom, very flexible, licensed). Maintained by [Richard Newman] (http://www.holygoat.co.uk/).

6 server-side:. NET

6.1 Weborb For.net (since August 2005)

Web site: http://www.themidnightcoders.com/weborb/aboutWeborb.htm, a platform for developing Ajax and Flash-based rich client applications, and connecting them to. NET Objects and XML Web Services. (online example (Http://www.themidnightcoders.com/examples))

· Weborb includes a client library named Rich client System (http://www.themidnightcoders.com/rcs/index.htm). Rich Client System provides a simple online API to bind to and invoke any. NET object or any method on an XML Web service.

• Support for synchronous and asynchronous method calls

• Does not require any modification on the server-side code, and does not require custom method attributes, special signatures, or parameter types. * * does not require design-time proxy generation.

• Synchronous calls return data from the call (no callback is required). An asynchronous invocation relies on a callback implementation.

• Any server-side method can be invoked synchronously or asynchronously.

• Client applications can request the specified activity mode to the server object. As a result, objects can be easily created without any special programming.

• Provides a specific API to handle database query results-server code can return a dataset or DataTable, and the client displays the result with a special recordset JavaScript object. This object provides a method to retrieve column names and row data

• Support for data page technology. The client application can retrieve data from the page.

• Supports all server-side parameter types and returns values-prototypes, strings, composite types, arrays, native. NET collections, remote references

• A total of two versions available: Standard Edition (free) and Professional Edition (commercial license)

6.2 Ajax.NET (since March 2005)

The URL is: http://ajax.schwarz-interactive.de/, a library that implements access from JavaScript to server-side. Net.

• Like Sajax, you can pass calls in JavaScript to the. Net method and return to JavaScript callback.

• Access to session data from JavaScript.

• Cache Results

• Free use, available source code, not specified use license. Maintained by Michael Schwarz (http://weblogs.asp.net/mschwarz/).

• Do not allow changes to the source code, using attribute tagging method

• Full class support to return client JavaScript values

• Use HtmlControls for input and return values

• Can return data tables, datasets, data Views, arrays, and collections

7 Server-side: PHP

7.1 Ajaxac (since April 2005)

The URL is: http://ajax.zervaas.com.au/, with a single PHP class encapsulating the full application.

• All application code is self-contained in a single class (with additional JavaScript libraries attached)

• Cleanly call PHP file/html page. Simply create the application class, and then reference the application JavaScript and the HTML element that relies on any needs to the application.

• Easy to handle inline features of JavaScript events

• Create child needs and handle their inline functionality

• Allow custom configuration values, so some units can be set at run time

• Clutter-free JavaScript code is mixed in code that calls HTML-all events are dynamically dependent

• Due to the above two reasons easy to integrate with template engine

• Easily hook into existing PHP classes or MySQL databases to return data from child requirements

• Extensible widget structure for JavaScript objects can be easily further generated (but some work needs to be done)

Background:

• Open Source License (Apache2.0). Supported by Zervaas Enterprises (http://ajax.zervaas.com.au/)

7.2 Jpspan

URL is: http://jpspan.sourceforge.net/wiki/doku.php, directly to the JavaScript call to the PHP function.

• A serious unit test was conducted.

• Open Source License (PHP).

7.3 Xajax

URL is: http://xajax.sf.net, directly to the JavaScript call to the PHP function.

• Use JavaScript proxies to invoke PHP scripts.

Open-source Created by J.max Wilson.

8 Server side: Ruby

Ruby on Rails (http://www.rubyonrails.org/) is a common, powerful AJAX-enabled web framework:

• When Ajax appears, rails is still in its early stages of development, so Ajax may gradually become the core of the rails framework.

• Create JavaScript scripts for most/all window widgets and animations in the browser.

• Support for server-side calls.

• Scheduling support.

• Open Source License.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.