A subset of the
MicrosoftDotNet Framework that is designed to run on
PocketPc and other
WinCe and
WindowsMobile devices.
Missing several features of the full .NET Framework, such as:
- AspDotNet
- WebServices (can't implement a service, but can invoke Web Service methods as a client)
- DotNetRemoting
- application domains
- ComInterOp (but P/Invoke can be used as a workaround)
- System.Data.OleDb namespace not supported by ADO.NET :)
- System.Reflection.Emit namespace not supported
- asynchronous delegates
- security differences
- general serialization is not supported, but objects can be serialized for transmitting object data using SOAP in WebServices and serializing datasets to XML.
- WindowsForms are supported, but are somewhat different from desktop
- XML schema validations and XPath queries are not supported
Compact Framework (CF) apps can currently only be developed using
VisualStudioDotNet 2003.
To fill the "gaps" between the Full Framework and the Compact Framework, see the work done by OpenNETCF.org (
http://www.opennetcf.org), especially the Smart Device Framework.
Version 2 due ?mid 2005
It is getting closer to the desktop version, including new features such as new browser control, datetime picker control, MSMQ,
ComInterOp (RCW),
XpathLanguage support, Xml Serialization to
CeeSharpLanguage, serial port support, generics, etc.
There is supposedly an SDK so 3rd tools can be hooked up.
Baseline requirements include
VisualStudioWhidbey, and
PocketPc 2003. Note the "Express editions" will not support
DotNetCompactFramework
MS FAQ at
http://msdn.microsoft.com/smartclient/community/cffaq/cf20.aspx#db0x170k
Mar04 Chat transcript at
http://msdn.microsoft.com/chats/transcripts/mobileembedded/embedded_031104.aspx
A May05 article on development tools is available at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/devtoolsmobileapps.asp
What about SmartPhone support? How is that different from WindowsMobile
Also confused with the Opennetcf.org activities by people like Neil Cowburn, who complained about lack of
ManagedCeePlusPlus on the compact platform. Are these people working on "flash-in-the-pan" solutions?
Future directions (not in V2)
WS-* support, sensitivity to transient networks with different bandwidths
Comments on workaround needed, without
ServiceOrientedArchitecture support in V2 at
http://blog.opennetcf.org/ayakhnin/PermaLink.aspx?guid=65e8102c-c1ab-4639-acd2-5bc32415bac9
Resources
See development experience paper by
KyleCordes at
http://kylecordes.com/story-268-cf-wireless-sig.html
When I took training classes on the Compact Framework, it was mainly a week spent listing all the things it can't do and workarounds for them. It's pretty minimal, and there is very little optimization done. An especially egregious offender is the Image class. by 139.76.128.71
- I have read that a "killer app" on that platform is probably some kind of script based appln. Even if the worlds best development environment were available, the results would be limited by the small form factor (-> bandwidth) of the screen.
JavaPlatform connectivity
It appears one (only alternative is the elusive
WebServices) option exists if there is a
JavaPlatform server using RMI needs to be connected, and it requires a commercial product called
MinCor, using a
CorbaComponentModel based interface. See Dec04 article at
http://dotnet.sys-con.com/read/47342_p.htm
The above method will work with a
JavaTwoEnterpriseEdition server, see example at
http://www.middsol.com/MinCor/DemoJ2EE/Hello/Hello.html
See also
CategoryDotNet