Introduction
The Microsoft Visual Studio IDE has been a .NET developer’s best friend and primary development tool since 1997. This pre-dates the first .NET Framework release by five years. At the time, it was used for developing Windows applications with Visual Basic, Visual C++, Visual FoxPro and Visual J++, as well as ASP web applications with Visual InterDev.
Visual Studio has gone through many iterations since these early days, picking up and dropping support for various languages and frameworks along the way. Until recently, the target audience for Visual Studio has primarily been that of the enterprise developer. Today however, many developers who target Microsoft technologies work in small groups or independently. Open source software (OSS) development has reached the mainstream .NET community and created a whole new customer segment for development tools. Microsoft has responded to this need by creating the Visual Studio Community Edition.
What is Community Edition
Last year, Visual Studio 2013 was the first version of Visual Studio to offer a Community Edition. This was announced in New York City at the Connect(); conference in November 2014. Visual Studio 2015, released in July 2015, continued this offering.
Figure 1 – Visual Studio 2015 Community Edition
Visual Studio Community Edition is a free version of Visual Studio similar in feature set to the Professional Edition. Individual developers are free to use Community for building free and paid apps as well has open source software. For organizations, there are some guidelines on when Community Edition should be used versus a paid edition. Here is a brief explanation, taken from the Community Edition web page.
An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.
For all other usage scenarios:
In non-enterprise organizations, up to five users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or >$1 Million US Dollars in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.
For complete licensing information, please see this page.
Features
As mentioned above, Visual Studio 2015 Community Edition is similar in feature set to the Professional Edition. The biggest difference between the two is that Professional Edition includes Team Foundation Server licensing. Community and Pro both include support for extensions, Visual Studio Online integration, debugging and profiling tools, and development across all Visual Studio supported programming languages. This includes cross-platform app development with Apache Cordova, Xamarin or Unity for game development. For a complete matrix of features available in each edition, developers consult this page.
I will dive a little deeper into some of the available cross-platform development features in the Feature Focus section below.
Community Edition vs. Express Editions
In case there is still any confusion around the differences between the new Community Edition and the various Visual Studio Express Editions that have been around since 2010, the Express Editions are intended to be lightweight versions of Visual Studio. Each edition (Desktop, Web and Windows) targets a particular application type. While the Express editions are still available, they do have a more limited feature set than the Community Edition.
Feature Focus
Cross Platform Mobile
Cordova
Apache Cordova is a framework for building cross platform mobile apps with JavaScript and HTML5. Community Edition includes support for the Visual Studio Tools for Apache Cordova, enabling developers to build, debug, test and publish these apps on any platform.
Figure 2 – A new Cordova project.
Figure 3 – Running your first Cordova app.
Xamarin
The Xamarin Tools for Visual Studio enable developers to share C#, VB or F# code across iOS, Android and Windows Universal apps. Developers can create Shared Libraries or Portable Class Libraries (PCLs) to share common code. For creating user interfaces with Xamarin, developers can either create platform-specific UI modules for each platform or use Xamarin.Forms to also share the majority of their UI code.
In order to build and test iOS apps, a OSX machine running Xamarin Build is required. With this Build service running on the same network, Visual Studio developers have the ability to build and run their iOS apps with a full debugging experience.
Figure 4 – A new, empty Xamarin Android app running in the emulator.
Like the free Community Edition of Visual Studio, Xamarin also has a free, entry-level tier called Starter Edition. Starter Edition is appropriate for small apps created by individual developers and can be deployed to devices and published to the Apple, Google and Amazon stores.
Azure Mobile Services
Microsoft Azure Mobile Services is a great way to create backend services for any mobile app. With Azure Mobile Services, app developers can store data, enable offline capabilities and sync data, add user authentication, and easily add push notifications to mobile apps.
When using Azure Mobile Services, as with any Azure service, developers only pay for the data and services they use and can scale on demand.
Figure 5 – A new Azure Mobile Services project.
Unity
Visual Studio Tools for Unity is a free Visual Studio extension which can be installed in the Community Edition, as well as Professional and Enterprise. Unity itself is a platform for creating cross-platform games for use on PCs, tablets, consoles and the web. Unity code can be written in C#, but game development requires a shift in mindset to develop apps with performance as the primary focus in every line of code. The Unity site has some great tutorials and documentation for beginning developers.
Figure 6 – Unity Personal
Android Emulator
The Visual Studio Emulator for Android is a new, fast and easy to use emulator created by Microsoft in 2014. It is free to use with any version of Visual Studio that supports cross-platform app development, including the free VS 2015 Community Edition. In addition to working with VS, the emulator can also be used by Android developers who use other IDEs like Eclipse and Android Studio.
The emulator’s built-in simulators allow developers to test hardware features like SD Cards, battery, GPS, camera, audio, multi-touch input and more. And because there are such a wide variety of hardware and OS configurations in the wild, the emulator allows developers to create multiple device images with different hardware and OS profiles.
Figure 7 – Cordova app running in VS Android Emulator
Language Support
Visual Studio Community Edition supports all of the same programming languages as the Enterprise Edition: C#, VB, F#, JavaScript, CSS, Python, and many more.
Wrap Up
Visual Studio 2015 Community Edition is a great option for individuals and small businesses. It provides the power of Visual Studio to those who previously could not use it due to the licensing. It has been a particular boon to the open source .NET developer.
Go download and check it out today! Happy coding!