FREE ELECTRONIC LIBRARY - Thesis, dissertations, books

Pages:   || 2 | 3 |

«AL Developing Next-Generation RI Web Applications TE MA Web applications have historically been less rich and responsive than desktop applications. ...»

-- [ Page 1 ] --

04_109625 ch01.qxd 4/27/07 9:42 PM Page 1


Developing Next-Generation


Web Applications



Web applications have historically been less rich and responsive than desktop applications. End

users don’t necessarily understand the details of how an application works, but they know that


interacting with a website in the browser is distinctly different from using an application installed

locally. When a development team tackles a new project, one of the first questions they are faced with is whether end users can accept the limitations of web development or whether they need to HT require a client desktop application to be installed. Web applications are accessible from just about any browser, just about anywhere, but they are limited by what you can do with markup and script code running in the browser.

IG Desktop applications, also called fat client applications, require that the user perform an installation on their machine, but let developers leverage the advanced mouse and graphics capabilities of R the operating system that would be extremely difficult to implement in a web browser, and also take advantage of the user’s machine for tasks such as offline storage. Conversely, web applicaPY tions can be updated just by changing what is running on the server, and site visitors get the latest version instantaneously. However, it’s much more difficult to update a desktop application, because you’d have to get users to perform yet another installation or else ensure that the applicaCO tion has been coded to include a clever system for doing updates automatically.

Web applications are said to use a zero-deployment model, but desktop applications use a heavy deployment and configuration model. The choice is often characterized as a tradeoff between rich and reach: Desktop applications generally offer a richer user experience than what could be offered in the browser, but with a web application you are able to reach users anywhere on anyOS with almost no extra effort. Further, many companies have restrictive policies in place regarding what software can be installed on employees’ machines, and they often don’t allow employees to have administrative access that is required to install new applications, so web applications will be the only viable option in many situations.

04_109625 ch01.qxd 4/27/07 9:42 PM Page 2

Chapter 1: Developing Next-Generation Web Applications

Bringing Richness to Web Applications Years ago, having a web presence was a distinguishing factor for companies. That is no longer the case.

Now just having a web presence is no longer enough. Companies are distinguishing themselves further through web applications that react intuitively to customer actions and anticipate user input. This book shows you how ASP.NET AJAX addresses specific web development challenges and paves the way for taking your website to another level of user experience. In this chapter, I discuss the need for richer frameworks in web application development. I talk about the key pieces of the ASP.NET AJAX platform and highlight some other options.

The fundamental set of technologies that enable the next generation of web applications are not new.

Online news articles and blogs point to Google, Flickr, and several other services as prime examples of leveraging these technologies in unique ways. The applications have some unique features, but in reality, the underlying technologies have been around and in use for nearly a decade. Take a look at how Microsoft Exchange Server provided rich access to email from a web browser in the Outlook Web Access application, and you can see that the concept of ubiquitous access from a browser while leveraging a common set of browser features for a rich user experience has been around and in practice for years.

Users get a remarkably full-featured application with no local installation and are able to access e-mail from virtually any machine.

The technologies in use for building rich applications are generally referred to as AJAX (Asynchronous JavaScript and XML). While the acronym is nice, it doesn’t do much to explain what is actually happening. Instead of building a web application to be just a series of page views and post backs, developers are using JavaScript to communicate asynchronously with the web server and update parts of the page dynamically. This means that the web page can dynamically adapt its appearance as the user interacts with it, and it can even post or fetch data to or from the web server in the background. Gone are the days of the ugly post back, which clears the user’s screen and breaks his concentration! Instead, we need to post back now only if we want to change to a different web page.

Even that rule can be bent. Some applications are pushing this boundary and completely changing the user’s view, just as though they navigated to a new page, but they do so through an asynchronous post and by changing the page content without actually navigating to a new URL.

