VS2010: Vendor Showcase
By Tim Anderson
Some of the many third party tools and controls that are available for Visual Studio 2010.
HardCopy Issue: 52 | Found In: Visual Studio 2010 | Published: 19/05/2011 | Last Revision: 19/05/2011
A major benefit of Microsoft’s platform is the high level of third-party support from components, libraries and add-ons. Developers can quickly assemble a modern and feature-rich user interface. Although there is a large degree of overlap between the major component suites, that does not mean they are all similar. Each data grid has its own strengths and weaknesses, for example, and usually a free trial is available. This is a fast-moving area, with vendors having to target an ever-wider range of platforms.
But third-party support is not only about components. There are some excellent add-on tools that integrate seamlessly with the Visual Studio IDE and can quickly repay their cost in increased productivity, such as Countersoft’s Gemini which enhances Visual Studio’s project management facilities, or the debugging tools and compilers available from Intel.
Dotfuscator
PreEmptive Solutions Dotfuscator is bundled as a free community edition in Visual Studio 2010, with commercial versions available. This is a well-known tool for obscuring .NET assemblies, making them harder to decompile and so protecting intellectual property.
The latest Dotfuscator has significant new features. One is Runtime Intelligence Support, which is like Web analytics for the desktop. Dotfuscator injects code into your application which communicates with a Web service (for which developers should ensure user consent). You can then track how much your application is being used and what features are being exercised. Statistics can be sent to a free portal, or to your own site. Enhanced features and SSL encryption are available if you purchase the full suite.
Dotfuscator has further software protection features. Shelf Life lets you set an expiry date, to support trial and subscription business models. Tamper detection detects whether the application binary has been altered. Both are hooked into the messaging system, so that you receive alerts when an application is misused. The free community edition supports basic features; but the commercial versions add many features and support more application types, including Silverlight and WPF.
ComponentOne
ComponentOne offers control suites for Windows Forms, WPF, ASP.NET, Silverlight and SharePoint, and also supports mobile devices – an increasingly important developer focus. Studio for iPhone lets you create ASP.NET Web sites tailored for the iPhone and with the look and feel of Apple’s user interface. Controls include Calendar, CoverFlow, dialogs and data display. Studio for Windows Phone (currently in preview) brings rich user interface controls to Microsoft’s new mobile platform.
ComponentOne Studio for WinForms has over 60 controls. Alongside well-featured charts, grids and input controls, there is an Excel component that reads and writes Excel files, including support for the Open XML format. A PDF component lets you create Adobe PDF documents, and a Flash control allows integration of Flash content.
Managing projects with Countersoft Gemini
Gemini from Countersoft is a project management system built on .NET with features including issue tracking, testing, release management and dashboard reporting. The product integrates with Visual Studio 2010 and can work alongside Team Foundation Server (TFS) or on its own. It is attractive partly because of its keen pricing – starting from the free, three user version – and partly because it opens up collaboration beyond the development team. “TFS 2010 is probably the default choice of most Visual Studio software teams around the world,” says CounterSoft CEO Harvinder Kandola, “but those tools tend to be just the domain of developers and testers. Helpdesk, IT Support, client services, can’t use TFS. People deploy Gemini on top of TFS, it’s browser based, and the entire organisation can use it. A lot of our enterprise customers will use Gemini for their project management and ALM [Application Lifecycle Management], but then TFS for source control. We integrate with that, and now we also integrate with Microsoft Test.”
Viewing Gemini work items within Visual Studio 2010
One of Gemini’s users is Phil Jones, Chief Techology Office at Imasro, a small start-up company whose product is a browser-based marketing suite built with C# and SQL Server. “Gemini is used daily, as an issue tracker mainly,” he says. “We decided to go to Gemini because it is a .NET project and used SQL Server, so we didn’t need to install other things.” Imasro uses a variety of tools in its development process. “We use Subversion with TortoiseSVN, combined with Visual Studio, for source control.” says Jones.
Why not just use Microsoft’s products? For start-ups, cost-effectiveness is a big consideration. “We went with a pack that only gave us Visual Studio Professional,” says Jones. “Gemini was a good start-up solution. It has worked really well at allocating issues amongst people and helping us keep a history,” Jones reports.
The suites for WPF and Silverlight have several controls in common, such as Accordion which is a list of expandable items, and Book which displays UI elements using a book and page model. The Silverlight edition also has a DataGrid and an innovative Cube control that lets you display information as faces on a rotatable cube. XapOptimizer both obfuscates and compresses Silverlight apps, making them up to 70 per cent smaller. Finally, ComponentOne still offers an ActiveX suite including classic controls such as VSFlexGrid, giving you the speed of native code for Visual C++ and other ActiveX containers.
DevExpress
Component and tools vendor DevExpress is well-known for its XtraGrid for Windows Forms. This is one of the most sophisticated grid controls available, with strong sorting and grouping features, including controls which allow the user to filter, sort and group data at runtime. Other Windows Forms controls include a rich text editor, a Wizard, a spell checker, and components for OLAP (Online Analytic Processing) data mining.
The company also supports WPF and Silverlight. The WPF suite has a printing and exporting library, including support for PDF and Excel, as well as the usual grids and chart controls. The Silverlight suite has over 50 controls, including a Rich Text Editor, a transition animator, and controls for menus and toolbars. There is also a grid control with grouping and sorting.
DevExpress has a strong range of Ajax-enabled ASP.NET controls, covering both Web Forms and ASP.NET MVC. Along with grids, charts and reporting tools, there are business intelligence components including OLAP data mining, an HTML editor and spell checker, and a calendar and scheduling suite.
CodeRush is an add-in for C# and Visual Basic that adds smart code selection, intelligent declaration and code refactoring. There is an Xpress version for free download and a Pro edition with customisable code templates that can generate code for you. Refactor! Pro adds over 150 refactorings to CodeRush and Visual Studio.
Infragistics
Infragistics offers the NetAdvantage suite with versions for ASP.NET, Windows Forms, WPF, Silverlight, and a new jQuery suite aimed mainly at ASP.NET MVC.
NetAdvantage for Windows Forms has over 70 controls including grids and charts, dock management, PDF export, enhanced printing, toolbars and ribbons. The ASP.NET package includes an HTML editor, DataGrid and DataTree, scheduling controls, export to Adobe PDF or Microsoft Excel, and Captcha for human verification. The range of WPF controls takes advantage of the graphical effects available with a variety of carousel controls as well as a DataGrid, DataPresenter, Ribbon and OutlookBar.
For Silverlight, Infragistics has a suite with grid, chart and edit controls as well as an HTML viewer that uses the host browser to render HTML content within Silverlight. The separate NetAdvantage for Silverlight Data Visualization includes a pivot grid for analysing multi-dimensional data, as well as chart, gauge, timeline and bullet graph controls. There is also a version for WPF.
Telerik
Although it also supports Windows Forms, WPF and classic ASP.NET, Telerik has moved rapidly to build for Microsoft’s newest frameworks, namely Silverlight, Windows Phone, and ASP.NET MVC.
Telerik’s Sales Dashboard shows what is possible with a Silverlight Web user interface.
The company offers over 40 controls for Silverlight, sharing code where possible with WPF versions and thereby gaining good compatibility. Along with the usual grids, charts and progress bars, Telerik has some distinctive controls such as the RadBook, which includes smooth flip animations to give users the feel of turning the pages of a book. The RadRibbonBar implements a ribbon control similar to that in Microsoft Office 2007, and is available for Windows Forms, WPF and Silverlight. RadCoverFlow for Silverlight and WPF offers rich navigation through media collections, with 3D transitions and configurable camera and reflection.
Telerik offers over 35 controls for ASP.NET Ajax, including an HTML editor which is apparently used by Microsoft on the MSDN site. These combine server-side and client-side code, using Microsoft’s AJAX engine along with the open source jQuery. The RadGrid will bind to WCF RIA Services. Its Grid, PanelBar, TabStrip and Menu controls are specifically extended for ASP.NET MVC.
Telerik also has productivity tools for Visual Studio. JustCode offers code analysis, refactorings, code formatting, unit test running, and more. JustMock makes it easy to create mock objects, ideal for test-driven development, and supports ASP.NET, ASP.NET MVC and SharePoint code.
Intel Parallel Studio
Parallel Studio is a suite of products supporting concurrent programming, mainly focused on native code although the libraries can also be accessed from managed code. Parallel Composer includes compilers, libraries and debugging extensions, enabling you to use OpenMP as well as Intel’s Parallel Building Blocks (which includes Threading Building Blocks), the new Cilk Plus, and Integrated Performance Primitives.
Parallel Inspector tackles the hard problem of multi-threaded debugging. Parallel Amplifier is a profiler for optimising multi-threaded applications, identifying hotspots in both native and managed code. Parallel Advisor is a design assistant that evaluates your proposed candidates for parallelism.
But is the Intel suite still necessary? At a library level, Intel’s Director of Software Products James Reinders agrees that “[Microsoft’s] Parallel Patterns Library and [Intel’s] Threading Building Blocks are extraordinarily similar in their approaches,” but adds that, “Threading Building Blocks has more functionality, solves more problems for C++, and is portable across a lot of platforms.”
More widely, Reinders claims Intel is ahead in several areas: “Once you’ve implemented something you’re going to quickly find that you have to root out the non-determinism. Microsoft has no solution for that. You also want your program to scale. We’ve put things into Parallel Studio that solve that. If you’re serious about getting things done, Parallel Studio will easily prove itself.”