Every enterprise IT organization develops and maintains some number of custom applications. In the vast majority of organizations the applications targeted at the Windows platform are developed using Microsoft Visual Studio.
While it is possible to use some other tool, Visual Studio really has no competition when the target is Windows. Visual Studio also supports a wide range of other target platforms, including mobile and the Web. You can even do Python development, which runs on a wide range of operating systems from within Visual Studio.
Visual Studio 2013 Update 2 is the latest and greatest version of the product, incorporating a number of new features for a broad range of development scenarios. One of the newest members of the Visual Studio 2013 family is Visual Studio online. This tool brings the flexibility and scale of the cloud to provide anywhere access to both individual and teams of developers. The power of a Web-based development tool makes it possible to do truly distributed development while maintaining the control offered through Microsoft Team Foundation Services.
Online vs Local Development
While developing using Web-based tools does have its advantages, it's not possible in every situation. Many companies are risk averse and would never allow development of corporate applications to be done in an open environment. Microsoft has gone to great lengths to make the process as secure as possible, but the human behind the keyboard still gives some IT security managers pause. If they can't control the network and the systems used for corporate work, they can't control anything -- at least in their minds.
Creating a new project using Visual Studio online is not significantly different than from a PC. Figure 1 shows the first screen you'll see when launching a new project using the online version of Visual Studio. Visual Studio online integrates with Git if you choose to use that method of source control. Support for Eclipse and Apple Xcode makes it possible to incorporate Linux and Apple developers as well.
The traditional method of using Visual Studio still works and requires installing the software to a Windows machine. Some of the enterprise-level testing, such as cloud-based load testing, requires Visual Studio Ultimate. Other versions of Visual Studio include Premium, Professional, Test Professional and Team Foundation Server. If you're a programmer wanting to learn Visual Studio, you can download one of the Visual Studio Express versions for free. Students can get a copy of Visual Studio Professional at no charge from the Microsoft Dreamspark site.
Microsoft Azure Integration
One of the toughest tasks for any developer working on a project involving a potentially large number of users is the ability to test at scale. Microsoft recognized this problem and provided a number of new tools in Visual Studio 2013 to help make this process easier. It's now possible to spin up any number of test virtual machines on the Microsoft Azure platform to generate variable loads from within Visual Studio.
A number of different scenarios can be addressed using a combination of Windows Azure and Visual Studio. Stress testing a website is one popular use case that can be difficult to simulate. Microsoft provides a sample project on their MSDN site with all the code you need to configure a Web test. Figure 2 shows one screen from the project with the configuration parameters for how the test will be performed. Visual Studio gives you a broad range of settings to make the test as realistic as possible.
Integrated App Development
Many enterprise organizations have adopted one of the many software development paradigms such as Agile to compress the amount of time required to bring a new product or service online. Microsoft Visual Studio and Team Foundation Server (TFS) fully support Agile and a number of other development frameworks. TFS also provides bug tracking, integrated source code control, build manager and comprehensive test tools.
Microsoft provides a set of tools to aid in monitoring and debugging problems once an application has been put into production. Intellitrace is a Microsoft technology which makes it possible to monitor and collect debug information from a running application. Once the monitor information has been collected, a programmer has the ability to replay the information from within Visual Studio to pinpoint precisely where the application error occurred. Once the error is found, it can be fixed and an application update pushed into production.
The Microsoft Monitor Agent also collects performance information for running applications, making it possible to identify performance bottlenecks and areas where code improvements could be made. It also logs all application exceptions, which might be an indicator of code or resource problems. This information is saved to an IntelliTrace log file format for further examination using other Visual Studio Tools.
Wrapping Up: 'Gold Standard'
Developing enterprise quality applications requires solid tools, and Microsoft Visual Studio is the gold standard. With continual updates and new features, it remains the tool of choice for IT departments everywhere.
Paul Ferrill has been writing in the IT trade press for over 25 years. He's written hundreds of articles for publications like Datamation, Federal Computer Week, InfoWorld, Network Computing, Network World and PC Magazine and is the author of two books. He is a regular contributor to ServerWatch.com and several other QuinStreet Enterprise properties.