The session had the following title: "Windows Embedded CE Application Development", but was actaully about performance. So, what kind of performance did we talk about? I will try to give you a short summary.
Basicly in the embedded world we can differentiate between:
- device performance &
- developer performance
Embedded devices are not so powerful as PCs and there are many constraints: memory, processor speed, power issues etc. Because of this the developers/tools and applications have to meet some requirements specific to embedded devices.
If you have to develop an application for Windows Embedded, then you have basically 3 frameworks to achieve this with:
- usage of Win32 API
- uasge of MFC
- usage of .NET compact framework
Now let's talk about the usage of MFC for Windows Embedded application development: Sorry, but there is nothing to say. In Doug Boling's opinion, it's a "dead technology" which shouldn't be used anymore - and I agree with him.
- the tool support is much better than with Win32.
- C# is better than C++
- Processor and O/S abstraction is done by the .NET compact framework
- .NET Compact Framework apps run on desktops!
- Build for one device target and run it on all processors
So, what to do, when you have to develop a Windows Embedded application and don't know what to choose? Put your high-level requirements (time to market, which device you will use etc.) together and make a kind of trade-off decision: device performance vs. developer performance. You can't have both!
By the way -Q: What is the difference between a Desktop Software Engineer and an Embedded Software Engineer?
A: The Desktop Software Engineer gets paid to write code fast; The Embedded Software Engineer gets paid to write fast code.
No comments:
Post a Comment