Free .NET Compact Framework book in progress
by Simon St. Laurent
Related link: http://simonstl.com/compact/
I didn't plan to write a book on the .NET Compact Framework when I started programming with it, but I suppose that's an occupational hazard given that I write and edit books. There are some good books on the .NET Compact Framework (none of which are at my local Borders, another issue), but they all are written for an audience that isn't me.
I'm not an experienced .NET programmer who's already familiar with Visual Studio .NET, the regular .NET Framework, or even necessarily C# and VB.NET. Not only that, I don't think I should have to be any of those things to write applications for a handheld device. The actual application I'm trying to create would be a week's work maximum in Microsoft Access, but of course the forms and reports that are available in Access don't run on a Pocket PC. I don't think anything I'm doing here is that complicated, and I'm surprised by how many cost and skill barriers are in the way.
I also have to say that I really can't stand Visual Studio .NET, but since it's the only way to program .NET Compact Framework programs for Pocket PC, I'm pretty much stuck. Dealing with Visual Studio .NET was itself a large barrier for me at the outset of this project, and some explanation of how it works specifically in a .NET Compact Framework situation feels crucial to me.
The books also assume a fondness for Microsoft-blessed solutions, particularly SQL Server and SOAP-based Web Services, that I just plain lack. I'm hoping to collect data on a Pocket PC and transfer it to PostGIS, so SQLite and REST-based service interfaces make a lot more sense to me. They're not covered in the existing books, of course.
So, much to my surprise, I've wound up writing a book along the way of the project I'm working on. I don't think it will actually add that much time to the work, except insofar as I wander into discussions of technology I don't need to use in my project. Writing is forcing me to think about what I'm doing more carefully, and to do testing at every step. That should reduce my overall debugging time. (Explaining forces me to think a lot harder about what I'm doing in any case.)
There's a lot more information at the book site, as I think the Preface gives a better picture of what I'm doing than I can write here, and the first chapter shows what I'm aiming for. I'm about halfway through Chapter 2 (on debugging in VS.NET), and I'll post more as I finish them. It probably won't be a speedy process, as this is in my spare time. A few months won't surprise me, but neither will a year. I do hope to get it out before the next release of VS.NET and the .NET Compact Framework SDK make it all obsolete. It's also not a polished O'Reilly production, by any means, but it is freely available under the Creative Commons Attribution-NonCommercial-NoDerivs 2.0 license.
I'm also writing this using VB.NET instead of C#. I'm hoping that it will make it more accessible to readers, but the real reason I'm shifting is that C# is too similar to the Java I've written for years, and I keep screwing up syntax. (I'd also like to keep my Java skills intact for future work.)
Comments and suggestions are welcome.
Any other ideas on how to lower the barriers to .NET Compact Framework development?
no standalone compiler?
For the normal .net framework you can compile from the command line, do you mean that one can't do the same with .net compact?
no standalone compiler?
That's correct. You need Visual Studio .NET to use and deploy from the current version of the SDK.
Embedded VB just as annoying
My first PocketPC programming was using eVB. Boy, what a headache that was. Like you, a 1-week Access project turned into weeks if not months. There was no networking side to the application, just storing some data using form-based entry. In this case, it became more complicated due to the lack of controls in the eVB environment. Used to slapping on a Data Control in (desktop) VB? Good luck. It was crazy stuff that caused more gray hair.
You DO NOT need VS.NET to write .NET Compact Framework applications. You just need to have the free .NET SDK, and the free .NET Compact Framework, and follow the instructions here:
It's been a few months since the last update.
Are you still planning on adding to the book?
(I've just become more interested in the topic.)