Programming the World Wide Web

Series
Addison-Wesley
Author
Robert W. Sebesta  
Publisher
Pearson
Cover
Softcover
Edition
8
Language
English
Total pages
792
Pub.-date
March 2014
ISBN13
9780133775983
ISBN
0133775984
Related Titles



Description

Programming the World Wide Web¿is intended for undergraduate students who have completed a course in object-oriented programming. It also serves as an up-to-date reference for Web programming professionals.

Programming the World Wide Web¿provides a comprehensive introduction to the tools and skills required for both client- and server-side programming, teaching students how to develop platform-independent sites using the most current Web development technology. Essential programming exercises are presented using a manageable progression: students begin with a foundational Web site and employ new languages and technologies to add features as they are discussed in the course. Readers with previous experience programming with an object-oriented language are guided through concepts relating to client-side and server-side programming. All of the markup documents in the book are validated using the W3C validation program.

Teaching and Learning Experience
This program presents a better teaching and learning experience–for you and your students. It will help:

  • Teach Students how to Develop Platform-independent Sites:¿Students will benefit from a comprehensive introduction to the tools and skills required for both client- and server-side programming.
  • Present Essential Programming Exercises in a Logical Progression:¿Students begin with a foundational Web site and employ new languages and technologies to add features as they are discussed in the course.

Features

Teach Students how to Develop Platform-independent Sites

  • Client-side and server-side technologies¿are covered in two distinct sections, client-side in Chapters 2-7 and server-side in Chapters 8-16.
    • Client-side technology¿is covered using HTML, XHTML, CSS, JavaScript, JavaScript and HTML documents, dynamic documents with JavaScript, and XML.
    • Server-side technology¿is covered using Flash, PHP, Ajax, Java web software, ASP.NET, Ruby, database access through the web, Android, and Rails.

Present Essential Programming Exercises in a Logical Progression

  • Chapter 2 provides an introduction to HTML,¿including images, links, lists, tables, forms, the audio and video elements, the organizational elements, and the time element.
    • NEW:¿Three new type attribute values descriptions are included for the input element, url, email, and range in Section 2.9.2.
  • Chapter 3 covers aspects of cascading style sheets,¿including levels of style sheets, style specification formats, selector formats, property values, and color. Among the properties covered are those for fonts, lists, and margins.
    • NEW:¿Descriptions of four new selectors, first-child, last-child, only-child, and empty, are included in Section 3.4.5.
  • JavaScript¿is introduced in Chapter 4 using students’ knowledge of other programming languages to leverage the discussion.
  • Building HTML documents in relation to JavaScript¿is presented in Chapter 5.
    • UPDATED:¿Section 5.9, titled¿The canvas Element, is expanded from thirteen lines to three and one-half pages, adding three new figures.
  • Chapter 7 presents an introduction to XML,¿which provides the means to design topic-specific markup languages that can be shared among users with common interests.
    • NEW:¿A new section, 7.2, titled¿Uses of XML, briefly describes some of the many areas in which XML has been used. Section 7.4, titled¿Document Type Definitions, has been deleted in its entirety from this edition.
  • Chapter 8 on Flash Programming¿introduces the Flash authoring environment, which is used to create a wide variety of visual and audio presentations—in particular, those that include animation.
  • Chapter 10 on Ajax¿presents a thorough introduction to the concept and implementation of Ajax interactions, as well as discussions of return document forms, Ajax toolkits, and Ajax security.
  • Chapter 11 on Java Web software¿includes sections on NetBeans, JSP, JavaBeans, and JavaServer Faces.
  • Chapter 12 is a complete introduction to ASP.NET,¿beginning with a brief introduction to C# and continuing with discussions of ASP.NET controls and Web service construction with ASP.NET. It includes a section on ASP.NET Ajax and a brief introduction to Visual Studio.
    • NEW:¿A new Section 12.2.7, titled¿Attributes, is included in this edition.
  • Chapter 13 covers Web access to relational databases,¿including SQL and MySQL, and Web access to databases using PHP, and Java JDBC, and ASP.NET.
  • NEW: A completely new Chapter 14, Android Software Development, introduces the structure of Android applications and the process of developing them.¿The basics of view documents, which are written in an XML-based markup language, and activities, which are written in a form of Java, are introduced. Several relatively simple examples are used to illustrate this new approach to building Web applications for mobile devices.
  • A brief, accessible Introduction to Java Appendix¿is included for those who have experience with C++ and object-oriented programming, but who do not know Java.

