Developing Large Web Applications

happygeek 0 Tallied Votes 486 Views Share
Kyle Loudon
Logical and well written, concise and down to business, example code included
Assumes an in-depth understanding of web development languages and technologies
An ideal book for the web developer who already understands how CSS, HTML, JavaScript and PHP work but need to learn how they can best be used together when developing a truly scalable and modular web application.

How do you create a mission-critical website providing exceptional performance yet at the same time being flexible, reliable and scalable? That's the question that Kyle Loudon, a software developer and manager of a user interface development group at Yahoo!, sets out to provide the answers to in his book: Developing Large Web Applications.

Sub-titled 'producing code that can grow and thrive' Loudon has adopted a practical approach to developing large web applications that remain effective as they scale up in terms of features, functions and users. His past experiences, including developing a flight planning system that's used by airlines worldwide and teaching object-orienting programming at the University of California, Santa Cruz, have come together in these 279 pages. Not only in the obvious depth of knowledge displayed by the author, but perhaps most importantly in his ability to communicate this clearly and concisely. As Nate Koechley, Frontend Engineer and Designer at Yahoo!, so aptly puts it in his foreword "Build big by thinking small. Build new by thinking old. Manage scope. Boost signal and reduce noise. Resist breakage... these things are easy to rattle off, but it takes an author like Kyle, and a book like this, to make them practical and real".

A book like this, however, is not for beginners to web development languages and tools. If you don't already possess at least some degree of familiarity with the likes of CSS, HTML and JavaScript then you will, dear reader, soon get left behind. It isn't, in any way, a tutorial in any of these languages. Although many of the examples provided can translate to other server-side scripting languages, you'll need to have a good understanding of PHP as that's what the author has used. You needn't be too caught up in the large web applications side of things that the title suggests though, as the techniques presented are equally pertinent to smaller scale development. As long as you have the will to apply established software engineering good practice to web development, and the desire to avoid the common coding and maintenance headaches that afflict so many smaller websites as they scale up in page and code, you'll do just fine.

From the very first chapter which examines the tenets that guide the discussions throughout the remainder of the book, through to the very last chapter that focuses on organizing classes and files on the server in order to reinforce the modularity established in your large-scale HTML, CSS, JavaScript and server-side scripts, the pace relentlessly drives you towards being a more precise programmer. By embracing the virtues of modularity, encapsulation, abstraction while using tried and tested techniques for managing the exchange of data, Loudon is the man to read if you want to ensure your web applications are constructed in such a way as to be scalable without degrading performance. Large-scale HTML, CSS, JavaScript, PHP and Ajax all get their own in-depth chapters. As does object orientation, data management and writing high performance code. Talking of which, all the example code has been made available by the author on his website, which helps make the learning process even more hands-on and can be used as a lightweight application framework.Table of Contents

Chapter 1 The Tenets

Managing Complexity
Modular Components
Ten Tenets for Large Web Applications

Chapter 2 Object Orientation

The Fundamentals of OOP
Why Object Orientation?
UML Class Diagrams
Modeling a Web Page
Writing the Code
Achieving Modularity
Object-Oriented PHP
Object-Oriented JavaScript

Chapter 3 Large-Scale HTML

Modular HTML

Chapter 4 Large-Scale CSS

Modular CSS
Positioning Techniques
Layouts and Containers
Other Practices

Chapter 5 Large-Scale JavaScript

Modular JavaScript
Working with the DOM
Working with Events
Working with Animation
An Example: Chained Selection Lists

Chapter 6 Data Management

Dynamic Modules
Data Managers
Data Using SQL As a Source
Data Using XML As a Source
Data from Web Services
Data in the JSON Format
Cookies and Forms

Chapter 7 Large-Scale PHP

Modular Web Pages
Working with Pages
Working with Modules
Layouts and Containers
Special Considerations

Chapter 8 Large-Scale Ajax

In the Browser
On the Server
MVC and Ajax

Chapter 9 Performance

Caching Opportunities
Managing JavaScript
Distribution of Assets
Control Over Site Metrics
Modular Testing

Chapter 10 Application Architecture

Thinking Modularly
Organizing Components
Architecture and Maintenance

Graphix 68 ---

The book sounds like it has some good information on how to create web applications on the large-scale, but why is there a dog on the cover? Just wondering...;)

madCoder 17 Junior Poster

The book sounds like it has some good information on how to create web applications on the large-scale, but why is there a dog on the cover? Just wondering...;)

:) O'Reilly technical books always have some animal on the cover. No rhyme or reason to it that I've ever figured out.

keconomou 0 Newbie Poster

I like that Mr. Loudon covers peformance and application architecture and that the principles can be applied to smaller applications. As for rhyme or reason to the cover of the book, I think the big dog represents big web applications.

happygeek 2,411 Most Valuable Poster Team Colleague Featured Poster

According to the colophon the dog is a Newfoundland, 26-28 inches tall at the shoulder and weighing 100-150 pounds. O'Reilly always choose animals for the covers, and one assumes they went for a big powerful dog as the book is about developing big powerful applications. :)

Devendra_WIPRO 0 Newbie Poster

Happygeek is sounds relevant......!

i agree

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.