How Typescript changed my perspective on, and abilities in, modern web development

Publish date:

Using Typescript our team was able to deliver next-generation user experience for a web-based application for a large automotive company.

Source: https://www.freeimages.com/photo/jigsaw-puzzle-1191688

I’m an object-oriented programmer.

Strange sentence. What does that mean? Most people will think I create programs in object-oriented languages, like C# (which I do). But there is a deeper meaning in this sentence. I think objects. I think instances. I think properties, and methods, and getters, and setters, and inheritance, and all those nice things that you can read about in books on object-oriented languages.

Further on in my career, I began to realize that object orientation is something that I have done all my working life. Even when programming in Clipper back in the day, I was always thinking objects. I couldn’t simply create an entry form for an administrative application. No, I needed to create a screen designer, having objects (e.g., fields + labels) on the form, linked to database fields which would get their own content. Of course, this was quite difficult to do in an environment such as Clipper but you would end up with a very versatile and clean application.

From Smalltalk and Delphi (Pascal) I ended up using C# and .Net. That’s been my playing field for the last 10 years or so and it suits me very well. The language constructs simply fit like a glove and I can create just about anything that pops into my head in a clean and proper way.

But, modern times demand that we create web applications. Let’s not get into whether this is a good or bad thing. With web applications, you have to have Javascript and there’s no getting around it. It’s the thing that drives 99% of the applications in your browser and if you want to make any impact as a software developer you’ll have to touch it. I know there’s MVC and a bunch of other technologies out there, but Javascript is important to the WWW world. There is no getting around it (there, I said it twice).

I just couldn’t. I hated it. It drove me nuts and made me very grumpy. I once uttered the legendary words: “If I ever create a Javascript in my professional career I will quit and start selling curries.” (You should know that I love curries, so that wouldn’t be such a bad career move for me.) Perhaps, we can discuss that particular business idea later. But coming back to Javascript, whenever anybody says: “I’ve created this Javascript object,” there’s always this monkey on my back that yells: “No, it is not! It’s a variable! It’s a string! It’s nothing!” I’ve grown up a bit, but I’m still not selling curries for a living.

Then came Typescript. This guy Anders Hejlsberg is something else, right? I mean: Delphi, C#, Typescript. I can see the analogy to my own career here. Typescript completely changed my view on the web world. Where previously I struggled (as in the Clipper days) to put my ideas into the computer through Javascript, Typescript saved my day. From the moment I started using and thinking Typescript, all of a sudden I could create a Javascript app! As long as I had this tool I could use it to translate my object-oriented thinking into the Javascript world of variables, string, functions, and evals – and Microsoft is still working on improving the support in Visual Studio for it. Let’s pray that it never goes away again. I would never, ever, think of renaming a variable in a big Javascript app. With Typescript and the support in Visual Studio, it is as easy as Ctrl+R, Ctrl+R.

I don’t want to exaggerate, but I genuinely think that Typescript saved my life. Where previously I stayed in the typed and compiled world of desktop apps using the wonderful MVVM concepts, I could now delve into the wonderful, worldwide web. Typescript helped me with this and above all, brought back the joy of creating a web front end for an application.

At Capgemini, I have worked on multiple web application projects and, with my team, we have delivered some exceptional results. As an example: using the power of a team in India we created a next-generation UX for a web-based application for a large automotive company. Using Typescript and Angular in that project made our lives so much easier and it truly helps us to deliver a better solution for our customers.

So, there you have it. I love Typescript because I think and breathe objects. Typescript enables me to create web apps. Nothing more, but certainly nothing less. Connect with me if you too, love working with Typescript and to get to know about the web-based solutions Capgemini can provide.