Book description
The practicing programmer's DEITEL® guide to AJAX, Rich Internet Applications, and web-application development
This book applies the Deitel signature live-code approach to teaching Web 2.0 application development. The book presents concepts in the context of more than 180 fully tested programs (18,000+ lines of code), complete with syntax shading, detailed descriptions, and sample outputs. It features hundreds of tips that will help you build robust applications.
Start with a concise introduction to XHTML, CSS, and JavaScript before rapidly moving on to more advanced client-side development with DOM, XML, AJAX, JSON, and other RIA technologies. Then proceed to server-side development with web servers, databases, PHP, Ruby on Rails, ASP.NET, JavaServer Faces, and web services. When you're finished, you'll have everything you need to build Web 2.0 applications.
The DEITEL Developer Series is designed for practicing programmers. The series presents focused treatments of emerging technologies, including .NET, JavaTM, web services, Internet and web development, and more.
Practical, example-rich coverage of:
Web 2.0
XHTML, CSS, JavaScript
DOM, XML, RSS
AJAX-Enabled Rich Internet Applications
JSON, Dojo, Script.aculo.us
Adobe® Flash CS3 and Flex
Web Servers (IIS and Apache)
Database (SQL, MySQL, ADO.NET and Java DB)
PHP, Ruby on Rails
ASP.NET, ASP.NET AJAX
JavaServer Faces (JSF)
SOAP-Based Web Services in Java
REST-Based Web Services in ASP.NET
Mashups
And more...
Visit www.deitel.com to:
Download code examples
Check out the growing list of programming, Web 2.0, and software-related Resource Centers
To receive updates on this book, subscribe to the free DEITEL® BUZZ ONLINE e-mail newsletter at www.deitel.com/newsletter/subscribe.html
Read archived Issues of the DEITEL BUZZ ONLINE
Contact deitel@deitel.com for information on corporate training courses delivered on-site worldwide
Pre-Publication Reviewer Testimonials
"This book is easily the most comprehensive resource of its kind
I've seen yet."
--Jesse James Garrett, Adaptive Path
"A one-stop shop for learning the essentials of web
programming."
--Anand Narayanaswamy, ASPAlliance.com
"Excellent for learning to develop standards-compliant web
applications...takes you from the browser to the server and the
database, covering web development across many programming
languages."
--Paul Vencill, MITRE, Inc.
"Cements the browser as a first-class development platform."
--Johnvey Hwang, Splunk, Inc.
"Congratulations on this excellent work. The [Dive Into Web 2.0]
chapter is simply astonishing! It's one of the better--if not the
best--references on Web 2.0."
--José Antonio González Seco, Parlamento de
Andalucia
"The CSS chapter is compact, concise, and full of useful
info!"
--Billy B. L. Lim, Illinois State University
"One of the best introductions to JavaScript."
--Raymond Wisman, Indiana University Southeast
"A good introduction to the DOM; doesn't trip over cross-browser
incompatibilities."
--Eric Lawrence, Microsoft
"Exceptionally clear Ajax tutorial; best I've reviewed! Great
solutions for the very cool type-ahead and edit-in-place AJAX
features. 'Libraries to Help Eliminate Cross-Browser Compatibility
Issues' is fantastic. This book and your web sites will be
often-visited resources (if not best practices in
themselves)."
--John Peterson, Insync and V.I.O. Inc.
"Great chapter [on building Flash games]."
--Jennifer Powers, University of Albany
"A solid introduction to Adobe Flex with some very cool
applications."
--Matt Chotin, Adobe
"A solid introduction to the capabilities and flexibilities of PHP.
Inspired me to tighten up my own code! Easy to follow JSF
development with database, Virtual Forms, and Google Maps."
--John Peterson, Insync and V.I.O. Inc.
"Excellent coverage of developing ASP.NET applications, with plenty
of sample code."
--Peter Bromberg, VOIP, Inc.
"The web services chapter concludes a comprehensive education on
Web 2.0. The examples go a long way to support the Web 2.0 mission
of this book."
--George Semeczko, Independent Consultant
Table of contents
- Copyright
- Deitel® Series Page
- Deitel Resource Centers
-
Preface
- Introduction
- Key Features
- AJAX, Rich Internet Applications and Web Development for Programmers Architecture
- Dependency Chart
- Teaching Approach
- AJAX, Rich Internet Applications and Web Development for Programmers Software Downloads and Additional Resources
- Deitel® Buzz Online Free E-mail Newsletter
- The Deitel Online Resource Centers
- Acknowledgments
- About the Authors
- About Deitel & Associates, Inc.
- Before You Begin
-
1. Introduction
-
1. Dive Into® Web 2.0
- 1.1. Introduction
- 1.2. What Is Web 2.0?
- 1.3. Search
- 1.4. Content Networks
- 1.5. User-Generated Content
- 1.6. Blogging
- 1.7. Social Networking
- 1.8. Social Media
- 1.9. Tagging
- 1.10. Social Bookmarking
- 1.11. Software Development
- 1.12. Rich Internet Applications (RIAs)
- 1.13. Web Services, Mashups, Widgets and Gadgets
- 1.14. Location-Based Services
- 1.15. XML, RSS, Atom, JSON and VoIP
- 1.16. Web 2.0 Monetization Models
- 1.17. Web 2.0 Business Models
- 1.18. Future of the Web
- 1.19. Where to Go for More Web 2.0 Information
- 1.20. Web 2.0 Bibliography
- 1.21. Web 2.0 Glossary
-
1. Dive Into® Web 2.0
-
2. The Ajax Client
- 2. Introduction to XHTML
-
3. Cascading Style Sheets™ (CSS)
- 3.1. Introduction
- 3.2. Inline Styles
- 3.3. Embedded Style Sheets
- 3.4. Conflicting Styles
- 3.5. Linking External Style Sheets
- 3.6. Positioning Elements
- 3.7. Backgrounds
- 3.8. Element Dimensions
- 3.9. Box Model and Text Flow
- 3.10. Media Types
- 3.11. Building a CSS Drop-Down Menu
- 3.12. User Style Sheets
- 3.13. CSS 3
- 3.14. Web Resources
- 4. JavaScript: Introduction to Scripting
-
5. JavaScript: Control Statements I
- 5.1. Introduction
- 5.2. Control Statements
- 5.3. if Selection Statement
- 5.4. if...else Selection Statement
- 5.5. while Repetition Statement
- 5.6. Counter-Controlled Repetition
- 5.7. Formulating Algorithms: Sentinel-Controlled Repetition
- 5.8. Formulating Algorithms: Nested Control Statements
- 5.9. Assignment Operators
- 5.10. Increment and Decrement Operators
- 5.11. Web Resources
-
6. JavaScript: Control Statements II
- 6.1. Introduction
- 6.2. Essentials of Counter-Controlled Repetition
- 6.3. for Repetition Statement
- 6.4. Examples Using the for Statement
- 6.5. switch Multiple-Selection Statement
- 6.6. do...while Repetition Statement
- 6.7. break and continue Statements
- 6.8. Labeled break and continue Statements
- 6.9. Logical Operators
- 6.10. Web Resources
-
7. JavaScript: Functions
- 7.1. Introduction
- 7.2. Program Modules in JavaScript
- 7.3. Programmer-Defined Functions
- 7.4. Function Definitions
- 7.5. Random Number Generation
- 7.6. Example: Game of Chance
- 7.7. Another Example: Random Image Generator
- 7.8. Scope Rules
- 7.9. JavaScript Global Functions
- 7.10. Recursion
- 7.11. Recursion vs. Iteration
- 7.12. Web Resources
-
8. JavaScript: Arrays
- 8.1. Introduction
- 8.2. Arrays
- 8.3. Declaring and Allocating Arrays
- 8.4. Examples Using Arrays
- 8.5. Random Image Generator Using Arrays
- 8.6. References and Reference Parameters
- 8.7. Passing Arrays to Functions
- 8.8. Sorting Arrays
- 8.9. Multidimensional Arrays
- 8.10. Building an Online Quiz
- 8.11. Web Resources
-
9. JavaScript: Objects
- 9.1. Introduction
- 9.2. Introduction to Object Technology
- 9.3. Math Object
- 9.4. String Object
- 9.5. Date Object
- 9.6. Boolean and Number Objects
- 9.7. document Object
- 9.8. window Object
- 9.9. Using Cookies
- 9.10. Multipage HTML and JavaScript Application
- 9.11. Using JSON to Represent Objects
- 9.12. Web Resources
- 10. Document Object Model (DOM): Objects and Collections
-
11. JavaScript: Events
- 11.1. Introduction
- 11.2. Registering Event Handlers
- 11.3. Event onload
- 11.4. Event onmousemove, the event Object and this
- 11.5. Rollovers with onmouseover and onmouseout
- 11.6. Form Processing with onfocus and onblur
- 11.7. Form Processing with onsubmit and onreset
- 11.8. Event Bubbling
- 11.9. More Events
- 11.10. Web Resources
-
12. XML and RSS
- 12.1. Introduction
- 12.2. XML Basics
- 12.3. Structuring Data
- 12.4. XML Namespaces
- 12.5. Document Type Definitions (DTDs)
- 12.6. W3C XML Schema Documents
- 12.7. XML Vocabularies
- 12.8. Extensible Stylesheet Language and XSL Transformations
-
12.9. Document Object Model (DOM)
- Overview of the body Element
- Global Script Variables
- Function loadXMLDocument
- Function buildHTML
- Function displayDoc
- Functions processFirstChild and processLastChild
- Functions processNextSibling and processPreviousSibling
- Function processParentNode
- Common DOM Properties
- Locating Data in XML Documents with XPath
- 12.10. RSS
- 12.11. Web Resources
-
13. Ajax-Enabled Rich Internet Applications
- 13.1. Introduction
- 13.2. Traditional Web Applications vs. Ajax Applications
- 13.3. Rich Internet Applications (RIAs) with Ajax
- 13.4. History of Ajax
- 13.5. “Raw” Ajax Example Using the XMLHttpRequest Object
- 13.6. Using XML and the DOM
- 13.7. Creating a Full-Scale Ajax-Enabled Application
- 13.8. Dojo Toolkit
- 13.9. Web Resources
-
3. Rich Internet Application Client Technologies
-
14. Adobe® Flash® CS3
- 14.1. Introduction
- 14.2. Flash Movie Development
-
14.3. Learning Flash with Hands-On Examples
- 14.3.1. Creating a Shape with the Oval Tool
- 14.3.2. Adding Text to a Button
- 14.3.3. Converting a Shape into a Symbol
- 14.3.4. Editing Button Symbols
- 14.3.5. Adding Keyframes
- 14.3.6. Adding Sound to a Button
- 14.3.7. Verifying Changes with Test Movie
- 14.3.8. Adding Layers to a Movie
- 14.3.9. Animating Text with Tweening
- 14.3.10. Adding a Text Field
- 14.3.11. Adding ActionScript
- 14.4. Publishing Your Flash Movie
- 14.5. Creating Special Effects with Flash
- 14.6. Creating a Website Splash Screen
- 14.7. ActionScript
- 14.8. Web Resources
-
15. Adobe® Flash® CS3: Building an Interactive Game
- 15.1. Introduction
- 15.2. Object-Oriented Programming
- 15.3. Objects in Flash
- 15.4. Cannon Game: Preliminary Instructions and Notes
- 15.5. Adding a Start Button
- 15.6. Creating Moving Objects
- 15.7. Adding the Rotating Cannon
- 15.8. Adding the Cannonball
- 15.9. Adding Sound and Text Objects to the Movie
- 15.10. Adding the Time Counter
- 15.11. Detecting a Miss
- 15.12. Adding Collision Detection
- 15.13. Finishing the Game
- 15.14. ActionScript 3.0 Elements Introduced in This Chapter
-
16. Adobe® Flex™ 2 and Rich Internet Applications
- 16.1. Introduction
- 16.2. Flex Platform Overview
- 16.3. Creating a Simple User Interface
- 16.4. Accessing XML Data from Your Application
- 16.5. Interacting with Server-Side Applications
- 16.6. Customizing Your User Interface
- 16.7. Creating Charts and Graphs
- 16.8. Connection-Independent RIAs on the Desktop: Adobe Integrated Runtime (AIR)
- 16.9. Flex 3 Beta
- 16.10. Web Resources
-
14. Adobe® Flash® CS3
-
4. Rich Internet Application Server Technologies
- 17. Web Servers (IIS and Apache)
-
18. Database: SQL, MySQL, ADO.NET 2.0 and Java DB
- 18.1. Introduction
- 18.2. Relational Databases
- 18.3. Relational Database Overview: A books Database
- 18.4. SQL
- 18.5. MySQL
- 18.6. Instructions for Installing MySQL
- 18.7. Instructions for Setting Up a MySQL User Account
- 18.8. Creating a Database in MySQL
- 18.9. ADO.NET Object Model
- 18.10. Java DB/Apache Derby
- 18.11. Web Resources
- 19. PHP
-
20. Ruby on Rails
- 20.1. Introduction
- 20.2. Ruby
- 20.3. Rails Framework
- 20.4. ActionController and ActionView
- 20.5. A Database-Driven Web Application
- 20.6. Case Study: Message Forum
- 20.7. Script.aculo.us
- 20.8. Web Resources
-
21. ASP.NET 2.0 and ASP.NET Ajax
- 21.1. Introduction
-
21.2. Creating and Running a Simple Web Form Example
- 21.2.1. Examining an ASPX File
- 21.2.2. Examining a Code-Behind File
- 21.2.3. Relationship Between an ASPX File and a Code-Behind File
- 21.2.4. How the Code in an ASP.NET Web Page Executes
- 21.2.5. Examining the XHTML Generated by an ASP.NET Application
-
21.2.6. Building an ASP.NET Web Application
- Step 1: Creating the Website
- Step 2: Examining the Solution Explorer of the Newly Created Project
- Step 3: Examining the Toolbox in Visual Web Developer
- Step 4: Examining the Web Forms Designer
- Step 5: Examining the Code-Behind File in the IDE
- Step 6: Renaming the ASPX File
- Step 7: Renaming the Class in the Code-Behind File and Updating the ASPX File
- Step 8: Changing the Title of the Page
- Step 9: Designing the Page
- Step 10: Adding Page Logic
- Step 11: Running the Program
- Windows Firewall Settings
- 21.3. Web Controls
- 21.4. Session Tracking
-
21.5. Case Study: Connecting to a Database in ASP.NET
-
21.5.1. Building a Web Form That Displays Data from a Database
- Step 1: Creating the Project
- Step 2: Creating the Form for User Input
- Step 3: Adding a GridView Control to the Web Form
- Step 4: Adding a Database to an ASP.NET Web Application
- Step 5: Binding the GridView to the Messages Table of the Guestbook Database
- Step 6: Modifying the Columns of the Data Source Displayed in the GridView
- Step 7: Modifying the Way the SqlDataSource Control Inserts Data
- ASPX File for a Web Form That Interacts with a Database
- 21.5.2. Modifying the Code-Behind File for the Guestbook Application
-
21.5.1. Building a Web Form That Displays Data from a Database
-
21.6. Case Study: Secure Books Database Application
- 21.6.1. Examining the Completed Secure Books Database Application
-
21.6.2. Creating the Secure Books Database Application
- Step 1: Creating the Website
- Step 2: Setting Up the Website’s Folders
- Step 3: Configuring the Application’s Security Settings
- Step 4: Examining the Autogenerated Web.config Files
- Step 5: Creating a Master Page
- Step 6: Creating a Content Page
- Step 7: Adding a CreateUserWizard Control to a Content Page
- Step 8: Creating a Login Page
- Step 9: Creating a Content Page That Only Authenticated Users Can Access
- Step 10: Customizing the Secure Page
- Step 11: Connecting the CreateUserWizard and Login Controls to the Secure Page
- Step 12: Generating a DataSet Based on the Books.mdf Database
- Step 13: Creating and Configuring an AuthorsTableAdapter
- Step 14: Creating and Configuring a TitlesTableAdapter
- Step 15: Adding a DropDownList Containing Authors’ First and Last Names
- Step 16: Creating a GridView to Display the Selected Author’s Books
- Step 17: Examining the Markup in Books.aspx
- 21.7. ASP.NET Ajax
- 21.8. Web Resources
-
22. JavaServer™ Faces (JSF) Web Applications
- 22.1. Introduction
- 22.2. Java Web Technologies
-
22.3. Creating and Running a Simple Application in Netbeans
- 22.3.1. Examining a JSP File
- 22.3.2. Examining a Page Bean File
- 22.3.3. Event-Processing Life Cycle
- 22.3.4. Relationship Between the JSP and Page Bean Files
- 22.3.5. Examining the XHTML Generated by a Java Web Application
-
22.3.6. Building a Web Application in Netbeans
- Step 1: Creating the Web Application Project
- Step 2: Examining the Visual Editor Window of the New Project
- Step 3: Examining the Palette in Netbeans
- Step 4: Examining the Projects Window
- Step 5: Examining the JSP and Java Files in the IDE
- Step 6: Renaming the JSP and JSF Files
- Step 7: Changing the Title of the Page
- Step 8: Designing the Page
- Step 9: Adding Page Logic
- Step 10: Examining the Outline Window
- Step 11: Running the Application
- 22.4. JSF Components
- 22.5. Session Tracking
- 22.6. Web Resources
-
23. Ajax-Enabled JavaServer™ Faces Web Applications
- 23.1. Introduction
-
23.2. Accessing Databases in Web Applications
-
23.2.1. Building a Web Application That Displays Data from a Database
- Step 1: Creating the Project
- Step 2: Creating the Form for User Input
- Step 3: Adding a Table Component to the Page
- Step 4: Creating a Java DB Database
- Step 5: Adding a Table and Data to the AddressBook Database
- Step 6: Binding the Table Component to the Addresses Table of the AddressBook Database
- Step 7: Modifying addressesRowSet’s SQL Statement
- Step 8: Adding Validation
- JSP File for a Web Page That Interacts with a Database
- Session Bean for the AddressBook Application
- 23.2.2. Modifying the Page Bean File for the AddressBook Application
-
23.2.1. Building a Web Application That Displays Data from a Database
- 23.3. Ajax-Enabled JSF Components
- 23.4. AutoComplete Text Field and Virtual Forms
- 23.5. Google Maps Map Viewer Component
- 23.6. Web Resources
-
24. Web Services
- 24.1. Introduction
- 24.2. Java Web Services Basics
-
24.3. Creating, Publishing, Testing and Describing a Web Service
- 24.3.1. Creating a Web Application Project and Adding a Web Service Class in Netbeans
- 24.3.2. Defining the HugeInteger Web Service in Netbeans
- 24.3.3. Publishing the HugeInteger Web Service from Netbeans
- 24.3.4. Testing the HugeInteger Web Service with Sun Java System Application Server’s Tester Web page
- 24.3.5. Describing a Web Service with the Web Service Description Language (WSDL)
- 24.4. Consuming a Web Service
- 24.5. SOAP
- 24.6. Session Tracking in Web Services
- 24.7. Consuming a Database-Driven Web Service from a Web Application
- 24.8. Passing an Object of a User-Defined Type to a Web Service
-
24.9. REST-Based Web Services in ASP.NET
- 24.9.1. REST-Based Web Service Functionality
-
24.9.2. Creating an ASP.NET REST-Based Web Service
- Step 1: Creating the Project
- Step 2: Examining the Newly Created Project
- Step 3: Modifying and Renaming the Code-Behind File
- Step 4 Creating an Item Class
- Step 5: Examining the ASMX File
- Step 6: Modifying the ASMX File
- Step 7: Renaming the ASMX File
- Step 8: Changing the Web.Config File to allow REST requests.
- Step 9: Adding the System.Web.Extensions Reference
-
24.9.3. Adding Data Components to a Web Service
- Step 1: Adding a DataSet to the Project
- Step 2: Selecting the Data Source and Creating a Connection
- Step 3: Opening the Query Builder and Adding the Events Table from Calendar.mdf
- Step 4: Configuring a SELECT Query to Obtain a Specific Event
- Step 5: Adding Another Query to the EventsTableAdapter for the CalendarDataSet
- Step 6: Configuring an UPDATE Statement to Modify a Description of a Specific Event
- Step 7: Adding a getItemsByDate Query
- Step 8: Testing the Web Service
- 24.10. Web Resources
Product information
- Title: Deitel® Developer Series AJAX, Rich Internet Applications, and Web Development for Programmers
- Author(s):
- Release date: January 2008
- Publisher(s): Pearson
- ISBN: 9780137142309
You might also like
book
Java™ for Programmers: Deitel Developer Series, Second Edition
Written for programmers with a background in high-level language programming, this book applies the Deitel signature …
book
Java™ for Programmers: Deitel
PRACTICAL, EXAMPLE-RICH COVERAGE OF: Classes, Objects, Encapsulation, Inheritance, Polymorphism, Interfaces, Nested Classes Integrated OOP Case Studies: …
book
Make an E-commerce Site in a Weekend: Using PHP
Learn to build e-commerce sites using PHP by installing a server using WAMP, configuring MySQL for …
book
JavaScript™ for Programmers: Deitel
A Video Enhanced book which contains embedded links to instructional videos https://ssl.safaribooksonline.com/9780137045167 from: Javascript Fundamentals I …