Welcome to WebmasterWorld Guest from 184.108.40.206
Forum Moderators: bakedjake
You need to download some additional libraries from the Microsoft web site to start programming.
If you know .NET (C# or VB.NET), writing a SmartPhone application turns out to be very easy. The main limitation is that the .NET Compact framework is a very stripped down version of the complete framework. Frequently in the full framework, there are a dozen overloads of a method. In the Compact Framework, there might be one or two. Also some of the classes are not represented at all--for example there are no classes for reading and writing to the registry (although it can be done through Windows API calls). Presumably as processor speeds and memory increase on these devices, they will receive a fuller implementation of the .NET Framework.
Still, I didn't have much trouble. The range of controls available for the Windows Mobile is quite limited, and the screen size is very small, but it was not difficult to create a UI. I did a fair amount of GDI+ to create the interface, which worked almost exactly the same as on a regular Windows application (see Charles Petzold's Programming Windows, ISBN 0735613702, for an excellent description of GDI+ programming).
The main difference between the SmartPhone and other PDAs is that you don't have a touchscreen. You interact with the SmartPhone through the buttons on the phone. The camera and the microphone are additional programmable input devices. You can program all the buttons, but mainly you use the two "soft buttons" just under the screen. The left button performs some action, while the right button usually brings up a menu.
The phone has only one font, Nina, that shows up in the Windows directory. However, I think that Arial is also available, maybe included in the Windows libraries themselves.
You do all the programming on a desktop machine, then download the program onto the phone using a USB cable and the ActiveSync program. You can also test using the SmartPhone emulator that shows a phone on the desktop machine.
While in theory, a SmartPhone application could work on other implementations of the .NET Framework (such as a PDA) without change, in practice you probably would have a slightly different interface.
Overall, I found the learning curve to do a SmartPhone application to be quite shallow since I already knew .NET. There may be harder things if I have to interact with the cell phone technology or syncing data to the laptop, but I wasn't trying to do those.
Great review - thanks for sharing.
I've got a couple of questions that you might be able to help with...
Does the phone come with the ability to run .net apps natively, or do you have to install the framework on the device?
I'm interested in using web services. Have you tried to write anything that calls an Internet web service on a regular schedule?
How do database operations work? Where do you store and retrieve data?
I didn't try anything with web services, but I don't think there should be a problem.
There currently isn't a true database support that runs on the SmartPhone (that I'm aware of). On the other hand, you can take a DataSet object and save and load it as XML. This worked just fine for me.