In Chapter 1, "Setting Up Your Development Environment," we discussed Smart Device Extensions for Visual Studio 7.1 in enough depth to create a very simple application and run it on a device. We also gained an understanding of what hardware is supported and how to deal with nonstandard devices. Now we examine the internals of the .NET Compact Framework as a platform. Traditional compiled programming languages, such as C, C++, Pascal, and so on, use a compiler to translate source code directly into machine code understandable by the processor of the computer for which the code was compiled. Most of the time, developers were left responsible for managing low-level details, such as memory allocations and interacting with external code libraries. This includes DLL files on Windows systems. Programs could interact with the host operating system by directly calling into the operating system's API or by using one of many function libraries, such as MFC or Borland's OWL. Portability between platforms by using native code is often difficult because the underlying operating system APIs are usually radically different. Even worse , interacting with components written in different programming languages on the same operating system is problematic because the languages use different binary representations for data structures. In short, interoperability was difficult among three major axes: across operating systems, across different CPU types running the same operating system, and across different languages on the same machine. Until Visual Studio 7.1, developers for Pocket PC and Windows CE platforms who wanted real programming power were stuck in the compartmentalized world of traditional, or native, programming languages. With the introduction of the .NET Compact Framework, all of the problems previously described and more are solved . Visual Studio 7.1 with Smart Device Extensions offers these important features to help devlopers write applications for Windows CE and Pocket PC devices more quickly and easily than ever before:
The rest of this book is devoted to exploring all of the power and features of the .NET Compact Framework. Whereas the previous list gives us an idea of what the .NET Compact Framework offers, drilling down to a deeper understanding of how it works helps us become more effective developers. The rest of this chapter fills in the details about how the .NET Compact Framework is designed. |