Product information See CrunchyCode in action Get the latest updates Get CrunchyCode Now Get help with CrunchyCode

What will websites of the future look like ? The answer is Web 2.0. Not a specific technology, per se, but an ideal, Web 2.0 applications essentially deliver (via the internet), the same kind of rich user experience and seamless intercommunications that client/server applications have delivered to users for decades.

Once upon a time, client server applications delivered a performant, scalable, highly interactive architecture featuring drag and drop, sortable, editable spreadsheet style grid controls, MDI forms, context sensitive hierachical popup menus and seamless database interaction.



Web apps are worse than their predecessors in many ways, from both a functional and technical perspective. Introducing many more failure points, impossible to test scenarios and a hodge podge of different languages , syntaxes and technologies to mesh together, browser based applications often deliver the barest skeleton of a user interface necessary to get the job done. Until recently most web developers have had little in their arsenal that will provide seamless rich client functionality and postback free database interaction.

There is an answer, several in fact. Recently there has been a rise in technologies and "killer apps" that combine a rich web based user interface with the security and scalability of the various established commerical server platforms.

- Google's Maps application (http://maps.google.com) allows a user to navigate their way through a street directory of the United States.

- Dell's "Customise and Buy" websites (http://www.dell.com.au) seamlessly update the total price without visible postbacks, as a PC configuration is modified by the user.

- The Microsoft ATLAS project (http://www.asp.net/default.aspx?tabindex=7&tabid=47) combines Dynamic HTML with postback free communication between browser and web services.

- The Disney website (http://www.disney.com) has been written almost entirely in Macromedia's Flash technology, which provides seamless communication between client and server, as well as spectacular user interface effects that can't be accomplished with HTML based scripting languages and stylesheets, or browser specific features.

The Web 2.0 evolutionary jump in web application development has been coming for some time now. New (well, arguably new) and old technologies have been meshed together to allow web based applications to revive some of the old features that were there in those old "obselete" client/server applications. Several of the key components of Web 2.0 are:

- AJAX , Asynchronous JavaScript and XML (and other similar technologies that it evolved from) facilitates bidirectional communication from a webpage to a web server without initiating a postback. This can be used to retrieve additional data from a database, or to transmit user entered values to the server for validation and saving.

- Dynamic HTML allows a web page's user interface to be modified on the fly (usually in response to user interaction with the screen), again, without initiating a postback to the server. This can be used to implement features like popup context menus, to add columns and content to a table of information, to provide drag and drop functionality and MDI child forms.

- Web Services provide secure encapsulation of business logic and database interaction, and also provide developers with a standards based interoperablae method for subscribing to specialist services that would be difficult to maintain and code by hand. Daily exchange rate conversions between any currencies, are an example of a service that is probably easier to subscribe to than to define , develop and maintain by hand.

Although not generally associated with Web 2.0, there are a number of vendor specific technologies that can be used to build a spectacular user interface without postback based communication between client and server. A few of the main players are mentioned here:

- Sun Microsystems Java technology (applets and applications, as opposed to JSP) provides a secure, web based rich UI which offers a number of options for communicating between browser and server.

- Macromedia Flash has proven to be an invaluable tool for web based advertisements and video footage. Recent versions of Flash have now provided a forms based application development environment , with familiar components for client server developers such as datagrids, treeviews, comboboxes and customisable dialog boxes.

- Microsoft Smart Client Technology primarily targets Windows clients (and therefore the intranet as opposed to the internet), taking advantage of the presence of the .NET runtime to allow complete access to the graphical and operating system capabilities to build full featured, performant applications.

- Microsoft ActiveX technology has proven to be an invaluable way of filling in functionality gaps that standards based HTML and browser features simply can't fulfill, such as interactive 3D walkthroughs of housing estates, or real-time video/audio. ActiveX also targets Windows clients and doesn't rely on the .NET runtime.



There are obviously many different ways to build a Web 2.0 application. You can cut mounds of JavaScript code by hand (which is what most developers will do) or use one of the myriad vendor specific methodologies being pushed.

Each approach has it's pros and cons. For example, JavaScript coding is fraught with peril. Handwritten code is almost never going to work cross browser (or cross version of a single browser, even). Macromedia Flash can produce spectacular results, but does the average ASP/SQL developer have the skills to integrate Flash into a database application?

A better option, is to let CrunchyCode do the work for you.

Using CrunchyCode allows you to try numerous different techniques against your own database, without manually coding anything.

You can assess the pros and cons of different technologies from different vendors. By building multiple applications simultaneously, without you (or your team) lifting a finger, you can pick the user interface and coding styles that best suit your dev team and business requirements. You can measure the performance impact of implementing different technologies on large recordsets, small recordsets, high volume, low volume, usage patterns and much more

 

 

Contact UsTerms of Use Privacy Policy