Recent wireless infrastructure improvements
have been accompanied by increasing market share for Windows CE devices.
In addition Pocket PC applications are being utilized in many
industries. For example, a quick check of Medical Pocket PC
(www.medicalpocketpc.com/articles.html) will give you an idea of their uses in the
medical field. All this may tempt you to investigate the programming
options for the Pocket PC.
In April 2000, Microsoft released eMbedded Visual Tools 3.0 (eVT), a
stand–alone tool suite that allows you to develop applications for
Windows CE based Pocket PC, Palm–size PC, and Handheld PCs. This was a
boon for programmers since eVT encompasses all the tools required for
Windows CE application development. eMbedded Visual Basic (eVB), which
is included with eVT, probably offers the easiest path to developing
Pocket PC applications and is the logical starting point for desktop VB
developers.
Getting started with eVB
Firstly, if you have dabbled with any Windows CE development efforts
prior to April 2000, then you are in for a pleasant surprise. eMbedded
Visual Tools 3.0 (eVT) is a completely stand-alone version of the
Windows CE development tools and does not require any Visual Studio
components. The eVT tool suite includes MS eMbedded Visual Basic, MS
eMbedded Visual C++, and the Pocket PC, Handheld PC and Palmsize PC
Software Development Kits (SDKs). The SDKs often confuse people when
they first start developing Pocket PC applications. So I'm going to
spell this out in layman's terms as best I can: to develop eVB
applications for the Pocket PC you need a Pocket PC with MS ActiveSync,
eVB from the eVT tool suite, and the SDK corresponding to your specific
Windows CE platform—in this case, the Pocket PC SDK. Windows CE devices
are powered by different versions of the Windows CE operating system as
well as several different processor types. Each SDK includes the
required files to allow your application to run on the various devices
for that SDK's respective platform. For example the Pocket PC SDK
provides the required runtime libraries and controls for the ARM, MIPS
and SH3 processor implementations for Windows CE version 3.0 devices.
The SDK also includes a desktop emulator of a generic device for that
platform, as well as sample applications. If you want to develop for the
other Windows CE platforms such as the Palm–size PC and Handheld PC,
SDKs are available for those platforms as well.
Secondly, if you have any Visual Basic programming experience you will
find the eVB development environment very familiar, in terms of both
functionality and work flow. In fact, one of the reasons eVB is such an
exciting phenomenon is that it significantly reduces the learning curve
typically associated with handheld programming. The same visual
development paradigm that has made Visual Basic the most popular
programming language in the world is now available for the development
of applications for the Pocket PC.
Finally, and possibly best of all, eVT is available as a free download
from the Microsoft web site at
http://www.microsoft.com/mobile/downloads/emvt30.asp or, if the 304MB download is too
daunting, you can order it on CD ROM for a nominal shipping fee. For
further information on installing the eMbedded Visual Tools, see
http://www.deVBuzz.com/content/installing_emb_vis_tools_Pg1.asp.
What sort of applications can you develop with eVB?
The sky is the limit. eVB allows you to build Windows CE interfaces
using the familiar VB drag and drop paradigm. In addition, it allows
access to much of the functionality of your WinCE device. You can create
data input interfaces, store and manipulate information in databases,
beam information using infrared, and access remote information using
wireless connectivity. For smaller applications, your database
requirements are handled by Pocket Access, the native CE data provider.
For providing robust and comprehensive replication solutions for mobile
applications, from sales force automation applications to stand– alone
medical diagnostic information, SQL Server CE can be used.
Other considerations?