- Copyright 2007
- Edition: 1st
-
Book
- ISBN-10: 0-13-227267-9
- ISBN-13: 978-0-13-227267-4
The Easy, Example-Based Guide to Ajax for Every Web Developer
Using Ajax, you can build Web applications with the sophistication and usability of traditional desktop
applications and you can do it using standards and open source software. Now, for the first time,
there's an easy, example-driven guide to Ajax for every Web and open source developer, regardless of
experience.
Edmond Woychowsky begins with simple techniques involving only HTML and basic JavaScript. Then,
one step at a time, he introduces techniques for building increasingly rich applications. Don't worry if
you're not an expert on Ajax's underlying technologies; Woychowsky offers refreshers on them, from
JavaScript to the XMLHttpRequest object. You'll also find multiple open source technologies and open
standards throughout, ranging from Firefox to Ruby and MySQL.
You'll not only learn how to write "functional" code, but also master design patterns for writing rocksolid,
high-performance Ajax applications. You'll also learn how to use frameworks such as Ruby on
Rails to get the job done fast.
- Learn how Ajax works, how it evolved, and what it's good for
- Understand the flow of processing in Ajax applications
- Build Ajax applications with XML and the XMLHttpRequest object
- Integrate back-end code, from PHP to C#
- Use XSLT and XPath, including XPath Axis
- Develop client-side Ajax libraries to support code reuse
- Streamline development with Ruby on Rails and the Ruby programming language
- Use the cross-browser HTML DOM to update parts of a page
- Discover the best Ajax Web resources, including Ajax-capable JavaScript libraries
Online Sample Chapter
Introducing Ajax
Downloadable Sample Chapter
Download the Sample Chapter from this book.
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