Today's independent developers have many options when it comes to the tools they can use to write, debug, test and build their applications.
Those focused on Android development will lean on Android Studio, others mainly building for iOS and MacOS will undoubtedly gravitate towards Xcode. And as of late, many building mostly for the web will feel right at home using Visual Studio Code. However today we are going to talk about Visual Studio, yes that Visual Studio, the full blown IDE Visual Studio, and its versions. We are going to dig into reasons why you'd want to ditch the free Community edition as well as reasons why you have no choice but to open your digital wallet and spend the extra money.
Today Microsoft is a very technology inclusive organization. To those new to .NET development and Microsoft this won't come as a surprise. Microsoft's openness and all welcome approach might even seem normal. However this was not always the case. As someone who has been building .NET apps and windows applications for the better part of 15 years this feels like an alternate reality.
To begin this journey lets head over to visualstudio.com where Microsoft has put together this very nice tool selection helper.
So you might be thinking, "well OK, so far so good, what is exactly weird about this..." well if you happen to select "I want to develop for "Web/Cloud" you are greeted by a technology selector which includes Node.js, Python and Java alongside the expected .NET option. This would have been unheard of just 5 years ago, the notion that Visual Studio is just a great tool for .NET and nothing else has been put to rest.
For the purposes of this conversation we are going to go with "I want to develop for Mobile using .NET on my Windows machine. That leads the helper to this suggestion. Which still leaves the question, which edition!? Community, Professional or Enterprise. So let's work our way from the top!
Visual Studio 2019 Enterprise Edition
The enterprise edition brings dozens if not more features to the table over Professional and Community. I am going to over some of the most important and valuable features which justifies the extra cost.
Real Time Dependency Validation
This feature gives developers the ability to visualize and validate their application's architecture. For applications where security and compliance is a must; this feature is gold. Sure you can try to keep track of this yourself or use a third party static code analysis tool, but the real time component of this feature allows for catching architectural flaws as they are introduced. This means less code re-work and better code quality up front.
Live Unit Testing
This feature is very underrated, but it comes in especially handy when re-factoring or fixing bugs. Live unit testing gives you real time unit test feedback as you type. This saves time since feedback from your changes is being presented to you instantly.
As applications mature, undoubtedly their magnitude increases. Making sure all of your code is being checked and guarded against bugs becomes more critical. That is where code coverage comes in. This feature helps you figure out just how much of your application is being "covered" by tests.
Visual Studio 2019 Professional Edition
The professional edition is not a huge jump from community like enterprise is, However organizations beyond a certain size have no choice but to upgrade. This applies to companies with more than 250 PCs or more 1 Million USD in annual revenue.
Visual Studio 2019 Community Edition
This edition of visual studio is geared towards students, individuals and small organizations. However just as explained above, its very much a professional tool. Sure you won't get some of the super cool features found in the enterprise edition, but you can still build pretty much any kind of application, leveraging pretty much any programming language under the sun!
If you'd like a more in-depth look at the differences, please head on over to https://visualstudio.microsoft.com/vs/compare/ and check them out yourself!
I will leave you all on this note, even as a small independent developer, the features found in the enterprise edition are wicked good, they help you produce much better quality code which leads to much better quality apps!
Let me know your experience working with Visual Studio and its various edition in the comments below!