Selecting a Development Language

When developing an application, control, or library for deployment on a smart device, there are three available programming languages: Visual C#, Visual Basic, and Visual C++.

Visual C#

C# is a modern, object-orientated language. Its garbage collection features and support for the .NET Compact Framework classes make it an ideal language for developing reliable and secure mobile applications. Visual C# for smart devices includes many controls for quickly creating a graphical user interface (GUI), and the Compact Framework classes support features such as GDI+, XML, and Web Services. Visual C# can also call native Windows CE functions for situations not supported by the .NET Compact Framework.

For more information about how to develop with Visual C# and accessing native Windows CE functions, see:

Visual Basic

Visual Basic for smart devices is a full implementation of Visual Basic, and is much more powerful than the previous development tool, eMbedded Visual Basic. Visual Basic greatly simplifies the task of porting a desktop application to a mobile device, or quickly creating a rich-client application. As with Visual C#, Visual Basic uses the .NET Compact Framework. Developers already familiar with Visual Basic will be able to port existing applications or create new ones very quickly. As with C#, Visual Basic can access native Windows CE functions.

For more information about developing in Visual Basic, see:

Visual C++

Visual C++ is the preferred development language for smart devices when performance is important, or when you develop system-level applications, device drivers or Today or Home screen plug-ins. Visual C++ does not support the .NET Compact Framework, but instead provides a subset of the Win32 API set. It is possible for applications written in managed C# or Visual Basic code to access C++ code in DLLs by using Interop.

For more information about developing in Visual C++, see:

See Also

Other Resources

Getting Started with Smart Device Projects