Welcome to MSDN Blogs Sign in | Join | Help

Windows Embedded Blog

A look at Embedded and other Cool Stuff.

News

  • This posting is provided "AS IS" with no warranties, and confers no rights.
.NOT CF ?

Earlier this week I presented a conference session on debugging native code applicaitons on Windows Mobile devices, taking a look at Application Verifier (for detecting heap, handle, and GDI leaks), Performance Monitor, Call Profiler, and the Windows CE Test Kit (which can be used to test more than just drivers!).

I was expecting a mix of developers in the audience, some native, some managed, but, was very surprised to find that over 90% of the audience were native code developers.

I find this interesting, my background is low level driver, BSP, embedded work, so I’ve grown up counting clock cycles, trimming bytes out of buffers to save space etc… but have warmed to .NET Framework, and .NET Compact Framework applicaiton development – the tools and framework really accelerate your productivity. So why is it that so few developers (or at least based on the audience I talked to) are developing their applications in C# or VB based on the Compact Framework ?

– Mike

Posted: Friday, February 11, 2005 9:26 AM by mikehall

Comments

Pieter de Bruin said:

Mike,

For me there is no choice: It's .NET any day of the week. I've used it since its release early 2002 and loved it ever since. Actually I did do a few .NET CF projects as well, but mainly I develop web-oriented enterprise applications.
Don't expect the non-.NET devs to reply here, 'cause these are latest news blogs. And that's not what they want...
# February 11, 2005 11:26 AM

Jeff Parker said:

I kind of agree, you might not get a lot of the non .net guys to reply but I would be curious as to why not .net. I read your blog because your always doing the latest cool stuff. In a way your kind of like a category in slashdot if slashdot had a embeded section it would be hard pressed to compete with you..
# February 11, 2005 12:28 PM

Bálint Kátay said:

It think you should ask them on "their" channels. (But it will be a hard, because I assume that they neither read newsgroups.)
# February 12, 2005 12:55 AM

Mike said:

.NET is the choice for me. Productivity is priceless.
# February 12, 2005 4:32 PM

Koji Ishii said:

I once tried CF, but gave up due to its poor interop capabilities. Utilities are fine with CF, but products usually require a few APIs that are not part of .NET, even on desktop.
In desktop, I can still start projects with .NET because I know interop will help me in such cases.
I heard CF 2.0 has better interop, and am looking forward to learn that.
# February 13, 2005 1:52 AM

Hari kumar S said:

Right now, i have completed a CF project(ppc) in vb.net and i am looking forward to do the remaining work in native code. Since most of the libraries are written in evc by other developers, i have to switch over to evc. Moreover, evc is more powerful than managed code(no need to dll import, etc) and also the execution time is faster.
But, I am in a confused situation, whether I have to switch over to evc or continue with managed code.
# February 14, 2005 12:35 AM

Oskar Berreteaga said:

Ever tried CF programming on a headless device? I guess CF is lots of fun on a screen based device but, for headless devices, the thing is that you can't. I'd be more than happy to be corrected. Furthermore, MFC aren't available, either. Win32 lean and mean. And it can be fun, trust me :-) Well, at least you can use STL. Remember that? ;-)
Oh, by the way, I do read this blog cause I'm always looking forward to a headless version of CF. That would help me and my non-.NET colleagues.
Regards
Oskar
# February 14, 2005 2:32 AM

Aaron Lawrence said:

I am not using CF.NET. Two reasons:

1. We are porting an app to CE, that is entirely C++. We chose CE because it has, notably, DCOM. Porting to Linux would otherwise be a fairly easy choice.

2. Performance/memory

For me, I perceive .NET on an Embedded device as ridiculous. A bloated managed framework on a lightweight device? You might be able to get away with it these days due to the CPUs, but wasting all that performance just for some convenience is a no-no for me.

Actually, "minor convenience" is becoming more like "major convenience" because Microsoft are obviously no longer really interested in supporting native apps. I am trying to do database access and C++/native is clearly a poor cousin to CF in this environment.

One last point. There is clearly a gulf here between the "embedded" developers making a product using CE, and the "handheld" developers who are mainly interested in writing business/user apps for PDAs. The first group would have little interest in CF.NET, like me. The second group, OTOH *is* likely to be interested in CF.NET unless they already have existing code.

From looking at the newsgroups the numerical majority of developers are clearly PDA developers. Embedded products built with CE has always seemed like a distant second priority for Microsoft.






# February 16, 2005 12:45 AM

Dan McCarty said:

If you're interested in real-time performance, which we are, there's an interesting article on microsoft.com called "Real-Time Behavior of the .NET Compact Framework." The executive summary is that you can get away with doing .Net stuff on a device that is also doing RT stuff. They don't seem to recommend doing anything real-time in .Net, though. Here's the link: http://msdn.microsoft.com/mobility/samples/default.aspx?pull=/library/en-us/dncenet/html/real-time_netcf.asp
# February 18, 2005 3:11 PM

Mike said:

Yes, very good article, thanks for linking to it Dan.

- Mike
# February 18, 2005 3:20 PM

David Blake said:

Hi, Mike. I was at the presentation you mention. I can't speak for the others who were there, but I believe many would have the same reasons.

For consumer or enterprise focused ISV aiming to sell off-the-shelf solutions (vs. developing a custom app), .NET CF is not a viable option due to the massive installed base of devices that don't have .NET CF installed. If the market reaches a point where 90% if existing devices have the latest .NET CF in ROM, then we might consider it. I know that users can install or update the framework on some devices, but that's not a large enough portion of the market to support our business model. Also, users want the install to be a single step. Developers are used to installing prerequisite software, but consumers aren't.
# March 3, 2005 8:28 AM

Mike said:

Hi David,

thanks for the feedback - Wouldn't your application installer install the application, and, if needed also install the .NET Compact Framework ? - this should be transparent to the user, right ?

- Mike
# March 3, 2005 9:07 AM

David Blake said:

This might work if our sales were retail sales on a CD ROM, but most of our sales are softsales or OTA. The download times and costs for this would be prohibitive OTA (in most of Europe, anyway), and not every person in the world has a fast Internet connection. The real solution is to ship WM devices with .NET CF in ROM. This is starting to happen. According to our customer surveys, many people buying software today still have Pocket PC 2002 devices. Maybe in a few years it will reach the point where we can consider developing a .NET CF 1.x app.
# March 3, 2005 9:54 AM
New Comments to this post are disabled
Page view tracker