Well, sort of. The draft has been entirely turned in to the publisher. Pending some more editorial reviews it will go to production and with any luck, it'll be dead trees sometime in the second quarter of 2005.
What a journey it has been so far. Writing about stuff that isn't done yet is kind of a challenge, but between the general openness of Microsoft and help from various people on the ASP.NET team, it has been fairly easy. A few changes to make still, but everything is on the right track.
I need some help with a title though. The book is kind of intermediate, in that it doesn't teach you what a user control is or how to setup a master page (this will presumably be pretty basic stuff when it's all "out" next year). The first part is my take (and sell) on object-oriented programming, ending in an example of OOP. The second part gets into the real framework of ASP.NET and how to exploit it (modules, handlers, server controls, the event model, membership and profile (plus providers) as well as declarative programming. The last part covers the use of Visual Studio (especially debugging, which Web jockeys seem to be oblivious to), performance and metrics, testing and test-driven development, etc.
So what does one call this? Something like "Intermediate ASP.NET" sounds like the right direction, but it needs a subtitle. Here's a part of the preface under the customary "Who is this book for?"
This book assumes that you’ve already taken the first steps in learning about ASP.NET, and have a relatively basic grasp of either the C# or Visual Basic .NET languages. It is also assumed that you have some basic understanding of how to use Microsoft SQL Server and understand what a relational database is. You might be a developer who was, in a previous life, primarily a script developer and wants to “get” the platform and its strong object-oriented architecture. You might also be a more seasoned developer who just wants to get into some of the platform-specific details of ASP.NET that make things tick under the hood. These developers may choose to skip around a bit.
Regardless of the camp you might be in, this book is all about context. Developers are generally very smart people, and they don’t learn by memorization, they learn by understanding. This book takes the basics of object-oriented programming and applies it to ASP.NET and Visual Studio to give the reader a more rounded skillset that includes application design, test driven development, code reuse, modularization and an eye on performance. The book puts Microsoft's platform into context that moves beyond the "how" and into the "why," not just explaining the concepts but selling them as the best way to solve real problems. If you come from a scripting background or want to make your skills more applicable to other areas of .NET programming, this book is for you.
What would you call it?