Add Rich UI Capabilities
Infragistics' NetAdvantage 2004 is a suite of high-performing and feature-laden UI components for developing Windows, Tablet PC, and ASP.NET applications.
Add Rich UI Capabilities
Posted April 9, 2004
Infragistics' NetAdvantage 2004 is a rich and comprehensive suite of UI components for developing applications to run on Windows, Tablet PC, and ASP.NET platforms. This review focuses on the .NET components18 for ASP.NET and 42 for WinForms in the subscription version's first release of 2004.
The Web controls perform as snappily as WinForms controls. Extensive client-side scripting and event handling save excessive round trips to the server and put more processing on the browser client. As a bonus, Infragistics has opened its client-side object model, so you can change a control's properties on the fly. The WebListbar, WebToolbar, WebMenu, WebGrid, and WebTree controls offer a polished appearance, including an Office 2003 look, enhanced with background gradients (see Figure 1).
The WebGrid is such a capable control that, except for the server postback delays, you might think you're using a thick client. For example, you can group data by columns by dragging the column header and dropping it above the grid. The editable grid works well, although you don't always get a visual cue that a cell accepts input. Be sure to check out the WebDataInput control's innovative masks, spinners, and custom formats.
The WinForms controls, especially the grids, are chock full of easy-to-use and visually attractive features. Pushpins let users fix columns in hierarchical data sets; you can adjust the spacing between rows; and support for alpha blending creates glossy overlays. The card view is an outstanding way to present editable data in cohesive blocks without overwhelming the user. WinGrid's excellent "Export to Excel" feature maintains the source grid's rich formatting and hierarchy. The chart controls offer fascinating drilldowns, DataGrid interaction, and translucent effects. Many of the controls have built-in support for the latest Microsoft Office look; six comply with U.S. federal accessibility requirements.
Infragistics components include full design-time support in VS.NET, although the range of properties, events, and methods can be overwhelming. The NetAdvantage documentation favors the journeyman developer who can get by with reference material. Novices could use more introductory overviews and tutorials. If you learn by samples, this suite's for you. Not only do you get sample code for every control, but you can also download and compile two complete applications. The ASP.NET Web "reference" application shows a near-thick client experience in a browser-based environment.
Infragistics' controlseven the Web versionsallow royalty-free distribution of the runtimes. On top of this progressive policy, NetAdvantage's subscription version protects your investment by including the C# source code for the .NET controls. Infragistics' legalistic claim on your code enhancements is the only negative in a well-designed and worthwhile package.
NetAdvantage 2004 Volume 1
Price: $495; $695 with subscription
Quick Facts: A complete suite of highly capable and attractive user interface controls for WinForms, ASP.NET, and COM. Subscription version includes source code for .NET controls.
Pros: Advanced client-side script in Web controls; rich Web and Windows usability features with polished look and feel; excellent sample code and applications; royalty-free runtimes include Web controls; accessibility compliance.
Cons: License agreement claims rights to your code enhancements.
About the Author
Ken Cox is a technical writer and VB.NET developer in Toronto building e-commerce Web applications and XML Web services. Ken is a Microsoft MVP for ASP.NET and a former broadcast journalist. Reach him at firstname.lastname@example.org.
Build Mobile Applications
Posted April 9, 2004
ComponentOne has built its business by meeting the need for effective development tools. The demand for mobile business solutions is growing quickly, and the company now offers a component suite you can use to help build .NET Compact Framework-based applications. ComponentOne Studio for Mobile Devicesbased on the company's existing component product linecomprises three components: ComponentOne FlexGrid, ComponentOne Chart, and ComponentOne Zip for Mobile Devices.
ComponentOne FlexGrid for Mobile Devices is a lightweight component that enables you to add grid-based data presentation and manipulation functionality to your mobile-device applications (see Figure 1). As you'd expect, FlexGrid for Mobile Devices allows you to build applications that let users display, edit, format, organize, and summarize your data using ADO.NET and data binding. If you're familiar already with ComponentOne FlexGrid for .NET, you should have no problems working with the mobile version to create robust grid-based GUIs. You'll benefit quickly from other component features, such as split views, built-in sorting and searching, treeviews, merged cells, and the ability to work in bound or unbound mode.
ComponentOne Chart for Mobile Devices lets you create a wide range of 2-D charts. This control can display X-Y plot, area, bar, high-low, candle, bubble, pie, radar, and polar charts while providing mouse tracking and image-export capabilities.
ComponentOne Zip for Mobile Devices allows you to create, open, and manage ZIP files. It also lets you add levels of compression and encryption easily to any .NET stream, including memory, file, and network streams. One of this component's important features is the low-level exposure to its compression engine, which gives you even greater control and flexibility. In fact, you get three levels of programmatic access to the control. High-level classes provide the ability to create, open, and manage ZIP files. Medium-level classes allow you to compress any stream object. The low-level classes represent the C# implementation of Zlib, providing the foundation that other classes in the component need.
Grids are an important facet of most modern applications, and it's extremely important that mobile .NET developers have tools and functionality similar to their WinForms or ASP.NET counterparts. ComponentOne has focused on three important aspects of mobile computing and presentation, bringing to your mobile apps the power and flexibility you'd find in a Windows or Web-based application. One can only hope that ComponentOne will add more controls to its mobile studio suite of products to bring even more value to mobile developers.
ComponentOne Studio for Mobile Devices
Phone: 800-858-2739; 412-681-4343
Price: $799.95 for the full version
Quick Facts: Set of three development components for enhancing mobile applications.
Pros: You can leverage the grid component in virtually any mobile application; the chart and ZIP components are powerful and easy to use.
Cons: Includes only three controls.
About the Author
Joel Semeniuk is an MSDN regional director and vice president of software development, heading up all new development projects for ImagiNET Resources Corp., a highly specialized Microsoft Gold Partner in e-commerce and enterprise systems based in Canada. Reach him by e-mail at Joels@imaginets.com.
Create Industry-Standard Reports
Posted April 9, 2004
Business Objects' Crystal Reports is the standard for Windows report writers. It integrates cleanly into both Visual Studio and VS.NET to support a rich environment for developing and delivering reports. Your reports can run standalone, or you can take advantage of APIs the product supports to integrate reports into your applications (see Figure 1). Version 10 adds new tools to assist in efficient enterprise-wide reporting.
Crystal Reports has a remarkable variety of reporting capabilities that should meet almost any reporting requirement you might have. Its development environment is simple yet effective. You use a WYSIWYG designer to place items on a report: database fields, text objects, pictures, cross-tab tables, online analytical processing (OLAP) tables, maps, charts, and pretty much anything else you might want to include. Crystal Reports supports many levels of grouping and allows you to add subreports for showing complex data relationships. It comes with a variety of built-in functions and calculation capabilities. The product also allows you to build your own formulas with a BASIC-like internal language.
Crystal Reports comes with excellent tools for working with your database, including a wizard that lets you select database elements graphically and a command object for inserting your own SQL statements. The command object allows you to generate complex queries with advanced SQL containing unions and subqueries. The database tools also allow you to define a SQL expression for displaying single data itemsfor example, the date of the last order in a sales system. Finally, Crystal Reports' parameter objects give you the ability to turn control of your report over to your end user.
Crystal Reports' environment is so rich that it might be tempting to let your reports perform calculations that should be done in the database. This can create major performance problems, so version 10 adds the capability to use Business Views, which support standardized database-access methods for enterprise reporting. Note that you need Crystal Enterprise, a separate product, to create Business Views.
Crystal Reports' built-in help is strong. However, you must purchase a support agreement to get any phone assistance from Business Objects, even for unhandled runtime exceptions you might encounter immediately after installation.
My only complaint with Crystal Reports is an extremely technical one: It doesn't support a subreport that in turn uses another subreport (a limitation you can work around). Otherwise, Crystal Reports provides an astounding number of features, far more than this review has room to mention. As long as you pay attention to scalability issues, Crystal Reports should provide all the tools you'll need for your customers' reports.
Crystal Reports 10 (Developer Edition)
Phone: 800-877-2340; 604-681-3435
Quick Facts: Full-featured reporting tool that's become an industry standard.
Pros: Supports a wide variety of formatting, grouping, and calculation options.
Cons: Subreports could be more flexible.
About the Author
Andy Clark is a consultant with iGate Inc. in the Richmond, Va., area. He holds PMP, MCSD, and SJCP certifications. Reach him at email@example.com.
Implement .NET Software Licensing
Posted April 9, 2004
Unless you develop software for internal use only, you've probably considered licensing options that can protect your heavy investment in .NET code. XHEO|Licensing 2.1 is the simplest and most comprehensive packageand by far the cheapestthat you're likely to find for this purpose.
XHEO|Licensing lets you build licensing into your application in a couple of ways. You can use a wizard that reads a VB.NET or C# project file and creates everything you need to implement licensing, or you can build an empty license in the product's IDE and add the components you need individually (see Figure 1). The license key is built on strong RSA encryption for keys that are virtually impossible to break.
XHEO|Licensing's most impressive feature is the range of licensing options it provides. You can restrict the use of your software in almost any way by adding one or more of the product's 21 built-in limits. For example, you can limit use by a range of IP addresses, on a particular domain, or for limited trial periods. The And and Or limits let you include multiple licenses for multiple components, with multiple nested limits to handle almost any situation. It's hard to imagine any single scenario XHEO doesn't handle, but if you do think of one, XHEO lets you create it as a custom limit.
Two of the limits rely on Web servers: Activation Server and License Server. You can require a user to activate your software or restrict license usage according to an external licensing server's rules by communicating with an XML Web service. Surprisingly, the server software is part of the basic product, not an expensive extra option.
The XHEO|Licensing IDE is attractive, easy to use, and intuitive, even for software-licensing neophytes. The easiest way to add licensing to a .NET application is to use the wizard to add the basic templates to your project, then use the IDE to add limits and customize the licensing features. You can switch between a treeview of the licensing design and the underlying XML, with dynamic help always available.
The XHEO|Licensing package is available only as a download, but it comes with a decent help system. The documentation includes links to XHEO's Web site, where you can find about a dozen walkthroughs that demonstrate many ways to put licensing to use. The combination of local and online help resources is outstanding.
XHEO|Licensing is a well-designed, well-constructed licensing package that's amazingly inexpensive. This product is a great choice if you want to protect your software while softening the impact on its users.
Price: Starts at $259.99
Quick Facts: A .NET application-licensing tool based on strong RSA encryption of license keys.
Pros: Excellent IDE, low price, good documentation, complete set of licensing options.
Cons: Available only for .NET apps.
About the Author
Don Kiely is a senior technology consultant. When he isn't writing software, he's writing about it, speaking about it at conferences, and training developers in it. Reach him at firstname.lastname@example.org.