The AJAX acronym refers to XML as the data format being exchanged between client and server, but in reality, applications are being built that retrieve simple pieces of text, XML, and JSON (JavaScript Object Notation) (which I discuss in more detail in Chapter 4). Part of the AJAX appeal isn’t even covered by the acronym: In addition to communicating with the server without blocking, developers are leveraging Dynamic HTML (DHTML) and Cascading Style Sheets (CSS) to create truly amazing user interfaces.

JavaScript code running on the client communicates asynchronously with the server and then uses DHTML to dynamically modify the page, which supports rich animations, transitions, and updates to the content while the user continues interacting with the page. In many cases, users won’t even realize they are using a web application!

Who Benefits from AJAX?

AJAX offers benefits to both end users and developers. For end users, it reduces the “rich or reach” conflict; for developers, it helps in overcoming the constraints raised by HTTP.

04_109625 ch01.qxd 4/27/07 9:42 PM Page 3

–  –  –

Why End Users Want AJAX Applications Users tend to view desktop applications as a sort of commitment. They install a program, usually from a disk pulled from a costly shrink-wrapped box. The program consumes hard disk space as well as a position in the program menu. The user may need to update the program periodically or perform an upgrade later on to get new features. If the program is proactive about updating itself, the user is confronted regularly with dialogs about accepting patches or downloads. In exchange for this investment of time, money, and energy, the user gets repaid by an application that is able to leverage the operating system and machine resources. It is a rich application. It has local storage capabilities, offers quick response times, and can present a compelling and intuitive graphical user interface.

–  –  –

The AJAX set of technologies has changed what users expect from web applications. JavaScript code running in the browser works to exchange data with the web server asynchronously. There is no click sound and the browser does not flash. The request to the server is nonblocking, which means the user is able to continue viewing the page and interacting with it. The script gets the updated data from the server and modifies the page dynamically using the DHTML coding methodology. The user is able to continue looking at the page while parts of it are updated in the background. AJAX is used to provide a more responsive experience, making web applications behave more like desktop installations. JavaScript is used to provide a richer experience with support for drag-and-drop, modal dialogs, and seemingly instantaneous updates to various parts of the page based on user inputs.

A big part of successfully leveraging AJAX technologies is in the perceived performance increase. Users appreciate web applications that anticipate their actions. If you also use JavaScript code in the background to pre-fetch images and data that may be needed, users can get a speedy response without the usual pause that accompanies their actions. Nobody wants to wait for data exchanges between client and server; studies have shown that a time lag between user input and subsequent UI changes can significantly reduce their productivity and give them the frustrating feeling that they are fighting the application. Users want web applications to behave like desktop installations but without the overhead associated with an installation. As more applications employ smart caching, anticipate user actions, and provide richer UI, the difference between web and desktop applications is becoming blurred.

Expectations of web applications are rising. The end user has now seen that it is possible to avoid the commitment of installing a desktop application and still have a rich and responsive experience.

–  –  –

Chapter 1: Developing Next-Generation Web Applications historically dictated a lot about the nature of the application and the development problem space. Many developers are now choosing to build web applications by default unless something about the application dictates that it must be a desktop install. If it must run offline or if it requires a user interface that is complex to achieve in HTML, targeting the web browser may be ruled out, and the choice to write a standalone application is forced.

Developers have a difficult job writing modern web applications due to the inherent worldwide-web functionality constraints imposed by the use of the Hypertext Transfer Protocol (HTTP) and the way browsers use it. HTTP is a stateless protocol. The web browser requests a page, possibly carrying some querystring or form input parameters, and the server processes the request and sends a response that includes HTML-rendered content. The server can only react to the information supplied in the current request and doesn’t know, based on the information in the request itself, details about the path the user took to get to the current view. When the response is rendered, the connection may be broken and the server won’t have any information to preserve for the next request. From the server’s perspective, it is simply listening for requests to come in from any browser anywhere and then reacting. The browser issues a request to the page and receives an HTML page in response. It uses the HTML it receives to render the user interface. The user interacts with the page, and, in response, the browser clears the screen and submits a new request to the server, carrying some information about user input or actions. Again, a complete HTML page is returned. The browser then presents the new version of HTML. Fundamentally, the HTTP protocol is stateless. The server gets a request and responds to it. The request carries limited information about the ongoing conversation that is happening between client and server.

