Chapter 1: Flavors of Visual Studio
Microsoft Visual Studio is an Integrated Development Environment (IDE) from Microsoft. Over its more than twenty-year history, it has been used by developers to develop all kinds of computer programs, web applications, web APIs, and mobile apps. A 2019 survey by Stack Overflow found Visual Studio and its cousin, Visual Studio Code (VS Code), to be two of the most popular development environments among all survey respondents (see https://insights.stackoverflow.com/survey/2019):
Note on Stack Overflow 2020 survey results
Although Stack Overflow's 2020 survey results were available at the time of writing, they did not seem to include the same specific question on development environments.
Visual Studio provides robust coding and debugging capabilities as well as extensive integration for deployment and source control needs. You can use it to program anything from a desktop business application, to a web site, mobile application, or Unity game.
If you are new to programming or .NET development, it is important to understand that there are several options to consider before starting. This chapter's primary focus is to cover some key factors you should consider when deciding which product "flavor" of Visual Studio is right for you, including the following:
- Primary operating system (Windows, macOS, or Linux)
- Target framework (.NET full framework, .NET Core)
- Team size and budget
- Application type (Windows, web, mobile, server, or console)
- Cross-platform portability requirements
- Chosen programming language (such as C#, VB, Python, Ruby, or NodeJS)
The reason why we must examine the aforementioned points in detail is because Microsoft has combined what are actually multiple, separate, products under a single marketing umbrella. This can make choosing between these products confusing and so we will take a moment to clearly identify each version, differentiate their features, and provide some guidance on which version may be best for your purposes.