Special Offer: My C#/.NET Bootcamp Course is out now. Get 10% OFF using the code FRIENDS10.

During my work for my employer, most of the time I work on desktop applications implemented in WPF and C#.NET. I really like the XAML technology stack, because I am used to it and I think it provides a simple and extensible way to implemented user interfaces. It also separates the logic (ViewModels and Services) from the user interface code (XAML) without much effort in a natural way.

Past experience with web development

Before I started working for my current employer, I was very addicted to web development. I created applications using PHP as a backend and HTML, JavaScript and CSS for the front-end. Yes, it was the time before jQuery, but hey, Internet Explorer 5.5 and 6.0 were already there. So I had a lot of fun with browser hacks trying to get everything working on the different browsers.

Web development nowadays

Web development has changed dramatically since then. There are many JavaScript libraries and frameworks out there and it’s possible to create a good looking website in less than a day using, for example, Bootstrap. There are really good JavaScript/CSS frameworks which help you to build a website which can run on different browsers and different operating systems.

My first experience with ASP.NET

I tried ASP.NET which then was in version 2.0 and I didn’t like it since it was hard to get started with. After only a few days, I stopped using it and was going down the non-Microsoft road for the next years. I am sure ASP.NET was much better at this time than I thought. It was just that I didn’t like to work with it.

Because of my bad experience, I never tried ASP.NET in the future.

ASP.NET Logo

ASP.NET WebAPI to the rescue

This year I was asked to implement a RESTful service for a backend used in a mobile (Android) application for a university project. My first choice was PHP as I always did for the previous few years. But I used to work with Visual Studio from work which provides great debugging tools as well as an integrated web server. When I opened Notepad++ and started writing my service, I missed features that I was used to from my daily work.

Suddenly I thought “hey! why don’t you try ASP.NET again?” In my opinion, it was a great idea because if it would not work or would need too much time, it was not a problem. It’s a university project which is less critical than any productive application I work on a daily basis, I thought.

I searched Google for RESTful APIs and ASP.NET and I found what I was looking for was called ASP.NET WebAPI. I had an amazing experience trying it. It took less than an hour to implement a prototype of the services I wanted to build without having used ASP.NET WebAPI ever before! The project structure of the generated project template was very simple to understand. And there are many tutorials, videos, and other training materials online which can help you to get started very quickly.

ASP.NET MVC

ASP.NET MVC is another part of the ASP.NET product family. One thing that impressed me most is the ability to use a JavaScript library like Bootstrap for the front end design of the web applications. To be honest, Bootstrap is actually the default library for user interfaces. I could not imagine that this was possible even a few years ago. That’s a step in the right direction and gives ASP.NET much more power in my opinion.

Deploying to Microsoft Azure

I was very happy after getting my service to work as I expected. Changes could be made very quickly, debugging was very comfortable and I learned a lot about web development using ASP.NET WebAPI.

When it was time to think about how the client application, which was a mobile application written in Android, could connect to my ASP.NET WebAPI service, I thought about using Microsoft Azure. When I searched how to do that in Google, I was not sure if I had to believe that was easy.

Microsoft Azure LogoBut it was really simple indeed. If you already have a Microsoft account, you just have to register on the Microsoft Azure portal and you can create a new Web app. A Web app on Azure can be many different things. Important for us, it can host an ASP.NET website.

After creating that website on Azure, you can connect your website in Visual Studio with your website on Azure. When they’re connected, you can deploy to your Azure website using the context menu of the web project within Visual Studio and your application gets published on Azure with a single click. That’s pretty cool and I might write more about it in the future.

Other products of the ASP.NET family

After some time, I realized that there are other parts of the ASP.NET product family which are worth trying out. So I tried ASP.NET WebAPI, ASP.NET MVC, and SignalR as well. I won’t tell you about my experience with those two products in this post, but I want to make sure that I mention those essential parts of the ASP.NET family here.

Conclusion

My goal for this post was to give an overview of what is possible on the Microsoft side of web application development nowadays and what I thought would be from my past experience. I would highly recommend anyone who has read so far to try it yourself. If you don’t like it, you can get a completely new view on the Microsoft side of web development.

Further reading and videos

If you like to learn more about ASP.NET, I can recommend the following resources which can help to get started in a very short period of time:

 

 

Claudio Bernasconi

I'm an enthusiastic Software Engineer with a passion for teaching .NET development on YouTube, writing articles about my journey on my blog, and making people smile.