Microsoft Previews Upgrades for Mobile .NET

This week, Microsoft will provide devs a "preview" of its first upgrade to its .NET Compact Framework. Microsoft engineers say that the improved performance, UI support and backend access technologies (including XML, COM SQL) will make it tons easier for devs to design, build, test and deploy mobile apps at work.

Tags: Developers, Mobile, Wells, Support, NET Compact Framework, NET CFv2, Mobile Devices,

This week, Microsoft will release its first upgrade to its .NET Compact Framework, bringing mobile developers more performance, more UI support and a raft of new access technologies to make it easier for devs to integrate mobile devices with a wide array of XML, SQL and COM resources on legacy apps and databases.

The rollout will come during Microsoft's first Mobile Developers Conference being held in San Francisco. Microsoft execs hope that this "preview" version of the .NET Compact Framework v2 (.NET CFv2) will get Visual Basic developers re-energized about web services, and particularly developing mobile apps for the enterprise.

"I can see that starting with this version [of .NET CF], the VB developers can come back to being 'Rock Stars' again," Microsoft's .NET Compact Framework program manager Jonathan Wells told IDN on the eve of the event. "They can start prototyping away, and don't need to invest in any new tools or new skills, and they don't even have to buy any new devices."

Underlying this enthusiasm at Microsoft, wells said, is the core elements of the .NET CFv2
upgrade all center around most-requested features from current .NET CF users, as well as some senior VB developers.

Through the 90s, I worked with Windows CE and there was a lot of pain there, and it weans indeed very difficult," Wells told IDN. "I've been quoted as saying, in fact, that [developing] then was like rocket science, and I feel as though it was really hard."

Now, Wells said, things are getting much easier and familiar -- and as a result, more inviting, for developers. "In the .NET Compact Framework, we are very much tracking what is going on with tools for the desktop, specifically Whidbey, so our goal with .NET Compact Framework is similar: Users should be able to access their enterprise data with just a few clicks, and developers should be able to build such applications as easy as possible." That means lots of abstractions, added supports for back ends and plenty of Windows controls and wizards, Wells said.

Inside .NET Compact Framework -V2
First things first. The debut this week is not an actual beta, Wells insists. "This is not a beta, rather its' what we call a 'preview release'. What we're trying to do is be very open with the developer community, and let them know they have the chance to influence us on what the [final] features will be. Slated to ship with the next upgrade to Visual Studio, slated for early 2005

In this upgrade, Wells said Microsoft has focused on helping developers with the two main aspects of mobile development -- UI design and deployment, and backend integration to tie in mobile devices to legacy data and resources. "That connectivity is very important for enterprise developers," Well said, "where you may have everything from SQL databases, to Siebel to ERP and even mainframes. We're continuing to push that in this version" from .NET CF v1.

To get these benefits, Microsoft engineers keyed in on three (3) key technology upgrade areas:

Productivity -- "We're looking very hard to reduce the lines of code a developer needs to write," Wells said.

Among the top add-ons, Wells noted, is NET CFv2 addition of MSMQ (Microsoft Message Queue) support. "Support for MSMQ is also an example of how .NET Compact Framework is tracking the desktop," Wells said. MSMQ support gives the developer a secure, guarantee-delivery mechanism that bundles up the request for information into a queue on the device, and gets it up to the server, which then brings it back down to the user. "That was possible before, but it took a lot of coding or a third-party support product. Now, it's in the box."

Also tracking the desktop, .NET CFv2 adds a 'whole bunch" of new WinForms controls, including Web Browser, LinkLable, DocList, DataContainer, and those for the notification bubble. Moreover, .NET CFv2 adds Docking and Anchoring, as well as support for tabbing and clipboarding, keyboard events. By providing new controls and class libraries we can really cut the time and complexity of building mobile applications," Well said.

.NET CFv2 also rounds out it support for XML by adding XPath and XML serialization (from Schema - XSD - C# Classes).

Performance -- The .NET CFv2 includes an improved CLR (Common Language Runtime) execution engine. The upgrade also sports a new JIT architecture that generates better quality platform-native executable codes. The unified JIT works across all supported processors. In addition, for devs linking to SQLServer CE, .NET CFv2 can bring a performance increase of up to 300%, Wells said, thanks to the use of new 'pointers' that provide an abstraction layer for quicker access.

"Before, we would look at the data we needed and copy it into a separate bit of memory, and in some cases that meant we might have three copies of the data. Now, with these pointers, the developer doesn't even know it's a pointer. He just sees the data as structured data, fields and records. All of the hard coding part that was needed to get to the data has been abstracted," Wells told IDN.

Extensibility -- .NET CFv2 also adds more connections, beyond Microsoft SQLServer CE. The current .NET CFv1 connects to SQLServer's replication support, so that a developer looking to connect a mobile device to SQLServer doesn't have to worry about getting information back and forth from their device to the SQLServer CE backend.

To make it easier to devs to tie in mobile devices to a broader array of legacy data and applications, .NET CFv2 adds support for COM Interop, which wasn't in .NET CFv1. "People might have existing apps they can expose as COM and we can consume them as managed apps," Wells said. "Now, in Visual Studio and in the .NET Compact Framework, we can point to the COM object and the developer can use it in his application without needing to know anything about the specifics of the underlying object."

Wells said he expects there will be two types of easy uses -- specific device access, and tailored access to key areas within legacy data/application resources. As examples, Wells describes the following: "In one case, a vendor has a biometric readers and can provide access to it [from the mobile device] as a COM object. As another example, a manufacturing customer with embedded Visual C wants to enhance his application for mobile users, now that can be done through web services without needing to recode the core application because add-ons can be accessed by a combination of web services, XML and COM Interops, Wells said..

.NET CFv2 also adds serial ports -- While it's 20-year-old technology, Wells said it offers a key advantage. "With devices, it's important to provide integration with various scanners and readers, so with this support developers can just read an incoming stream by just writing a handful of lines of code." In .NET CFv1, developers needed third-party controls of pInvoke into Win32 APIs.

Resources on .NET Compact Framework, MDC
The .NET Compact Framework v2 "preview" will be demoed during the Microsoft Mobile Developers Conference, where mobile devs will also get some hands-on instruction and insight on the end-to-end process of mobile app development -- from design, build, test and deploy.

In particular, case studies will show how field personnel from law enforcement, manufacturing and even JetBlue Airlines are using the .NET Compact Framework to improve field workers' access and custom UI access to existing server-based applications. In one case study, a local police force has built an application to bring automation to handing out speeding tickets. (Ouch!) including magstrip reading, bar code scanning, mobile printing and multi-threaded capabilities for calling up remote databases (when required) for performing background checks. A live demonstration of the solution and discussion of best practices will be covered.