Any developer working on software for Windows or .NET will likely be spending a great deal of time in Visual Studio. While Visual Studio has a reputation for being a highly productive integrated development environment, even the latest version—Visual Studio 2012—does not provide all things to all developers.
There are just too many places where add-on tools can and do make a world of difference, and choice is an important part of the advantage the extensibility of Visual Studio provides. Whether a project is in need of controls, obfuscation, shortcuts, analytics or anything in between, there is probably a vendor that provides it in an integrated way that works seamlessly with Visual Studio 2012. In this special report, we will delve into what vendors are offering for tools that make development with Visual Studio 2012 that much better.
To bring together this report, we talked to the biggest names in the tools for Visual Studio space to see how they are adapting their offerings to make the lives of developers a bit easier as they use Visual Studio 2012. Each of these companies has chosen one or more spaces in which to extend Visual Studio and compete, including code-writing productivity, control suites and even code-security products. In some cases the competition is between the companies, and in other cases it is between the companies and features that Microsoft has added to Visual Studio. In each case the goal is to distinguish their solutions, with faster product delivery being the main driver. The competition is good for the ecosystem, and it is most mature and intense in the controls space.
Productivity in coding
One of the key aspects of Visual Studio is how well it supports the productivity of developers. Features like IntelliSense have made it easier to write code quickly for those who know what they want to get accomplished. In spite of near-constant updates to drive productivity, there is a need and appetite among many developers for more. DevExpress has spent many years providing its CodeRush product to satisfy this demand.
Julian Bucknall, CTO of DevExpress, said, “Developers spend most of their time in code, and so we focus deeply on enabling dramatically improved productivity in the coding process.” CodeRush helps with code-wrangling tasks such as refactoring, finding and consolidating duplicate code; code-issue detection; and even XAML editing. The stated goal for CodeRush is enabling dramatically improved productivity in the coding process.
A relatively new player to the productivity tools landscape is Telerik’s JustCode. Chris Sells, vice president of developer tools at Telerik, said that JustCode “takes advantage of new speed improvements in VS 2012’s extension-loading process.” He went on to say that pushing for better performance in JustCode is a priority.
When asked why JustCode is worth trying, Sells pointed out a new feature that “enables debugging directly into binary .NET assemblies, which provides the ability to step right into an assembly that you don’t even have the source code for so that you can fix what are normally impossible-to-debug issues with your apps. This works for both Microsoft and third-party assemblies.” Microsoft provides a similar feature for some of its assemblies, but because of what Sells referred to as “version skew,” the Microsoft implementation does not work in practice. This means that JustCode “shows you the source code for the actual assemblies you’re working with, even the ones that Microsoft doesn’t provide source code for at all.”
Both CodeRush and JustCode change the experience for developers in dramatic ways, and each has avid fans. For best results, more so than in other categories of tools, any developer should check out both of these options and decide which works best for the way they work.
Security through obscurity
Software is ultimately just instructions and commands that run on the processor, and as such, the code cannot be encrypted in a way that makes it unreadable to someone determined enough to take the time and effort. That is an unsettling reality for anyone who is concerned that the intellectual property contained within algorithms in their code could be discovered by a competitor or hacker. Ultimately your code is only as secure as it is hard to reverse-engineer, and for this unique need, obfuscation can help mitigate it.