AJAX makes this much better. AJAX breaks this pattern by updating portions of the page separately, via partial page rendering. Figure 1-1 shows a typical non-AJAX series of browser and server interactions.

Each request results in a full page rendering, and, in response, the browser updates the user’s entire view.

–  –  –

In Figure 1-2, AJAX is employed to improve the user’s experience. A request is made for the initial page rendering. After that, asynchronous requests to the server are made. An asynchronous request is a background request to send or receive data in an entirely nonvisual manner. They are asynchronous because 04_109625 ch01.qxd 4/27/07 9:42 PM Page 5

–  –  –

Almost a decade ago, the Microsoft Exchange Server team created an ActiveX control called XmlHttpRequest that could be instantiated from JavaScript and used to communicate with the server.

This can occur without clearing the screen to paint a whole new page. Using the XmlHttpRequest object, you could send information to the server and get data back without requiring a whole new HTML page.

JavaScript code could then manipulate the HTML dynamically on the client, avoiding the annoying flash and the wait that users associate with web browsing. This functionality was not limited to Internet Explorer for long. Soon, other browsers included XmlHttpRequest objects as well. Developers could now write richer applications with reach extending across various operating systems.

The browsers also created an advanced DOM (Document Object Model) to represent the browser, the window, the page, and the HTML elements it contained. The DOM exposed events and responded to input, allowing the page to be manipulated with script. Dynamic HTML (DHTML) opened the door to writing rich interfaces hosted within the web browser. Developers started writing hundreds and even thousands of lines of JavaScript code to make rich and compelling applications that would not require any client installation and could be accessed from any browser anywhere. Web applications began to move to a whole new level of richness. Without AJAX libraries, you would be faced with writing lots and lots of JavaScript code and debugging the sometimes subtle variations in different browsers to reach this new level of richness.

–  –  –


Pages:   || 2 | 3 |

Similar works:

«Cairns Chamber of Commerce 100 Years of History Pre 1909 – setting the scene The decision to create a remote community on the banks of untamed Trinity Bay, and the arrival of several hundred intrepid settlers in 1876, were the genesis of the City of Cairns. Facing these pioneering men, women and children as they sailed into sight of land ‐ on board the Leichhardt, Victoria and Porpoise – was an overwhelming contradiction of dense mangrove swamps, mudflats and sand dunes set against a...»

«SEMESTER AT SEA COURSE SYLLABUS University of Virginia, Academic Sponsor Voyage: Spring 2015 Discipline: Architectural History ARH 3500: Sacred Spaces Division: Upper Faculty Name: Lisa Schrenk Pre-requisites: None...architecture, as well as being material, is also by nature and expectation rational – structure must have logic or it cannot stand. But the sacred is otherwise. It not only does not demand logic, it defies it. Logic, the thing that is utterly essential in the creation of...»

«Developmental Counseling Model for Illinois Schools Guidelines for Program Development and Recommended Practices & Procedures for School Counselors Illinois Counselor Educators and Supervisors Illinois School Counselor Association Illinois Counseling Association in consultation with Illinois State Board of Education Printed and distributed by Illinois Counseling Association Second Edition TABLE OF CONTENTS Foreword Prologue A Brief History A Special Message to Readers Acknowledgements Chapter...»

«Randolph Bourne’s America Panel 1 Bourne: The Historical View Casey Blake: Let me invite the members of the first panel to join me up here at the front of the room. Let me ask you if the mike is sufficient for those of you in the back of the front. OK. About ten years ago, shortly after I had published a book about Randolph Bourne and his circle, I had a startling and, I must say, unsettling dream. I dreamt that Bourne was still alive, that he had not died in the great influenza epidemic of...»

