This book is intended for two very different types of people: web developers, and project managers or other higher-level people who do not necessarily need to know the nitty-gritty details but would benefit from a general overview of how this Ajax stuff works. The different parts of the book will reflect these different audiences.
Web Developers
For web developers, this book assumes the following:
You have had some experience with HTML/XHTML.
You have experience using CSS, and you understand the principles behind separating presentation from content.
You understand JavaScript syntax and have written scripts with it.
You are comfortable with server-side scripting in at least one language, whether it be ASP.NET, PHP, Python, or something similar.
You have some experience with relational databases and how to retrieve data from them.
This book does not expect you to be an expert in all of these skills, but it does expect that you can figure things out on your own or that you can get help from another resource (another book on the technology, perhaps) so that you can follow along with the examples presented.
Server-side code examples throughout the book will use PHP, as it seems to be the most readily understandable to the widest range of developers.
Managers
Project managers reading this book may not need such a rigid set of prerequisites. This book expects that you have seen web technology before and that you understand the concept of client-side and server-side development. It also expects that you can recognize HTML, CSS, and JavaScript, though there is no need to have ever done anything with them. Finally, this book expects that Internet terms and phrases are not foreign to you so that you can follow along with the examples. Managers will probably want to spend more time on the first three chapters to get a broad idea of how Ajax fits into the Web and into application development.
How This Book Is Organized
This book consists of five parts, each focusing on a different aspect of Ajax. It is certainly not necessary to read it from beginning to end, though later parts of the book do build on ideas from previous parts. The five parts of the book comprise 23 chapters and four appendixes. is intended for project managers looking to get a leg up on Ajax, or for anyone who is looking for its fundamentals. The rest of the book focuses on using Ajax from a programming point of view.
, Ajax Fundamentals, explains the basic technologies that form the core of Ajax and building Ajax applications:
Demonstrates how the first web sites were completely data-driven sites without the benefit of tools to improve page presentation, whereas today's Web is completely different. From the tools that are used to develop sites to the fact that the Web is now very much driven by a combination of media and data, today is nothing like yesterday.
Explains the nature of web site construction in the past versus the applications they have become, and the fact that they require the same process and design approach utilized by developers for regular desktop applications.
Shows the technologies available on the server side of web applications, briefly discussing each and how you can use them as a backend to an Ajax application. An introduction to databases rounds out the topic.
Gives the foundation for all Ajax requests using the XMLHttpRequest
object, and explores XML and JSON responses and their advantages and disadvantages. Frameworks that make Ajax simpler are also addressed.
Explores manipulation and utilization of the DOM for JavaScript, examining differences between Internet Explorer's handling of the DOM versus that of other browsers. This chapter also gives an overview of everything necessary for a developer to work with the DOM.
Examines the different parts of a web interface and how to lay out an Ajax application so that it is usable, functional, visually pleasing, and accessible.
, Ajax Foundations, describes how these technologies are applied in an Ajax web application:
Shows the different components that make up a web application and how you can enhance them using Ajax. This chapter also explores how some Ajax techniques can break browser functionality.