
This weekend I lugged my EDN disks home, installed server, and played around with
the Mobile ADF. While the SmartPhone and PocketPC options are interesting, I've
tried to do complex data entry on small form factor devices, and Tablet
PC's are simply a better platform for this type of work. Adding in a Map and GPS makes for some really cool possibilities.
Quick Summary:
The Mobile
ADF may be one of the most compelling (and undersold) reasons to get the Advanced
Server. Really.
Why?
First off, it's dead easy to use. Drag and drop a few things, and you've got
a simple application. The sample apps are good (C# only - not sure if VB.NET
versions are in the works), and cover a range of topics, and includes templates for common use cases. Another nice touch is that the
samples come with pre-baked MapCaches, so you can start working with them without setting
up a Mobile MapService. The API also has some very interesting capabilities which leave openings for some more advanced functionality - such as feature level permissioning and complex topological validation.
Next, unlike the bulk of ArcObjects, the Mobile ADF is native .NET, which is
nice because you can write classes without getting COM in the mix, and it means you can use xcopy deployments. The only downside is that you can't reuse classes
from ArcMap/Engine in this ADF, but I don't see that as a really big issue.
Additionally, the ADF provides implementations of various ADO.NET
classes & interfaces for interacting with data in the MapCache.
This means that developers who are used to the ADO.NET paradigm can easily
adopt the Mobile ADF without learning a whole new data access methodology (i.e. the
ESRI.ArcGIS.Geodatabase
namespace). By building on the ADO.NET framework, they have enabled direct databinding (sample included!) Can you say "rapid
development"?
Final Thoughts (for now)
Smart Client technology is and will continue to change how applications are written and used. And more so that just mobility - the concept of local data caches, updated at the end of a session is becomming more pervasive - even when a connection is available. I see a lot of really cool uses for the Mobile ADF into an Enterprise system.
A broader question is "Will the Mobile ADF become the new MapObjects?" It's light-weight, native
.NET programming model, ability to read/write from the enterprise Geodatabase
(via Advanced Server), support for DataBinding, and smart client capabilities
make it a compelling alternative. The per-seat cost is low, and apparently you get 50 seats with Advanced Server (thought I saw this online, but can't find the link again!).
Another possible MapObjects parallel could be that this represents the first steps of a platform migration - this time from COM to .NET. Is this first
step towards a simplified, COM-free ArcObjects API? Thoughts?