Nerd Book Reviews
May 3, 2006
AJAX In Action targets experienced programmers who may not be familiar with client side Web application development. As such, the book provides a ‘crash-course’ into the basic building blocks of AJAX scripting:
- CSS for styling markup/HTML
- CSS for page layout
- How the DOM (document object model) is used to restructure the page dynamically.
Then perhaps (with some programming experience behind you,) you can come back to AJAX in Action.
WARNING: This review has a 5 star nerd-level … not for beginners.
In a word; a comprehensive book that covers as much ground as could be expected, given the pace of change in the Ajax sphere. Lots of detail here although perhaps a little too much at times â€“ I had to fight to finish it and ended up skimming at times.
Chances are youâ€™ve heard of Ajax â€“ itâ€™s getting a lot of press as the best thing since some other acronym (take your pick). Ajax essentially is a suite of web technologies that allow you to develop web sites that seem more like traditional desktop applications. The web metaphor of click-reload-from-server-click-again is replaced by a user interface that can selectively update itself as the user interacts with it.
There are a number of working Ajax applications in the wild, one prominent example being Google Maps (http://maps.google.com/). The promise of Ajax is of a new generation of distributed applications with better usability and hopefully lots of budgets for those who know how to make them happen.
Rethinking the Web
Part 1 of the book does an overview of Ajax with emphasis on how Ajax applications differ from traditional web sites. In addition the section covers some prominent examples, as well as looking at some alternative technologies such as Flash and Java.
The section then dives into some simple examples of using Ajax technologies like the HttpRequest object and DOM scripting. This provides a nice gentle introduction to the main ideas behind Ajax.
The final section of part 1 looks at some patterns that could/should be used in developing Ajax apps with emphasis on a Model-View-Controller (MVC) framework for client-side Ajax code.
Having dipped our toe (if not our whole leg) in the water, the authors move on and cover the various patterns that one might expect to use in developing an Ajax application. Quite a lot is covered and there is a lot of code. The authors use some concrete examples that are mostly reasonable, although less experienced web developers may not see the relevance of some of the examples.
Part 3 is covers core issues involved in taking an application from the prototype stage to a production application. Issues such as responsiveness and scalability are treated, as are usability issues like providing user feedback (with some example re-usable frameworks provided as examples). In addition security and performance are covered with some good tips on third party tools that can be used to debug hard-to-find problems as you are developing your application.
Ajax by Example
The final part covers the lionâ€™s share of the book and provides some examples of varying complexity. These include code for a double combo box, type ahead suggest (see Google Suggests), a web portal, and others. I did not actually spend a lot of time here as by this point I felt I understood enough of the technologies to use them as I needed. Which is not to say that the code examples are not worth looking at.
All in all a lot of the information in the book can be found on the web, but the book does make it easy to kick back in bed and absorb.
The writing style is very clear although not as entertaining as some technical books I have read lately. I think youâ€™ll find that once you understand the core technologies, stuff starts to get repetitive.
Still the book does a nice job of covering the ground extensively and I recommend it to anyone who wants to learn about writing Ajax applications.
April 28, 2006
Review by: Richard Mischook
First, a little about this nerd reviewer:
Iâ€™ve been writing web applications for over ten years. Iâ€™ve used a variety of technologies over that time including CGI with various shell script dialects, Netscape Livewire, and Active Server Pages.
But mainly Iâ€™ve used Java because it generally has been the best choice for many of the projects Iâ€™ve worked on. (ed: and it paid the bills!)
Now saying â€˜Javaâ€™ doesnâ€™t say a whole lot because when it comes to web application development, Java can mean a lot of things. It can be as simple (and messy) as just using Java Server Pages or can include servlets, EJBs and/or the various frameworks that are available such as Struts and Spring.
Many of us have been happy to pick and choose from the rich menu of available technologies, confident that these were solid and reasonable choices.
Things change …
But there is a disturbance in the force. Itâ€™s a small thing right now but some important people have been grumbling. Theyâ€™ve been saying things like â€˜Do I need to write so much code to do thisâ€™ and â€˜How many XML configuration files do I need to get Hello World to show up in a browser?
And while many have embraced PHP there is a growing movement centred on a framework called Rails.
Rails is built on the Ruby scripting language. Ruby is an object-oriented scripting language that is concise and â€œâ€¦makes it easy to create methods that act almost like entensions to the syntaxâ€¦It makes our programs shorter and more readable.â€ (page 1).
RAILS USES MVC
Rails provides a Model View Controller based framework with some important extras thrown in, most particularly a built in Object Relational Mapping tool that makes saving and loading data to and from Ruby objects almost trivial.
In fact Rails seems to provide a lot of the stuff youâ€™ll find in Struts without the headaches associated with maintaining the Struts config file(s).
Ok, ok … what about the book!
The book wastes no time and starts with an overview of a simple Rails application. It then steps back and covers installation on a number of platforms.
It then dives in deeper and builds a fictitious shopping cart application using an agile and iterative development approach (the book is after all called Agile Web Development with Rails). After spending 125 pages building an application, the authors look at the guts of the framework and illustrate how it can be tweaked.
One important theme running throughout Rails is that of intelligent defaults â€“ if you follow a relatively small number of conventions you can have an application up and running with little or no configuration file tweaks.
But if you do need to change things, you can, and the book does a great job of showing you how in simple and clear language.
EMAIL AND AJAX
The book also looks at support for sending and receiving email, as well AJAX and web services support in Rails. There is also a chapter on deployment that is upfront about some of the issues here as well as an interesting appendix covering the Ruby language for those who may be new to it (like me).
Overall the book is a great read if you want to get to grips fast with Rails. The examples and scenarios are fairly realistic and the writing is clear and to the point. Clearly the authors are very passionate about Rails and their enthusiasm is contagious. Highly recommended!
April 5, 2006
PHP Hacks is essentially a collection of ‘bite-size’ PHP scripts that you can easily drop into your websites.
Besides being able to use the hacks straight away in your projects, the PHP code/hacks are clearly explained making them good tutorials for learning how you might do something in PHP.
SOME TOPICS/HACKS THAT STAND OUT:
- Creating a shopping cart.
- Using AJAX with JSON – a php library that makes working with AJAX easy.
- PEAR hacks like Net-Geo to find out state and city locations of people.
- A good examination of PHP design patterns.
Not exactly for beginners, but if you have an understanding of basic PHP you will be OK and you will learn a lot. This book is also good for programmers (from other languages) who want to get a good idea of what tools, libraries are available in the PHP world.
Another good book from O’reilly.
March 31, 2006
This concise book (149 pages) uses Ruby to teach basic programming; a good book for total green-horns to programming. But keep in mind this book is not titled: ‘Learn to Program Ruby’.
What I mean by that, is that the book targets new programmers, not programmers new to Ruby. So it may be a little slow for some people (experienced programmers) when the author (for example,) explains what an array is …
WHAT MAKES THIS BOOK INTERESTING
The book is well written and the flows well, but what I find interesting about it is:
- It uses Ruby to teach programming.
- It teaches some interesting concepts that you might not read in say, a PHP book.
Ruby is the hot new language in the geek world, but it has yet to show itself substantially in commercial application. That said, it is an interesting language choice for this kind of book: Ruby is a terse and easy to use language, and I think this allowed for the author to jump into concepts like recursion and procs – I like this.
A good book that is not so pragmatic, in that you don’t see the typical how to build a shopping cart project at the end.
Instead, the author concentrates on basic programming concepts and leaves it to another book to expose the reader to real-life application.
I would use this book in a programming 101 type of class.
October 31, 2005
Podcasting Hacks is a very good book for both beginners and experts.
A few points:
The books is organised into a series of tips that the book calls ‘hacks’. Each hack is cross-referenced with other relevant hacks and the information is presented in a no-nonsense way … the author gets to the point quickly. Makes for a great reference book.
Everything you need to know about podcasting is covered:
- Tips for those just starting out.
- How to get good sound: choosing hardware, on speaking well, on reducing room noice and more.
- Tips on editing – again addressing both the tools (software) and the process / techniques.
- Instructions on publishing your podcast (blogging,) and even on monetizing your podcast.