Essential Tools for .NET Developers

.NET framework is used by millions of developers all around the world which means that the number of different available development tools will only grow in the future. But which tool to pick when there are so many of them and all look so similar? It can be a tough choice, especially if you are a newbie. That is why we have compiled a list of most essential productivity tools every .NET developer should know of.

1. Visual Studio Code, JetBrains Rider, Visual Studio for Mac

As Google Search wisely tells us, .NET Core is a unique Microsoft product built as an open-source, general-purpose development platform. Its applications are written in C#, F# and VB, which means it will run on Windows, Linux and macOS, and it’s a huge step forward for front-end developers.

For example only a few years ago Mac owners had almost no other alternative but to use MonoDevelop IDE to create their projects. Later on some other products (Xamarin Studio, OmniSharp) were released, but there was still little choice amongst cross-platform .NET development on non-Windows platforms. Finally, came a .NET Core breakthrough — Visual Studio Code, JetBrains Rider and Visual Studio for Mac were released, and it has never been easier to develop cross-platform with .NET Core.

So let’s try and look at most popular cross-platform IDEs in more detail.

First, there’s Visual Studio Code, a most effective and competent source code editor which runs on Windows, macOS, and Linux, but not all of these platforms have the same feature set. The UI of Visual Studio Code is customizable, which is a great advantage as you can adjust it to your preferences. Besides this product is free and open-source and has got an incredibly useful terminal.

JetBrains Rider, in comparison to Visual Studio Code, has the same set of functionality on all platforms, and this is its biggest advantage. It is highly customizable and offers the same project templates the Visual Studio Code does. Alas, it only has a paid version, but it’s totally worth it.

Visual Studio for Mac (which started as Xamarin Studio by the way) is relatively new compared to Visual Studio Code and JetBrains Rider. It’s a .NET development IDE, but its full version that supports .NET and .NET Core works only on Windows, that is why some developers believe that this IDE can’t be considered as cross-platform. Anyway it is best used for mobile development with Xamarin, cloud development with .NET Core and ASP.NET Core and web development with ASP.NET Core.

2. Microsoft SQL and PostgreSQL

Choosing the best database software to fit your needs is also imperative for .NET Core functionality. There are many NoSQL database solutions of course, but let’s better focus on two most popular choices — Microsoft SQL and PostgreSQL. Microsoft SQL is a very stable, secure and fast database engine, very easy to work with. It is famous for its high performance and cloud-based solutions. All in all it is a perfect choice for corporate businesses. PostgreSQL in its turn is considerably slower than other database engines, but it is the most advanced open source database. Besides there is no associated licensing cost for the software.

3. Git

Powerful version control software is an essential part of the modern developers’ professional practices. It is almost impossible nowadays to develop software without using version control, and the most popular VCS tool in use today is Git. It’s free and open source and is famous for its flexibility and performance benefits.

4. WorkFlow Engine

Next powerful software tool that helps manage business processes is WorkFlow Engine. It is a customizable workflow component that provides flexible and effective solutions to facilitate the setup, execution and monitoring of organization workflows. It operates with various processes, systems and software and allows integration with all .NET solutions. Optionally Workflow Server based on Workflow Engine will be a better solution for microservices architecture. It can be integrated with an app that runs PHP, NodeJS, Ruby, Python, etc. via a REST API.

5. React, Semantic UI React

A development framework for building user interfaces is another efficient solution to be included into your .NET Core projects. The most popular tool in this case will be React, a JavaScript library developed by Facebook. It is greatly praised by developers for allowing them to make very fast loading UIs and providing a great user experience. Semantic UI React on the other hand is one of the best React based UI frameworks that helps create beautiful, responsive layouts using human-friendly HTML.

6. DWKit

When choosing an open source .NET business process management system the best option will be DWKit created by OptimaJet. It is a simple and flexible tool that helps build web applications. DWKit has a dynamic drag & drop form builder, it offers many options, is localizable and allows business processes to be executed automatically.

7. Telerik Fiddler

Among HTTP debugging proxy server applications Telerik Fiddler is probably the most well-known. It’s a free web debugging proxy which can be used on any browser, system or platform. It is customizable and is definitely one of the most valuable .NET tools.

8. Swagger

Another developer’s must have is Swagger, an open source software framework which provides a whole set of tools for API design, development and testing. They say that the best APIs are built with Swagger tools, and it is entirely true. There are other available frameworks that have gained some popularity, such as RAML, APIBlueprint, and Summation, but Swagger is the headliner. It offers such tools as SwaggerHub (the design and documentation platform for teams and individuals working with the OpenAPI Specification), Swagger Inspector (a developer tool to test APIs and generate OpenAPI), Swagger Editor (API editor for designing APIs with the OpenAPI Specification) and some others.

9. NServiceBus

The last but not the least .NET tool is NServiceBus. It is an implementation of a ‘service bus’ pattern for .NET. It provides extensible messaging and workflow for .NET and .NET Core and helps create decoupled applications that are easier to maintain and test. NServiceBus offers two main types of messages — events and commands. It’s main purpose is to deliver a dependable messaging solutions infrastructure.

Summing Up

Obviously developer’s choice of this or that .NET tool will depend on situation, specific tasks and even habits. But it is always good to learn about tools which might simplify your work, optimize performance and improve productivity, isn’t it? That is why we have presented a list of .NET tools that you just can’t afford to miss out. Do you agree with our list? If not, which tools would you recommend?