Rating: 4 out of 5 stars
In the .NET component suite marketplace, several companies offer solutions that are more or less at parity with one another. They have the expected chart, toolbar/Ribbon, grid and menu components, and while their UI and programming models might differ, the end-user functionality is similar. Thus, it's a surprise that a company such as DevExpress has aggressively pursued this market.
As a reviewer, I have to maintain an objective opinion and consider each product on its own merits. With that in mind, I approached DXperience 2010 from DevExpress with anticipation and trepidation.
Would the suite be comprehensive enough for my broad .NET development needs? Would the components be easy to program? Would product documentation be clearly written and unambiguous? Were there any controls that were going to knock my socks off? I dove into the suite to find out.
The Kitchen Sink
DXperience is a collection of several product categories. The collection includes the following:
• eXpressApp Framework
• eXpress Persistent Objects
• IDE Productivity Tools
• Printing-Exporting Library
• XtraCharts Suite
• XtraReports Suite
UI components for ASP.NET, Silverlight, and Windows Presentation Foundation (WPF) are also part of the package. DevExpress has created a really slick Demo shell application that hosts links to demos that show off the attributes each visible component has to offer, which you can see in Figure 1.
The shell also quickly displays useful information such as the XAML and C# code that drive each demo. Let's take a look at each of the product categories offered in DXperience.
This capable bundle is exclusive to the DXperience Universal edition. It supplies .NET developers with the modularized architecture to construct applications that leverage both the components of the DXperience package as well as go beyond with remarkable extensibility.
However, as with any new framework, learning the eXpressApp Framework will take a while because of all the nuances it has to offer.
Fortunately, DevExpress offers free videos that educate interested buyers and developers alike. Screencast videos for the eXpressApp Framework and other Universal products can be viewed at tv.devexpress.com. DevExpress has also posted a convincing step-by-step web tutorial that shows how developers can roll their own Microsoft Outlook-like client in an hour using the framework—powerful stuff!
Such detailed instruction not only educates developers in the how-to aspect but also demonstrates the capable functionality and well-thought design the framework delivers.
eXpress Persistent Objects
Somewhat less exclusive to the Universal subscription but still exceptional is the DevExpress .NET Object Relational Mapper (ORM) tool that abstracts SQL Server interfaces into manageable .NET objects. DevExpress ORM works with all the major databases on the market today, including Microsoft Access, Microsoft SQL Server, Oracle, Sybase, and more.
This abstraction is extremely handy when switching between these databases either in developer-versus-production scenarios or a dynamic back-end where the database layer needs to be cleanly separated from the code. The DevExpress eXpress Persistent Objects support nearly all ORM needs including custom type converters, IBindlingList Collection and IEditableObject XPBaseObject behaviors, session-less persistent classes, and even XML modeling, database integrity checking, and performance counters.
Anyone who has already leveraged the power ORM abstraction has to offer will be satisfied with the DevExpress approach.
IDE Productivity Tools
Three well-received Visual Studio (VS) IDE tools, DXCore, CodeRush and Refactor! Pro, are also part of the DXperience Universal suite, each worthy of its own standalone review. In fact, CodeRush was the 2009 DevPro Connections Reader's Choice winner in the add-in category, beating out the popular JetBrains ReSharper add-in.
CodeRush's features are too numerous to list here, but some of the more notable specifications include its powerful code navigation (jump to next/previous reference points and elements, setting and swapping markers, filtered member navigation), visualization (region painting, flow break evaluation, structural highlights), and class and member declarations and code templates for VB, C# and C++.
Refactor! Pro supplies over 150 refactorings in a single press of a key, making complex refactoring cases a breeze to apply.
Finally, DXCore provides developers with the foundational plug-ins necessary to codify their own custom efficiencies and enhance their own IDE experience. Considering the individual costs associated with these IDE tools, their inclusion into the DXperience subscription is icing on the productivity cake.
The DevExpress XtraPrinting Library, combined with the XtraChart, XtraGrid, XtraLayoutControl, XtraScheduler, and XtraTreeGrid, supplies the components necessary to give end-users the ability to arrange and print data to their liking.
The library can export to many different rendering formats including PDF, HTML, RTF, JPEG, and more. For those who don't need the vast capabilities and complexity of more comprehensive report writers such as the XtraReports Suite in the DXperience Universal subscription package, the more lightweight XtraPrinting library fits the scenario.
The UI controls for ASP.NET, Silverlight, WinForms, and WPF cover the spectrum of visual components. Included in this large array of over 50 components are all those types found in other component suites and then some. These include grids treeviews and property grids, calendar, scheduler, navigation pane, Ribbon, toolbar/menu, spell checking, a rich text editor, and an OLAP data mining control.
The ASP.NET controls go beyond these with such helpful components as a filter editor, news list, popup, title index, upload, and site map controls. The ASPxCloudControl is a bit misleading; instead of a component that can assist with Windows Azure, it instead is a UI control that displays text grouping based on weight, which Figure 2 shows. The more popular or prevalent the word on the site, the bolder and larger it becomes among the rest of the words in the group.
The WPF controls match some the WinForm components, with a few nice additions. For example, the DXCarousel control renders a facsimile of Apple's iTunes cover flow view, which Figure 3 shows. An application themes control helps centralize the UI skin so that the application's appearance can be easily managed and flexibly modified.
Finally, the Silverlight components bring some attractive graphic effects to a developer's design palette. The AgBook Control binds to a data source and page template to display an aesthetically appealing Apple iBook-inspired page-turning metaphor to the virtual book-reading experience, which Figure 4 shows.
The AgMirror control offers the ability to manipulate rotation angles, mirror offset, reflection opacity, and various transition effects to help developers go beyond boring JPEG thumbnails. Image and form transitions are further enhanced by the AgTransition control, giving developers eight different transition effects such as cross fade, rotate, zoom in, and horizontal/vertical flip.
In other words, the Silverlight controls included in the Universal subscription are not just the usual menu/tab/treeview variety. Instead, DevExpress has recognized the importance in beautiful UI effects for Silverlight applications and has met the challenge to deliver easy-to-use design components that take basic functionality to a whole new, more-appealing-to-end-users level.
The chart package included in DXperience Universal is the well-received DevExpress XtraCharts Suite. This chart-control extravaganza delivers a plethora of 2D and 3D charts for ASP.NET and Windows Forms applications.
The 2D charts, 28 in all, are typical of what other chart components deliver ranging from various line, bar and pie styles to more specialized bubble, radar and polar charts. The 3D variants support OpenGL rendering for attractive and highly stylized renderings. The 3D chart options total 15 and include various area, bar, doughnut, line, pie and spline styles.
As one would expect, all 2D and 3D charts are highly customizable, and the 3D charts in particular benefit from their OpenGL support by allowing chart rotation, scrolling and zooming, and transparency options, which Figure 5 shows.
In addition to the broad chart types, the charting suite also supports data and financial analysis such as logarithmic scales and Top N values to Trend Lines and Fibonacci indicators. Visit demos.devexpress.com/XtraChartsDemos/ to see the catalog of chart styles available in this versatile data visualization collection.
I have seen report generators costing more than the DXperience Universal subscription price that do far less than what the DevExpress XtraReports Suite delivers. This intuitive, flexible, and very end-user friendly report designer package consists of numerous options and attractive layout designs. Reports can be generated natively in ASP.NET, Silverlight, and WPF applications.
Layouts are designed via simple drag and drop, and multiple themes (including Office 2010 looks) match the application styles end-users are comfortable with seeing. The fully integrated design approach within VS adds a huge productivity boost.
When I used it, I knew where everything was located and didn't need to learn a separate design environment to assemble report intelligence. Comparing the output generated using XtraReports to other report generators puts it well on par with those costing twice as much.
Check out the reports for yourself online at the DevExpress demo site.
Source Code Included
In addition to a year of updates, priority support, and access to betas throughout the duration of the annual subscription period, DevExpress bundles the full source code for every component in the package. This bonus not only ensures transparency and accountability but also future-proofs the time developers invest in learning the DXperience nuances by ensuring that the components won’t be orphaned should DevExpress disappear.
This bold business practice is slowly being adopted by other component vendors who recognize the value as well as the demand of corporate customers requiring the benefits of source code access. As such, I commend DevExpress on its open approach to licensing its intellectual property.
Did DXperience exceed my expectations? Yes. Indeed, DXperience Universal exceeded my preconceptions of what a comprehensive component suite has to offer. The only nagging issue is the price tag. It's steep, though certainly on par with competing component vendor collections.
But if DevExpress wants to make a big impact in the .NET developer community, the company should perhaps consider aggressive competitive upgrade pricing to entice developers to seriously evaluate the offering. As it stands, it's a product that only those with access to healthy corporate budgets will be able to fully appreciate.
Minor price-point criticisms aside, DXperience is a top-notch suite of .NET components that will keep its customers happy, especially those that can afford the Universal Subscription option.
The package is entirely VS 2010 .NET 4-compliant and offers continued support for VS2005 and above. The source-code option is becoming a necessity in today's demanding corporate environments that require full disclosure of source code as well as the ability to customize. The inclusion of the eXpressApp Framework is a definite bonus for those developers building custom sales automation and content management applications.
Combined with the variety of components for various Microsoft technology platforms, this expansive collection is worthy of serious consideration when planning your next component-rich application deliverable.