Web development is a term that takes on different meanings depending on the audience and context. In practice, web development requires people with complementary but distinct expertise working together toward a single goal. Whereas a graphic designer might regard web development as the application of good graphic design strategies, a database administrator might regard it as a simple interface to an underlying database. Software engineers and programmers might regard web development as a classic software development task with phases and deliverables, where a systems administrator sees a system that has to be secured from attackers. With so many different classes of user and meanings for the term, it’s no wonder that web development is often poorly understood. Too often, in an effort to fully cover one aspect of web development, the other principles are ignored altogether, leaving students without a sense of where their skills fit into the big picture.
A true grasp of web development requires an understanding of multiple perspectives. As you will see, the design and layout of a website are closely related to the code and the database. The quality of the graphics is related to the performance and configuration of the server, and the security of the system spans every aspect of development. All of these seemingly independent perspectives are interrelated and therefore a web developer (of any type) should have a foundational understanding of all aspects, even if they only possess expertise in a handful of areas.
Features of the Book
To help students master the fundamentals of web development, this book has the following features:
■ Covers both the concepts and the practice of the entire scope of web development. Web development can be a difficult subject to teach because it involves covering a wide range of theoretical material that is technology independent as well as practical material that is very specific to a particular technology. This book comprehensively covers both the conceptual and practical side of the entire gamut of the web development world.
■ Focused on the web development reality of today’s world and in anticipation of future trends. The world of web development has changed remarkably in the past decade. For instance, fewer and fewer sites are being created from scratch; instead, a great deal of current web development makes use of existing sophisticated frameworks and environments such as jQuery, WordPress, HTML5, and Facebook. We believe it is important to integrate this new world of web development into any web development textbook.
■ Sophisticated, realistic, and engaging case studies. Rather than usingsimplistic “Hello World” style web projects, this book makes extensive use of three case studies: an art store, a travel photo sharing community, and a customer relations management system. For all the case studies, supporting material such as the business cases, use cases, design documentation, visual design, images, and databases are included. We have found that students are more enthusiastic and thus work significantly harder with attractive and realistic cases.
■ Content presentation suitable for visually oriented learners. As long-time instructors, the authors are well aware that today’s students are often extremely reluctant to read long blocks of text. As a result, we have tried to make the content visually pleasing and to explain complicated ideas not only through text but also through diagrams.
■ Content that is the result of over twenty years of classroom experience (in college, university, and adult continuing education settings) teaching web development. The book’s content also reflects the authors’ deep experience engaging in web development work for a variety of international clients.
■ Tutorial-driven programming content available online. Rather than using long programming listings to teach ideas and techniques, this book uses a combination of illustrations, short color-coded listings, and separate tutorial exercises. These step-by-step tutorials are not contained within the book, but are available online at www.pearsonhighered.com/connolly-hoar. Throughout the book you will find frequent links to these tutorial exercises.
■ Complete pedagogical features for the student. Each chapter includes learning objectives, margin notes, links to step-by-step tutorials, advanced tips, keyword highlights, end-of-chapter review questions, and three different case study exercises.
Chapter 1 How the Web Works 1
Chapter 2 Introduction to HTML 52
Chapter 3 Introduction to CSS 95
Chapter 4 HTML Tables and Forms 148
Chapter 5 Advanced CSS: Layout 184
Chapter 7 Web Media 283
Chapter 8 Introduction to Server-Side Development with PHP 322
Chapter 9 PHP Arrays and Superglobals 364
Chapter 10 PHP Classes and Objects 402
Chapter 11 Working with Databases 436
Chapter 12 Error Handling and Validation 503
Chapter 13 Managing State 541
Chapter 14 Web Application Design 573
Chapter 16 Security 665
Chapter 17 XML Processing and Web Services 718
Chapter 18 Content Management Systems 781
Chapter 19 Web Server Administration 838
Chapter 20 Search Engines 881
Chapter 21 Social Network Integration 914