«CHAPTER 2: THE CAIRNS SETTING Introduction Cairns is the most northerly of Queensland’s cities and one of the fastest growing communities in Australia. It is also an isolated community, located some 1 400 km in a direct line, or 1 706 km by road, from Brisbane. Melbourne is marginally closer to Brisbane than is Cairns. An aerial image of Cairns city and inner suburbs viewed from the east is shown in Figure 2.1 (reproduced by permission of Brian Cassey Photography). The 160 square kilometre...»


«Investigating Complex Ions of Copper(II) Background Transition metal ions in aqueous solutions generally exist as complex ions in which water molecules, acting as Lewis bases, coordinate or bond with the small cation (which acts as a Lewis acid). The water molecules in these structures are known as ligands. Historically this kind of attachment has been called either a coordinate covalent bond or a dative bond. The distinguishing characteristic of such bonds is that the shared electron pairs...»

«UCL CENTRE FOR ADVANCED SPATIAL ANALYSIS WORKING PAPERS SERIES Paper 162 Sep 10 Geddes’ Grand Theory: Life, Evolution, Social Union and the ‘Great Transition’ ISSN 1467-1298 Centre for Advanced Spatial Analysis University College London 1 19 Torrington Place Gower St London WC1E 7HB Tel: +44 (0)20 7679 1782 casa@ucl.ac.uk www.casa.ucl.ac.uk Geddes’ Grand Theory: Life, Evolution, Social Union and the ‘Great Transition’ Stephen Marshall† and Michael Batty‡ 21 September 2010...»

«Christianity in South Arabia Arthur Jeffery Columbia University Anglican Theological Review, Vol. XXVII, No. 3, July, 1945, pp. 193-216. IBN HISHAM ON PHEMION ANOTHER ACCOUNT OF THE INTRODUCTION OF CHRISTIANITY INTO NAJRAN THE ACTS OF AZQIR LETTER GIVING AN ACCOUNT OF THE HIMYARITE MARTYRS It is not yet possible to write the history of the planting and early spread of Christianity in South Arabia. It is not that there is a dearth of documents, but rather a lack of the right kind of documents...»

«1883 LIFE ON THE MISSISSIPPI Mark Twain Electronically Enhanced Text (c) Copyright 1993 World Library, Inc. Mark Twain (pen name of Samuel Clemens) (1835-1910) American humorist whose pseudonym was adopted from his days as a Mississippi steamboat pilot, “mark twain” meaning “two fathoms deep.” He introduced colloquial speech into American writing and was the most popular writer of his time. Life on the Mississippi (1883) An autobiographical account of Twain’s early days as a steamboat...»

«GMO Quarterly letter February 2012 The Longest Quarterly Letter Ever Investment Advice from Your Uncle Polonius Your Grandchildren Have No Value (And Other Deficiencies of Capitalism) Market Review Jeremy Grantham Part I: Investment Advice from Your Uncle Polonius1 For individual investors setting out on dangerous investment voyages.1. Believe in history. In investing Santayana is right: history repeats and repeats, and forget it at your peril. All bubbles break, all investment frenzies pass...»

«Intel® Server Products Product Safety and Regulatory Compliance Intel Document Number: G23122-003 Version 1.2 Intel® Product Safety and Regulatory Compliance Revision History Date Rev Change Description 1st External Release Dec 2010 1.0 Nov 2011 1.1 Added Energy Star Compliance Statement Feb 2012 1.2 Added Ukraine mark Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL...»

<<  HOME   |    CONTACTS
2016 www.dis.xlibx.info - Thesis, dissertations, books

Materials of this site are available for review, all rights belong to their respective owners.
If you do not agree with the fact that your material is placed on this site, please, email us, we will within 1-2 business days delete him.