Review

The authors aim for this book to "provide students and professionals with an informative, interesting challenging and entertaining Internet and web programming educational experience.", which they achieve with this easy to read book.
A great feature of the book is that it is printed in full colour and uses syntax colouring for the example code, which accompany all the presented topics. The example codes are functioning applications, of course small and simple ones, which is great for understanding.
On the negative side, because the book is aimed for use as a student textbook, access to the instructor's resource centre, which presumably provides answers to the large number of set exercises, (which are aimed at providing instructors with the resources to tailor and vary course assignments, quizzes, exams and projects to the needs of their students) is off limits to all but college instructors. This means that a section of the book is of limited use to practising engineers, for whom worked examples are important.
Also, because the book aims to start at the beginner's level a large percentage of the book (chapters 6, 7, 8, 9, 10 & 11, (248 pages including the Summary, Self-Review Exercises and Exercises)) is dedicated to explaining programming using JavaScript. If you've programmed with JavaScript, or any other object oriented language then these chapters are redundant for you. Included in this section of the book is a summary of structured programming. Considering the diversity of views on the subject, (saying, for example, that for simplicity only single exit control structures are used, when there are many recommendations that multi-exit control structures simplify the design), to try and teach it in 5 pages is probably unwise.
Of course, if you're new to JavaScript and, or OO programming, at around 248 pages, these chapters are a good introduction to JavaScript and you probably won't need to get a separate book on it.
I borrowed the book from the library and I'm unsure if it is worth the price, (around US$128). The chapters on JavaScript are excellent, but I'm not sure if the one or two chapters dedicated to each of the other topics in the book, (e.g. XML, Ajax, Flash, SQL, PHP, Rails) provide sufficient detail to not require a subsequent more detailed book. But on the other hand, this book may provide sufficient detail that the reader is able to skip an intermediate level book on each of these topics and jump straight to an advanced book, thus saving money on seven or more beginners books.
18 Dec 2009
Brief Description of Contents
Chap. 1.
Introduction to Computers and the Internet
Covers basic computing concepts; the different types of programming languages; the evolution of the Internet and the World Wide Web; what Web 2.0 is and why it is having such an impact among Internet-based and traditional businesses; what Rich Internet Applications are and the key software technologies used to build them.
Chap. 2.
Web Browser Basics: Internet Explorer and Firefox
Understanding Microsoft Internet Explorer 7 and Mozilla Firefox 2 web browsers' capabilities; using IE7 and FF2 to search the information on the world wide web; customising a browser according to your needs and preferences; differences between various browsers.
Chap. 3.
Dive Into® Web 2.0
The defining characteristics of and why search is fundamental to Web 2.0; how Web 2.0 empowers the individual; the importance of collective intelligence and network effects; the significance and growth of blogging; social networking, media and bookmarking; how tagging leads to folksonomies; how web services enable new applications to be quickly and easily mashing up
from existing applications; Web 2.0 technologies; Web 2.0 Internet business and monetization models; the emerging Semantic Web (the web of meaning
).
Chap. 4.
Introduction to XHTML
The important components of an XHTML document; using XHTML to create web pages; adding images to web pages; creating and using hyper links to navigate web pages; marking up lists of information; creating tables of data and controlling formatting.
Chap. 5.
Cascading Style Sheets (CSS)
Controlling the appearance of a website by creating style sheets; using a style sheet to give all the pages of a website the same look and feel; using the class
attribute to apply styles; specifying the precise font, size, colour and other properties of displayed text; specifying element backgrounds and colours; understanding the box model and how to control margins, borders and padding; using style sheets to separate presentation from content.
Chap. 6.
JavaScript: Introduction to Scripting
Simple JavaScript programs covering input and output statements; basic memory concepts; arithmetic operators and their precedence; decision making statements; relational and equality operators.
Chap. 7.
JavaScript: Control Statements I
Basic problem solving techniques; developing algorithms through the process of top-down, stepwise refinement; using the if
and if...else
selection statements to choose among alternative actions; using the while
repetition statement to execute statements in a script repeatedly; counter-controller repetition a d sentinel-controller repetition; increment, decrement and assignment operators.
Chap. 8.
JavaScript: Control Statements II
The essentials of counter-controlled repetition; the use of for
and do...while
repetition statements to execute statements in a program repeatedly; performing multiple selection using the switch
selection statement; the use of the break
and continue
program control statements; the use of logical operators.
Chap. 9.
JavaScript: Functions
Their use to construct programs modularly from small pieces called functions; how to create new functions; how to pass information between functions; example of using the random number generator; how the visibility of identifiers is limited to specific regions of programs.
Chap. 10.
JavaScript: Arrays
The use of arrays to store lists and tables of values; declaring and initialising an array, (including multidimensional arrays); referring to elements of an array; passing arrays to functions (in JavaScript all objects are passed by reference); searching and sorting an array.
Chap. 11.
JavaScript: Objects
Object based programming terminology and concepts; the value of object orientation; the concepts of encapsulation and data hiding; the use of the Math
, String
, Date
, Boolean
and Number
objects; the use of the browser's document
and window
objects; using cookies; brief introduction to JSON (JavaScript Object Notation).
Chap. 12.
Document Object Model (DOM): Objects and Collections
How to use JavaScript and the W3C Document Object Model to create dynamic web pages; the concepts of DOM nodes and DOM trees; how to traverse, edit and modify elements in an XHTML document; how to change CSS styles dynamically; creating JavaScript animations.
Chap. 13.
JavaScript: Events
The concepts of events, event handlers and event bubbling; creating and registering event handlers that respond to mouse and keyboard events; using the event
object to get information about an event; recognising and responding to many common events.
Chap. 14.
XML and RSS
How to mark-up using XML; how XML namespaces provide unique XML element and attribute names; using DTDs and schemas to specify and validate the structure of an XML document; creation and use of simple XSL sheets to render XML document data; retrieve and manipulate XML data programmatically using JavaScript; RSS and how to programmatically apply an XSL transformation to an RSS document using JavaScript.
Chap. 15.
Ajax Enabled Rich Internet Applications
What Ajax (Asynchronous JavaScript and XML) is and why it is important for building Rich Internet Applications; what asynchronous requests are and how they help give web applications the feel of desktop applications; what the XMLHttpRequest
object is and how it's used to create and manage asynchronous requests to and receive responses from servers; methods and properties of the XMLHttpRequest
object; how to use XHTML, JavaScript, CSS, XML, JSON and the DOM in Ajax applications; how to use Ajax frameworks and tool kits,(specifically Dojo), to conveniently create robust and browser independent Ajax based Rich Internet Applications.
Chap. 16.
Adobe® Flash® CS3
Adobe®Flash® CS3 (Creative Suite 3) is a commercial application used to produce interactive, animated movies, for use as web-based banner advertisements, interactive websites, games and web-based application. This chapter covers Flash CS3 multimedia development; development of Flash movies, Flash animation techniques; ActionScript 3.0, (Flash's object-orientated programming language; creating a preloaded animation for a Flash movie; adding sound to Flash movies; creating special effects with Flash; creating a splash screen.
Chap. 17.
Adobe®Flash® CS3: Building an Interactive Game
Advanced ActionScript 3.0 in Flash CS; building in Flash CS3 skills learnt in chapter 16; the basics of object-oriented programming in Flash CS3; creating a functional, interactive Flash game; making objects move in Flash; how to embed sound and text objects into a Flash movie; how to detect collisions between objects in Flash.
Chap. 18.
Adobe® Flex 2 and Rich Internet Applications
Adobe Flex is an alternative to Ajax and uses the graphical capabilities and cross platform nature of Flash to enable web developers deliver Rich Internet Applications. The chapter covers, how to design user interfaces in Flex's user interface mark-up language, MXML; embedding multimedia in a Flex application; use data binding to create responsive user interfaces; access XML data from a Flex application; Client-side scripting in ActionScript 3.0; interact with a web service; create advanced user interface; How the Adobe Integrated Runtime allows Flex applications to run on the desktop without an Internet connection.
Chap. 19.
Microsoft® Silverlight 2 and Rich Internet Applications
Silverlight is Microsoft's platform for Rich Internet Applications. It is designed to complement Ajax and other RIA technologies, such as Adobe Flash and Flex, Sun's JavaFX and Microsoft's own ASP.NET Ajax and, at the time of the book's writing, runs as a browser plug-in. The chapter covers, the differences between Silverlight 1.0 and 1.1; creating user interfaces in XAML; embedding multimedia in a Silverlight application; programming for Silverlight using JavaScript; embedding Silverlight in web pages; hosting Silverlight applications on-line with Microsoft's Silverlight Streaming Service; programming for Silverlight with .NET languages, specifically, Visual Basic; parsing RSS feeds in Silverlight 1.1.
Chap. 20.
Adobe® Dreamweaver® CS3
Dreamweaver CS3 is a popular visual HTML editor. Using Dreamweaver you can easily perform many of the tasks learnt in the previous chapters. You can insert and edit text, as well as create more complex XHTML elements, such as tables, forms, frames and much more. This latest version now enables the user to develop Ajax applications with Adobe's Spry framework. The chapter covers, using Dreamweaver CS3 effectively; developing web pages in a visual environment; insert images and links into web pages; create XHTML elements such as tables and forms; insert scripts into Dreamweaver pages; using the Spry framework to create richer, more dynamic web applications; using Dreamweaver's site-management capabilities.
Chap. 21.
Web Servers (IIS and Apache)
Understanding a web server's functionality; introduction to Apache HTTP Server and Microsoft's Internet Information Server; setting up virtual directories from which content can be served and testing whether it's set up correctly.
Chap. 22.
Database: SQL, MySQL, ADO.NET 2.0 and Java DB
Relationship database concepts; use of Structured Query Language (SQL) to retrieve data from and manipulate data in a database; installing and configuring MySQL; creating a MySQL database; the ADO.NET object model.
Chap. 23.
PHP
manipulating data of various types; the use of operators, arrays and control statements; the use of regular expressions to search for patterns; write programs to process form data; using cookies to store data on the client side; write programs that interact with MySQL databases.
Chap. 24.
Ruby on Rails
Ruby on Rails (also known as just "Rails") is a framework for developing data-driven web applications using the Ruby scripting language. Rails is different from most other programming languages because it takes advantage of many conventions to generate substantial functionality and perform many tasks to reduce development time. Rails has built in libraries that provide Ajax functionality and for performing common web development tasks, such as, interacting with a database, sending mass emails, generating web services. The chapter covers, Basic Ruby programming; how to use the Rails framework; the Model-View-Controller paradigm; how to use ActiveRecord
to model a database; how to construct web applications that interact with a database; how to create a web-based message forum; how to develop Ajax enabled applications; how to use the built-in Script.aculo.us library to add visual effects to your programs.
Chap. 25.
ASP.NET 2.0 and ASP.NET Ajax
Web application development using Active Server Pages .NET (ASP.NET); creating Web Forms; creating ASP.NET applications consisting of multiple Web Forms; maintaining state information about a user with session tracking and cookies; use of the Web Site Administration Tool to modify web application configuration settings; controlling user access to web applications using forms authentication and ASP.NET login controls; using databases in ASP.NET applications; designing a master page and content pages to create a uniform look-and-feel for a website.
Chap. 26.
JavaServer Faces Web Applications
Web application development using Java Technologies and Netbeans; creating JavaServer Pages with JavaServer Faces components; create web applications consisting of multiple pages; validating user input on a web page; maintaining state information about a user with session tracking and cookies.
Chap. 27.
Ajax-Enabled JavaServer Faces Web Applications
Using data providers to access databases from web applications built in Netbeans; including Ajax enabled JSF components in a Netbeans web application project; configuring virtual forms that enable subsets of a form's input to be submitted to the server.
Chap. 28.
Web Services
Web services promote software portability and reusability in applications that operate over the Internet. A web service is a software component stored on one computer and can be accessed via method calls by an application on another over a network. Web services communicate using XML and HTTP. This chapter deals with Java APIs that are based on the Simple Object Access Protocol, (SOAP), one of the Java APIs that facilitate web services. SOAP is an XML based protocol that enables web services and clients to communicate even if the client and web service are written in different languages. The chapter covers, what a web service is; how to publish and consume Java web services in Netbeans; the elements that comprise web services, such as service descriptions and classes that implement web services; how to create client desktop and web applications that invoke web services methods; the important part that XML and the SOAP play in enabling web services; how to use session tracking in web services to maintain client state information; how to connect to databases from web services; how to pass objects of user defined types to and return them from a web service; how to build a Representational State Transfer, (REST) based web service in ASP.NET.
A
XHTML Special Characters
Some of the common XHTML special characters.
B
XHTML Colors
Table of the XHTML colour names and their hexadecimal RGB values.
C
JavaScript Operator Precedence Chart
Back