Product Review: Infragistics NetAdvantage
If you're building Windows Phone apps with the limited toolkit that comes with the Microsoft SDK, you'll appreciate this tool suite.
One of the disappointments that Windows Phone developers have with the Microsoft Windows Phone SDK 7.1 is the number of UI controls in the toolbox. It's less than two dozen -- far less than the typical cornucopia that comes with other UI development kits. The Infragistics NetAdvantage for Windows Phone suite more than doubles the number of controls in the toolbox (and that's without the multiple barcode components, and the Math and Persistence classes).
To use the Infragistics package, you'll first need to download and install the Microsoft Windows Phone SDK 7.1. Once you've installed both the Microsoft and Infragistics packages, you can create a new Phone project in Visual Studio by selecting one of the templates in the New Project dialog under the Silverlight for Windows Phone tab. For your first application, you'll need to add the Infragistics controls to the toolbox (they appear in the Choose Items dialog but aren't automatically added to the toolbox).
While the suite's controls are good, not everything worked as slickly as I would've liked. I initially couldn't use the DateTime¬Sliders because the namespace added automatically to my XAML file to support the sliders was wrong; it took me a little while to determine the correct namespace and fix my code. Even with that holdup, in a few minutes I was able to create a simple data-entry screen that automatically edits my users' input.
[Click on image for larger view.]
|The new controls that NetAdvantage for Windows Phone adds to the Visual Studio toolbox allow you to build a self-validating data-entry form in minutes.|
Data Visualization at Work
The variety of charting controls (including some financial charts) makes the suite a good choice for business-reporting applications. With any chart, the key issue is the amount of work required to get a good-looking graph on the screen. Ideally, you'd bind a datasource and let the control take a reasonable set of defaults to get an initial version of your graph displayed. With the xamDataChart, I found that I needed to manually set the DataContext and both the X- and Y-axis settings. However, these aren't static charts. Users can pan and zoom the charts or use built-in crosshairs to specify a point in the graph. If you can fit multiple graphs on a single screen, it's easy to synchronize them.
The documentation is included as a Help file both on your hard disk and online. The Help file on the hard disk is spotty; only six of the controls are listed in the Windows Phone-specific section, for instance. You'll find more information in the API Reference Guide, but it's organized awkwardly by namespace. In the end, I found Find to be the most useful tool for getting to the information I needed. You can also download a ton of sample apps, which I found extremely helpful.
Compared to ASP.NET control suites, NetAdvantage for Windows Phone is a relatively small suite, but the price is correspondingly low (especially if you give up priority phone support). You'll also use most of the controls in every application that you build. Infragistics has put together a package for mobile developers that fills significant gaps in the Windows Phone SDK.
Infragistics NetAdvantage for Windows Phone
Price: $195 with one year of upgrades; $695 with one year of upgrades and priority support
Quick Facts: A suite of controls and support classes for creating Windows Phone 7.x applications; requires the Windows Phone SDK 7.1 from Microsoft
Pros: Almost three dozen controls and components, including many input controls, chart types and bar code support -- plus components for local storage
Cons: Still some rough edges in implementation, but nothing that prevents you from using the controls
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.