Cover image for Ajax : bcreating Web pages with asynchronous JavaScript and XML
Title:
Ajax : bcreating Web pages with asynchronous JavaScript and XML
Personal Author:
Series:
Bruce Perens' Open Source series
Publication Information:
Upper Saddle River, NJ : Prentice Hall, 2007
ISBN:
9780132272674

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010141238 TK5105.8885.A52 W69 2007 Open Access Book Book
Searching...

On Order

Summary

Summary

The practical AJAX application book from an open source perspective.


Author Notes

EDMOND WOYCHOWSKY , a senior level consultant in Pennsylvania and New Jersey, specializes in

client-side JavaScript, Java, Oracle, open source, and Microsoft technologies. A well-known contributor

to TechRepublic, he has developed applications for the financial, pharmaceutical, and manufacturing

industries. He began his professional career at Bell Laboratories.


Excerpts

Excerpts

Preface The purpose of the book that you hold in your hands, Ajax: Creating Web Pages with Asynchronous JavaScript and XML, is simply to show you the fundamentals of developing Ajax applications. What This Book Is About For the last several years, there has been a quiet revolution taking place in web application development. In fact, it was so quiet that until February 2005, this revolution didn't have a name, even among the revolutionaries themselves. Actually, beyond the odd mention of phrases such as XMLHttpRequest object, XML, or SOAP, developers didn't really talk about it much at all, probably out of some fear of being burned for meddling in unnatural forces. But now that the cat is out of the bag, there is no reason not to show how Ajax works. Because I am a member of the "we learn by doing" cult (no Kool Aid required), you'll find more code examples than you can shake a stick at. So this is the book for those people who enjoyed the labs more than the lectures. If enjoyed is the wrong word, feel free to substitute the words "learned more from." Until around 2005, the "we learn by doing" group of developers was obscured by the belief that a piece of paper called a certification meant more than hands-on knowledge. I suppose that, in a way, it did. Unfortunately, when jobs became fewer and farther between, developers began to collect certifications the way that Imelda Marcos collected shoes. Encyclopedic knowledge might have helped in getting interviews and subsequent jobs, but it really didn't help very much in keeping those jobs. However, now that the pendulum has begun to swing in the other direction, it is starting to become more important to actually know a subject than to be certified in it. This leads to the question of "Why learn Ajax?" The answer to that question can be either short and sweet or as rich and varied as the concept of Ajax itself. Let's start with the first answer because it looks good on the resumé. We all know that when something looks good on the resumé, it helps to keep us in the manner in which we have become accustomed, living indoors and eating regularly. Couple this with the knowledge of actually having hands-on knowledge, and the odds of keeping the job are greatly increased. The rich and varied answer is that, to parrot half of the people writing about web development trends, Ajax is the wave of the future. Of course, this leads to the statement, "I heard the same thing about DHTML, and nobody has talked about that for five years." Yes, some of the same things were said about DHTML, but this time it is different. The difference is that, this time, the technology has evolved naturally instead of being sprung upon the world just so developers could play buzzword bingo with their resumés. This time, there are actual working examples beyond the pixie dust following our mouse pointers around. This time, the companies using these techniques are real companies, with histories extending beyond last Thursday. This time, things are done with a reason beyond the "it's cool" factor. What You Need to Know Before Reading This Book This book assumes a basic understanding of web-development techniques beyond the WYSIWYG drag and drop that is the current standard. It isn't necessary to have hand-coded HTML; it is only necessary to know that HTML exists. This book will hopefully fill in the gaps so that the basics of what goes where can be performed. Beyond my disdain for the drag-and-drop method of web development, there is a logical reason for the need to know something about HTML--basically, we're going to be modifying the HTML document after it is loaded in the browser. Nothing really outrageous will be done to the document--merely taking elements out, putting elements in, and modifying elements in place. For those unfamiliar with JavaScript, it isn't a problem; I've taken care to explain it in some depth because there is nothing worse than needing a second book to help understand the first book. Thinking about it now, of course, I missed a wonderful opportunity to write a companion JavaScript volume. Doh! If you're unfamiliar with XML, don't be put off by the fact that Ajax is short hand Asynchronous JavaScript and XML because what you need to know is in here, too. The same is also true of XSLT, which is a language used to transform XML into other forms. Think of Hogwarts, and you get the concept. In this book, the evolution (or, if you prefer, intelligent design) of Ajax is described from the beginning of web development through the Dynamic HTML, right up to Asynchronous JavaScript and XML. Because this book describes a somewhat newer technique of web development, using a recent vintage web browser such as Firefox or Flock is a good idea. You also need an Internet connection. How This Book Is Laid Out Here is a short summary of this book's chapters: Chapter 1, "Types of Web Pages," provides a basic overview of the various ways that web pages have been coded since the inception of the Web. The history of web development is covered beginning with static web pages through dynamic web pages. In addition, the various technologies used in web development are discussed. The chapter closes with a discussion on browsers and the browser war. Chapter 2, "Introducing Ajax," introduces Ajax with an account of what happened when I demonstrated my first Ajax application. The concepts behind Ajax are described and then are introduced in a step-by-step manner, from the first primordial Ajax relatives to the current evolution. Chapter 3, "HTML/XHTML," describes some of the unmentioned basic building blocks of Ajax, HTML/XHTML, and Cascading Style Sheets. Chapter 4, "JavaScript," serves as an overview of JavaScript, including data types, variables, and operators. Also covered are flow-control statements, recursive functions, constructors, and event handlers. Chapter 5, "Ajax Using HTML and JavaScript," describes one of the earlier ancestors of Ajax. Essentially, this is how to fake it using stone knives and bear skins. Although the technique described is somewhat old-fashioned, it demonstrates, to a degree, how processing flows in an Ajax application. In addition, the "dark art" of communicating information between frames is covered. Additionally, in an effort to appease those who believe that this is all old hat, the subject of stored procedures in MySQL is covered. Chapter 6, "XML," covers XML, particularly the parts that come into play when dealing with Ajax. Elements, attributes and entities, oh my; the various means of describing content, Document Type Definitions, and Schema are covered. Also included are cross-browser XML data islands. Chapter 7, "XMLHttpRequest," dissects the XMLHttpRequest object by describing its various properties and methods. Interested in making it synchronous instead of asynchronous? You'll find the answer in this chapter. In addition, both web services and SOAP are discussed in this chapter. Chapter 8, "Ajax Using XML and XMLHttpRequest," covers what some might consider pure Ajax, with special attention paid to the XMLHttpRequest object that makes the whole thing work. Additionally, various back ends are discussed, ranging from PHP to C#. Also covered are two of the more popular communication protocols: RPC and SOAP. Chapter 9, "XPath," covers XPath in detail. Starting with the basics of what is often considered XSLT's flunky, this chapter describes just how to locate information contained in an XML document. Included in this chapter is a detailed description of XPath axis, which is at least worth a look. Chapter 10, "XSLT," goes into some detail about the scary subject of XSLT and how it can be fit into a cross-browser Ajax application. Starting with the basics and progressing to the more advanced possibilities, an attempt is made to demystify XSLT. Chapter 11, "Ajax Using XSLT," takes the material covered in the first four chapters the next logical step with the introduction of XSLT. Until relatively recently, this was typically considered a bad idea. However, with some care, this is no longer the case. XSLT is one of those tools that can further enhance the site visitor's experience. Chapter 12, "Better Living Through Code Reuse," introduces a homegrown client-side JavaScript library that is used throughout the examples shown in this book. Although this library doesn't necessarily have to be used, the examples provide an annotated look at what goes on behind the scenes with most of the Ajax libraries currently in existence. Chapter 13, "Traveling with Ruby on Rails," is a gentle introduction to the open source Ruby on Rails framework. Beginning with where to obtain the various components and their installation, the chapter shows how to start the WEBrick web server. Following those examples, a simple page that accesses a MySQL database is demonstrated. Chapter 14, "Traveling Farther with Ruby," looks a little deeper into Ruby on Rails, with the introduction of a simple Ajax application that uses the built-in Rails JavaScript library. Chapter 15, "The Essential Cross-Browser HTML DOM," describes the dark and mysterious realm of the cross-browser HTML Document Object Model. Another unmentioned part of Ajax, the HTML DOM is essentially how the various parts of an HTML or XHTML document are accessed. This is what makes the "only update part of a document" feature of Ajax work. Chapter 16, "Other Items of Interest," describes some of the resources available via the World Wide Web. These resources range from pre- written Ajax-capable JavaScript libraries to some of the numerous browsers available for your personal computer. Conventions Used in This Book Listings, code snippets, and code in the text in this book are in monospaced font. This means that the code could be typed in the manner shown using your editor of choice, and the result would appear as follows: if(enemy = 'troll') runaway(); (c) Copyright Pearson Education. All rights reserved. Excerpted from Ajax: Creating Web Pages with Asynchronous JavaScript and XML by Edmond Woychowsky All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.