Why I've switched from .NET to TypeScript for most of my development

A story about future-proofing the business and software

Up until a couple of weeks ago, I had been working mostly with C# and the .NET Framework. This was because these were the technologies I was used to developing with, they could get the job done, and I enjoyed working with that set of technologies.

However, after finishing one of my MVP's (a portal I'm working on), I decided to start developing the actual project. But I decided to develop it using TypeScript instead of the originally planned C#.

Why did I choose to change technologies?

The answer is simple. I had to do JavaScript, so I thought it would be much simpler if I just used JavaScript for all of it.

Not only is there a plethora of JavaScript developers out there, which I took into consideration since I am expecting that one day more developers will join me in developing solutions for the company, but JavaScript is also extremely easy to pick up for non-JS developers.

On top of that, the community around it is robust, and it's a very flexible technology with a ton of libraries that can be used to develop an excellent product.

However, I was really missing the C# type system. I enjoy using strongly typed languages, since it allows me to not make any stupid mistakes.

It also allows me to have consistent returns in my functions (and that I'm not returning a number when I really meant to return a string).

So now my projects are entirely written in TypeScript wherever possible. It means that all my projects can have a consistent style guide, consistent rules, they're all using the same technologies and can reuse different components.

Finally, I feel like moving onto NodeJS and potentially Deno at some point is a way to future-proof the company software, alongside building my software with a microservice architecture.

Thanks for reading!