Web 2.0 Overview
What is Web 2.0?
A Survey of the Technologies
Semantic HTML
Avoiding Class-itis and Div-itis
Browser Modes
Firebug, DebugBar, and More
Ruby on Rails Essentials
What is Rails?
Why Use it?
Installing InstantRails
Using the Console
Overview of Building an Application
Create the Application Framework
Rails and MVC
Creating the Controller and Actions
Creating the Scaffolding
Creating a CRUD-based Rails Application
CSS Techniques
CSS Primer
Tips for Cross Browser Implementation
A Semantic HTML Template
Using a Reset
Conditional Comments
A Box Model Recap
IE Issues and CSS Hacking
Positioning, Floating, and Clearing
Centering Solutions
Two and Three Column Layouts
Handling Background Images
Rounded Corners
Styling Lists
Opacities
Incorporating JavaScript and AJAX
JavaScript, DOM, and Event Handling Primer
Introducing JavaScript Libraries
Dojo, Prototype, Scriptaculous, and YUI
DOM and Events the Using Libraries
AJAX
Examples of AJAX
Effective AJAX
Accessible AJAX
AJAX Using a JavaScript Library
Degrading AJAX Apps Gracefully
Applying JavaScript Widgets
Comparison of Widget Libraries
Survey of YUI Widgets
YUI Menu Control
YUI Accordions
YUI “Loading” Panels
YUI Resizable Dialogs and Containers
What does Ext-JS offer?
Ext-JS Widgets
Survey of Dijit and DojoX
Dijit Form Controls and Validation
Dijit Layouts and Containers
Dijit Tooltip Dialogs
Dijit Grid Widget
Scriptaculous Effects
Rails and Scriptaculous Integration
Appendix A – Ruby for Developers
Why Ruby?
Installing Ruby
Development Tools for Ruby
Servers for Deployment
Writing, Executing, and Debugging Scripts
Ruby Operators and Control Structures
Arrays and Strings
Symbols
Methods
Procs and Yields
Instantiating Objects
Variable types
Constructors
Inheritance
Using Require
Defining Modules
The Kernel Module
Reflection
Exception Handling
Appendix B – JavaScript for Developers
Appendix C – CSS Basics