When my manager mentioned the possibility of a project for a device running Windows CE, I decided to check out the available development options. Now since our shop has a big investment in classic Active Server Pages and the entire team is familiar with ASP, then ASP was obviously the place to start.
Unfortunately, Microsoft doesn’t currently offer either IIS or PWS (Personal Web Server) for Windows CE devices. However, all is not lost. A company in London, ModeZero, offers a product called PocketASP that is designed for use in handhelds. The software isn’t free for commercial use, but it can be downloaded free for nonprofit use.
Once downloaded, PocketASP installed quickly and smoothly. It was, in fact, the first software that I installed myself on my just-out-of-the-box PDA. After the installation completed, I found that the software included sample code for every conceivable task you might want to perform with PocketASP (Figure A). And there's an online group on Yahoo that deals specifically with development under PocketASP.
|The PocketASP installation includes plenty of example code for you to peruse.|
Trying and then examining the sample code that comes with PocketASP left me feeling like there was some kind of trick involved. After all, here was a device that weighed mere ounces yet was running ASP originally written for much larger machines. After some poking around in the code, I finally accepted the fact that there was no trick. PocketASP really works.
Querying a database with PocketASP
Once my initial explorations were complete, I decided to try out one of my own Active Server Pages with PocketASP (Listing A). I wanted to build an HTML table from information stored in the database table shown in Figure B.
|Example database table|
The user would then have the option to increment quantities on a form, click a button to update a table, and then display a page reflecting those updates (Figure C).
|Sample PocketASP page resulting from a query against table in Figure B|
Though I don’t know for certain, I expect that the majority of code developed for PocketASP will be created on another platform because, while Windows CE devices are powerful, they usually don't come with a full-size keyboard. Also, there aren’t a lot of code editors available for use on the Windows CE platform. With this in mind, and noting the object changes between regular ASP and PocketASP, I wrote a version of my code (Listing A) on my laptop.
While I’m not a newcomer to writing code on one platform that's destined to run on another, I thought I'd have a major problem with PocketASP being a subset of ASP. But that really isn’t the case as long as you remember not to do too many things in one statement. By far, the most difficult part was the need to repeatedly remind myself that there's a major difference in display size and shape—240 by 300 pixels instead of 1024 by 768.
Once my personal demons were conquered, I found PocketASP surprisingly powerful and reasonably fast. While the speed might be due to the hardware I was using (my Toshiba e330 Pocket PC has a 300 MHz processor), the power shows that ModeZero put real thought into what ASP features to incorporate into PocketASP.
PocketASP provides a viable alternative for ASP shops wanting to try handheld application development. With PocketASP’s downloadable manuals, Yahoo user group, and plentiful code samples, it's a good way to avoid sharp learning curves.