New to this Edition

Present Essential Programming Exercises in a Logical Progression

  • Three new type attribute values descriptions are included for the input element, url, email, and range in Section 2.9.2.
  • Descriptions of four new selectors, first-child, last-child, only-child, and empty, are included in Section 3.4.5.
  • Section 5.9, titled The canvas Element, is expanded from thirteen lines to three and one-half pages, adding three new figures.
  • A new section, 7.2, titled Uses of XML, briefly describes some of the many areas in which XML has been used. Section 7.4, titled Document Type Definitions, has been deleted in its entirety from this edition.
  • A new Section 12.2.7, titled Attributes, is included in this edition.
  • A completely new Chapter 14, Android Software Development, introduces the structure of Android applications and the process of developing them. The basics of view documents, which are written in an XML-based markup language, and activities, which are written in a form of Java, are introduced. Several relatively simple examples are used to illustrate this new approach to building Web applications for mobile devices.
  • Throughout the book, numerous small revisions, additions, and deletions were made to improve the correctness and clarity of the material.

Table of Contents

1. Fundamentals

   1.1    A Brief Introduction to the Internet

   1.2    The World Wide Web

   1.3    Web Browsers

   1.4    Web Servers

   1.5    Uniform Resource Locators

   1.6    Multipurpose Internet Mail Extensions

   1.7    The Hypertext Transfer Protocol

   1.8    Security

   1.9    The Web Programmer’s Toolbox

2.  Introduction to HTML/XHTML

   2.1    Origins and Evolution of HTML and XHTML

   2.2    Basic Syntax

   2.3    Standard HTML Document Structure

   2.4    Basic Text Markup

   2.5    Images

   2.6    Hypertext Links

   2.7    Lists

   2.8    Tables

   2.9    Forms

   2.10    The Audio Element

   2.11    The Video Element

   2.12    Organization Elements

   2.13    The Time Element

   2.14    Syntactic Differences between HTML and XHTML

3. Cascading Style Sheets

   3.1    Introduction

   3.2    Levels of Style Sheets

   3.3    Style Specification Formats

   3.4    Selector Forms

   3.5    Property-Value Forms

   3.6    Font Properties

   3.7    List Properties

   3.8    Alignment of Text

   3.9    Color

   3.10    The Box Model

   3.11    Background Images

   3.12    The span  and div Tags

   3.13    Conflict Resolution

4. The Basics of JavaScript

   4.1    Overview of JavaScript

   4.2    Object Orientation and JavaScript

   4.3    General Syntactic Characteristics

   4.4    Primitives, Operations, and Expressionsa

   4.5    Screen Output and Keyboard Input

   4.6    Control Statements

   4.7    Object Creation and Modification

   4.8    Arrays

   4.9    Functions

   4.10    An Example

   4.11    Constructors

   4.12    Pattern Matching Using Regular Expressions

   4.13    Another Example

   4.14    Errors in Scripts

5. JavaScript and HTML Documents

   5.1    The JavaScript Execution Environment

   5.2    The Document Object Model

   5.3    Element Access in JavaScript

   5.4    Events and Event Handling

   5.5    Handling Events from Body Elements

   5.6    Handling Events from Button Elements

   5.7    Handling Events from Text Box and Password Elements

   5.8    The DOM 2 Event Model

   5.9    The  canvas Element

   5.10    The  navigator  Object

   5.11    DOM Tree Traversal and Modification

