KnowDotNet NetRefactor

Book Review: Building Solutions with the Microsoft .NET Compact Framework

ISBN: 0321197887

by William Ryan
Print this Article Discuss in Forums

If you've done much programming with Microsoft products, then you have probably know the names Jon Box and Dan Fox.  If you aren't familiar with them, suffice to say that they are two of .NET's heaviest hitters and know their art as well as it can be known.  When two guys like this write a book, it's a sure bet it will be excellent, and IMHO, it's superb.

Less than a year ago, it was really hard to find much on Microsoft's   Compact Framework  but recently, a few great titles were published.  This book however is quite different.  Most of the other books have a very pragmatic approach in the development sense.  This book is pragmatic in the 'big picture' sense and really focuses on the 'why' type questions regarding the Compact Framework and then fills in the gaps with plenty of code examples.

Including indexes, appendices and all that good stuff, the book is just under 370 pages hosting 9 Chapters.  The first three chapters focus primarily on the background of the Compact Framework and what it can do for you.  Personally, I've been developing with the compact framework for over a year now, help run a website covering mobile development exclusively and spend a good part of my time following the mobility scene.  Normally, 'what is' type chapters are something I'd breeze over, but I found there coverage of it very interesting.  They  discussed the whole gamut of mobile devices, what you'd need to write applications for them and how the compact framework fits into all of this.  Using real world anecdotes from their company and providing some first rate "Related Reading" links, the first three chapter can get someone totally clueless about mobility up and running very quickly.

After this general discussion, things get much more targeted.  When you think of mobile development, you don't have a whole lot of real estate and the whole environment is much different.  As such, the major areas of concern for most developers will be, building a UI, Accessing Data under multiple scenarios (after all, you probably won't have network connectivity whenever its needed so working offline is just as important as working online) and security.  These three areas are covered very well.  One of the few things I wish they would have written more about though is alternate data access scenarios.  Most of the Compact Framework books (including this one) discuss using SQL Server CE and Replication, and Rob Tiffany wrote an excellent book on the subject.    But other than SQL Server CE and XML, there's not much out there, and XML tends to only be covered in the context of Web Services.  Nonetheless, I can't really fault the authors for not covering my pet topic as in depth as I wished.

Another important aspect of CF development that they do a great job on is Synchronization.  After all, if your PDA only acts as a stand-alone island never communicating with other devices, it probably won't be of much use to you.  Anyway, only about 20 pages are dedicated to Synchronization and 15 of those to ActiveSync but those 15 pages are so detailed and to the point that they are all most developers will probably need.  If I've seen such a large topic discussed so succintly and effectively, I can't recall it.

Next comes security and they really knocked the ball out of the park here.  Data security is such a Huge issue but a lot of programmers prefer not to deal with it.   Traditionally, managers have given security very short shrift and only worried about bugs and new features.  "It's never been hacked so it's secure enough" is the unfortunate mantra of too many people.  Well, all of the tradional security challenges are exacerbated in mobile development.  For one thing, physically securing a Web Server is a whole lot easier than securing a PDA.  And since PDA are used remotely, it's a lot harder to enforce internal security policies like Strong Passwords, what people can download etc when the computer is only on the domain occassionally.  It's also a lot easier for a crook to steal a PDA than most other computers, even laptops, so mobile security faces challenges everywhere.  Well, they dedicate almost 25 pages to this subject and really do a nice job.  It's nice to see that so much emphasis is put into such a dry yet critical subject.

The rest of the book deals with ancillary issues like Globalization and deployment.  I think they did a good job here, but these two subjects have already recieved a good bit of attention in most of the other books out there...but that's not to diminish the quality of what they wrote.

In summary, I think this is a first rate book by two first rate authors.  The discussion of security alone justifies the price of the book but that's not to say that they didn't do a great job everywhere else. I also think that this book is particularly cool because of its emphasis on architectural considerations, which are easy to overlook and potentially devastating if not given the necessary attention.  Overall, I think it's safe to say that if you buy this book, you'll consider it a great investment.

Writing Add-Ins for Visual Studio .NET
Writing Add-ins for Visual Studio .NET
by Les Smith
Apress Publishing