Free Windows Mobile Development Tools?

What tools do you use to develop your Windows Mobile applications? Today I received the following question:

I am looking to develop VB.NET applications for WM5, but I am on far too tight a budget to afford Visual Studio. Is there a way to use VS2008 Express for WM5 development, or is there another free way to do this?

How would you answer this question?

When I first started developing applications as a hobbyist for Palm OS (and then eventually Windows Mobile) I utilised free tools. Free (or at-least cheaply) available IDEs and compilers were a large factor in getting me started in this area of development that has now turned into a professional career. A lot of my friends got started in the same way and Dale Lane mentioned a similar scenario in his recent interview.

I am interested in discussing what tools hobbyists are currently utilising as they discover they can develop custom applications for their PDAs.

At present the main options for Windows Mobile development are most likely as follows:

  • Embedded Visual C++ v4.0 – A free download that supports C and C++ development only. Doesn’t provide full support for newer versions of Windows Mobile and is fairly unsupported these days. A number of open source projects use this tool specifically because it’s a free download.
  • Visual Studio 2005 Standard Edition (or above) – A non free IDE that supports native (C/C++) and managed (C#/VB.NET) development.
  • Visual Studio 2008 Professional Edition (or above) – A non free IDE that supports native (C/C++) and managed (C#/VB.NET) development (adds support for .NET CF 3.5 development).

This means to develop a VB.NET application for a Windows Mobile PDA you require to purchase a copy of Visual Studio. The free Express editions of the IDE are not suitable.

If someone was interested in mucking around on an occasional Saturday afternoon and slowly learning about Windows Mobile development how would you suggest they go about it without occurring “significant” expense? I guess the 90 day trial version of Visual Studio 2008 Professional is possibly an option, but that does not leave too many weekends before the free license expires.

Is the lack of low cost development tools a problem? Are hobbyists an important part of the Windows Mobile ecosystem? What sort of developer would you classify yourself as? What helped you get started in programming PDA applications? Did you get started in your spare time or as part of your day job? Are there alternative development tools worth taking a look at?

I’m interested in your thoughts on this topic. Please post a comment to this blog entry and join the debate!

13 Responses to “Free Windows Mobile Development Tools?”

  1. Dale Lane says:

    The shift up in Visual Studio – from needing VS 2005 Standard edition to VS 2008 Professional edition is a shame. It’s one that I hadn’t particularly noticed until I recently got a copy of VS2008 and couldn’t figure out why the Windows Mobile SDK options weren’t showing up in it. That change does make Windows Mobile development a more expensive and less appealing option – and that is a big shame.

    Personally, I guess I will be sticking with VS2005 for a while longer.

    I wonder whether it would be possible to get SharpDevelop – the open source Visual Studio-esque IDE – to work with the Windows Mobile SDK? It’s not something I’ve tried, but might be worth looking into?

  2. Dale Lane says:

    After a bit of searching…

    It’s worth a look on the sharpdevelop wiki:
    http://wiki.sharpdevelop.net/default.aspx/SharpDevelop.CompactFramework2Development

    Their site seems to be down at the moment, but a look at the most recent available archive looks a little promising…

  3. Thanks for the suggestions Dale.

    I have not investigated SharpDevelop for a number of years, so was not aware of it’s current support for the .NET Compact Framework.

    One thing which makes me uneasy in recommending such options to beginners are limitations and quotes such as the following one from the page you referenced:

    “Not all properties, methods and events from .NET Framework classes are supported by the Compact Framework, so everytime you use the form designer, you will have to edit the code-behind in the .designer.vb or .designer.cs file.”

    Although these kinds of limitations are perhaps ok for developers who are comfortable with .NET Compact Framework development and aware of the workarounds needs to get the code to compile etc. I feel that it’s not conducive for an absolute beginner trying to learn PDA development (and potentially C# or VB.NET at the same time)…

    This is also why I didn’t mention another option. You can use the commandline to compile .NET CF applications without Visual Studio if you obtain the nesscary assemblies by extracting them from the .NET CF CAB files. This process is covered quite well in John Bokma’s blog entry titled “Compiling .NET Compact Framework applications without VS“.

    Essentially you use Notepad (or an Express edition of Visual Studio as a glorified text editor) to write your code and then compile it from a MSDOS prompt window. Back in the day I used a similiar approach to learn .NET development for the desktop, before I managed to get my hands on a copy of Visual Studio (this was before the days of Express editions).

  4. Carl says:

    My introduction to programming happened on a ZX Spectrum, which came with a built in BASIC interpreter. Try to find a new operating system that comes with a built in development tool these days! After BASIC I moved on to Turbo Pascal, which had in retrospect a stable full featured IDE courtesy of Borland.

    It is a pity that software developers do not really have much choice but to use the Microsoft tools for Windows Mobile application development.

    After many battles with the various peculiarities of Pocket PC and Visual Studio (the Windows Forms Designer being a regular culprit), I wonder if the pocket pc development experience would be improved by having a real development alternative from an organization like Borland, or perhaps just a stable set of tools and libraries for developing applications in Python or even the now outdated Pascal…

  5. macfan777 says:

    Well, every Mac comes with the complete Xcode development suite (which I am using to make the Mac and iPhone versions of my program). Really no reason Microsoft can’t do the same thing.

    I agree, it is a pity. I know many developers would be much more likely to develop for WM if there were more tools readily available. We can always hope…

    For now, I guess I’ll just keep waiting for MS to put out a free version of some WM development tools.

  6. Jeremy Taylor says:

    Great to hear at last nights inaugural Christchurch EmbeddedDNUG that it is going to be possible to get Visual Studio 2005 Pro free-for-non-commercial with the purchase of certain SPARK Your Imagination boards… good for hobby purposes/learning….
    http://www.microsoft.com/windows/embedded/news/pressreleases/spark-release.mspx
    (interesting to note that it is 2005 and not 2008…)

  7. Thanks Jeremy for attending our initial Christchurch Embedded .NET User Group event last night.

    I’ve talked about the SPARK program briefly in one of my newer blog posts. The bundle includes Visual Studio 2005 because at this stage this is the only version that is compatible with the plugin (Platform Builder) used to build Windows Embedded CE 6.0 based devices.

    There are a number of extensions and plugins for Visual Studio which currently don’t support VS2008. For example at present .NET Micro Framework development also requires VS2005 for a similiar reason.

    Rather than retro fitting VS2008 support into existing versions of the tools, it appears most development teams within Microsoft have decided to make the switch as part of their normal development cycles for future versions of their respective products.

  8. Erel says:

    You can also try our development environment – Basic4ppc.
    It is a simple yet powerful development environment which targets Windows Mobile devices and windows desktops.
    Basic4ppc programming language is similar to Visual Basic.

  9. Lou says:

    Here is a more up to date link on compiling CF apps without VS.
    http://johnbokma.com/mexit/2006/11/23/net-cf-without-visual-studio.html

  10. pivique says:

    The question ist simple: Just compile your application from command line it´s
    simple and effective. With a very few batch files you can build your application and transfer ist to your device. If you want to get an sample-application (all in C#) with batch-files, just send me a short mail to
    info@pivique.com.

  11. john says:

    Is there any update on this topic?

    There are really a lot of interested developer for pocket pc if not because of expensive tools that stops them from doing so.

    I hope we could find some free or inexpensive alternative just to kick-start the development.

Leave a Reply