6. Dynamic Documents with JavaScript

    6.1    Introduction

   6.2    Positioning Elements

   6.3    Moving Elements

   6.4    Element Visibility

   6.5    Changing Colors and Fonts

   6.6    Dynamic Content

   6.7    Stacking Elements

   6.8    Locating the Mouse Cursor

   6.9    Reacting to a Mouse Click

   6.10    Slow Movement of Elements

   6.11    Dragging and Dropping Elements

7. Introduction to XML

   7.1    Introduction

   7.2    Uses of XML

   7.3    The Syntax of XML

   7.4    XML Document Structure

   7.5    Namespaces

   7.6    XML Schemas

   7.7    Displaying Raw XML Documents

   7.8    Displaying XML Documents with CSS

   7.9    XSLT Style Sheets

   7.10    XML Processors

   7.11    Web Services

8.  Introduction to Flash

   8.1    Origins and Uses of Flash

   8.2    A First Look at the Flash Authoring Environment

   8.3    Drawing Tools

   8.4    Static Graphics

   8.5    Animation and Sound

   8.6    User Interactions

9.  Introduction to PHP

   9.1    Origins and Uses of PHP

   9.2    Overview of PHP

   9.3    General Syntactic Characteristics

   9.4    Primitives, Operations, and Expressions

   9.5    Output

   9.6    Control Statements

   9.7    Arrays

   9.8    Functions

   9.9    Pattern Matching

   9.10    Form Handling

   9.11    Cookies

   9.12    Session Tracking

10.  Introduction to Ajax

   10.1    Overview of Ajax

   10.2    The Basics of Ajax

   10.3    Return Document Forms

   10.4    Ajax Toolkits

   10.5    Security and Ajax

11. Java Web Software

   11.1    Introduction to Servlets

   11.2    The NetBeans Integrated Development Environment

   11.3    A Survey Example

   11.4    Storing Information on Clients

   11.5    JavaServer Pages

   11.6    JavaBeans

   11.7    Model-View-Controller Application Architecture

   11.8    JavaServer Faces

12. Introduction to ASP.NET

   12.1    Overview of the .NET Framework

   12.2    A Bit of C#

   12.3    Introduction to ASP.NET

   12.4    ASP.NET Controls

   12.5    ASP.NET AJAX

   12.6    Web Services

13.  Database Access through the Web

   13.1    Relational Databases

   13.2    An Introduction to the Structured Query Language

   13.3    Architectures for Database Access

   13.4    The MySQL Database System

   13.5    Database Access with PHP and MySQL

   13.6    Database Access with JDBC and MySQL

   13.7    Database Access with ASP.NET and MySQL

14. Android Software Development

14.1 Overview

14.2 The Tools

14.3 The Architecture of Android Applications

14.4 The Execution Model for Android Applications

       14.5 View Groups

     14.6 Simple Views

  14.7 An Example Application

  14.8 Running an Application on an Android Device   

 14.9 Using the Class to Call Other Activities

  14.10 An Example Application: A Second Activity

  14.11 More Widgets

  14.12 Dealing with Lists

  14.13 Data Persistence

  14.14 Using the Debugger

15. Introduction to Ruby

   15.1    Origins and Uses of Ruby

   15.2    Scalar Types and Their Operations

   15.3    Simple Input and Output

   15.4    Control Statements

   15.5    Fundamentals of Arrays

   15.6    Hashes

   15.7    Methods

   15.8    Classes

   15.9    Blocks and Iterators

   15.10    Pattern Matching

16. Introduction to Rails

   16.1    Overview of Rails

   16.2    Document Requests

   16.3    Rails Applications with Databases

Appendix A: Intoduction to Java

  A.1 Overview of Java

  A.2 Data Types and Structures

  A.3 Classes, Objects, and Methods

   A.4 Interfaces

   A.5 Exception Handling

Appendix B: Named Colors and Their Hexadecimal Values  

Author

Dr. Robert W. Sebesta is an Associate Professor Emeritus of computer science at the University of Colorado at Colorado Springs. He received his PhD in computer science from Pennsylvania State University. His professional interests are the design and evaluation of programming languages, compiler design, and software-testing methods and tools. He is the author of Concepts of Programming Languages, 10e.