Book Review - Beginning ASP.NET 3.5 in C# and VB

Over the years, I have picked up and read many Beginners books that attempt to get someone started on the road to building web sites with ASP.NET. Nearly all of them assumed that their readers know more than they might. Some of them seem to assume that all readers are upgrading from one version of the .NET framework to another, while others assume that you already know about core web development technologies such as HTML, CSS, C# or VB etc. I well remember being frustrated with my first book, in that it didn't give me enough basic information to get started with web development, let alone web development with ASP.NET. Now, up steps Imar Spaanjaars, with his effort: Beginning ASP.NET 3.5 in C# and VB (Wiley/Wrox, ISBN: 978-0-470-18759-3).

Beginning ASP.NET 3.5 in C# and VB

I am familiar with Imar's contributions to the ASP.NET developer community. He volunteers his own time in abundance at the Wrox-sponsored Programmer To Programmer forums, patiently answering questions from newcomers to ASP.NET development. He also maintains his own web site at http://imar.spaanjaars.com/, which features a growing selection of articles and snippets on web development for ASP.NET programmers. The style in which he writes in these two arenas suggests that Imar has acquired a very good understanding of his primary audience, which is the beginner web developer. I was looking forward to seeing how successfully he had managed to apply that understanding to the content and style of his book, and I was delighted to see that he had accomplished it so well.

The fact is that the ASP.NET framework on its own is virtually useless. I frequently find posts in the forums at Microsoft's ASP.NET community site which clearly illustrate that beginners have no idea, for example, that ASP.NET produces HTML for the browser, or that CSS is a technology for controlling the presentation of this HTML, or how to work with databases to store and retrieve the dynamic content of their site. And this could well be down to the lack of coverage given to these areas in other books. Imar not only takes the time to explain this relationship between technologies, but spends the first five tosix chapters of his book going into some detail on each one of them, providing the reader with the kind of solid background that I believe is essential. His coverage of the main tool of the ASP.NET newcomer - Visual Web Developer Express - is oustanding, and should really help learners find their way through what can be a bewildering array of tabs, menus, panes and windows that this highly complex and powerful application offers.

Since ASP.NET is such a vast topic, knowing what to include and exclude from a starter book is difficult, but I feel that Imar's experience answering questions in forums has helped him choose just the right blend of subjects. He has managed to focus on the topics that raise the most questions, and therefore are likely to be used most often. The only caveat to this is that I felt there could have been more coverage of the AJAX Toolkit Controls. Nevertheless, Imar provides sources for more information on all the topics he has covered. To me, the order in which topics are actually covered seems logical and each one helps build on previous knowledge. On the odd occasion where something is introduced in a code sample before it is explained properly, pointers to the relevant later chapter which covers the concept in more detail are provided.

As each topic is introduced and explained in extremely accessible terms, Imar shows how to apply the subject of the topic to gradually build a real-world web application. Well, it's as real-world as any beginner is likely to need, and will comfortably introduce people to what can be accomplished with the technology. Most other books stop there, but what impressed me in particular with Imar's book, is that he includes a Practical Tips section with each chapter, in which he provides readers with snippets of proper real-world "Best Practice", that will hold them in good stead as they continue their progress as ASP.NET developers.

As well as the Practical Tips, each chapter is structured in a logical manner - an introduction to the topic under scrutiny; code showing the subject being used in both C# and VB; and a How It Works section, that explains what is happening on practically a line-by-line basis. Chapters are also completed with exercises and questions so that the reader can test their growing knowledge.

On the back cover, Imar states that he assumes no prior experience in web development among readers. He does a great job in this book in delivering the information needed under that assumption. He also helps Wrox deliver on their stated intention (also on the back cover): "Wrox Beginning Guides are crafted to make learning programming languages and technologies easier than you think....". If you are looking for an accessible, well structured beginners guide to using ASP.NET for your web development technology, this is undoubtedly the book to pick.