How Web Development Changed for Me Over the Last 20 Years

DZone 's Guide to

How Web Development Changed for Me Over the Last 20 Years

A wonderful overview of a 20 year journey through web development, from static sites through to TypeScript.

· Web Dev Zone ·
Free Resource

The web has changed pretty quickly within the last 20 years. More and more logic moves from the server side to the client side. More complex JavaScript needs to be written on the client side, and something freaky happened in the last few years: JavaScript was moving to the server and Web technology was moving to the desktop. That is nothing new now, but who was thinking about that 20 years ago?

The web changed, but so did my technology stack. It seems my stack changed back to the roots. 20 years ago, I started with HTML and JavaScript, moving forward to classic ASP using VBScript. In 2001 I started playing around with ASP.NET and VB.NET and used it in in production until the end of 2006. In 2007 I started writing ASP.NET using C#. HTML and JavaScript was still involved, but more or less wrapped in third party controls, and jQuery was an alias for JavaScript at that time. Everything about JavaScript was just jQuery. ASP.NET WebForms felt pretty huge and not very flexible, but it worked. Later — in 2010 — I did a lot stuff with SilverLight, WinForms,  and WPF.

ASP.NET MVC came out and the web stuff started to feel little more natural again than ASP.NET WebForms. From an ASP.NET developer perspective, the web started to get better: more clean, flexible, lightweight, and natural.

But there was something new coming up. Things from outside the ASP.NET world. Strong JavaScript libraries, like KnockOut, Backbone, and later on Angular and React. The First Single Page Application frameworks (sorry, I don't want to mention the crappy ASP.NET Ajax thing...) came up, and the UI logic moved from the server to the client. (Well, we did a pretty cool SPA back in 2005, but we didn't think about how to create a framework out of it.)

NodeJS changed the world again by using JavaScript on the server. You just needed two different languages (HTML and JavaScript) to create cool web applications. I didn't really care about NodeJS, except using it in the backend, because some tools were based on it. Maybe that was a mistake, who knows... ;)

Now we have ASP.NET Core, which feels a lot more natural than the classic ASP.NET MVC. Natural in this case means that it feels almost the same as writing classic ASP. It means using and working with the stateless web, instead of trying to fix it. Working with Request and Response more directly than with the classic ASP.NET MVC and even more than in ASP.NET WebForms. Natural doesn't mean you have to write the same unstructured, crap like with classic ASP. ;)

Since we got the pretty cool client side JavaScript frameworks and simplified, minimalistic server side frameworks, the server part was reduced to just serve static files and data over REST services.

This is the time when it makes sense to take a deeper look at TypeScript. Until now, it didn't make sense to me. I was writing JavaScript for around 20 years, but I never wrote so much JavaScript within a single project. Then I started using AngularJS in the last few years. Angular 2 was the reason to take a deep look at TypeScript, because now it is completely written in Typescript, and it makes absolute sense to use it.

A few weeks ago I started on my first real NodeJS project: a desktop application which uses NodeJS to provide a highly flexible scripting run-time for users. NodeJS provides the functionality and the UI to the users, all written in TypeScript instead of plain JavaScript. Why? Because TypeScript has a lot of unexpected benefits:

  • You are still able to write JavaScript
  • It helps you to write small modules and structured code
  • It helps you to write NodeJS compatible modules
  • In general you don't need to write all the JavaScript overhead code for every module
  • You will just focus on the features you need to write

This is why TypeScript is a great benefit for me. Sure a typed language is also useful in many cases, but — working with JS for 20 years — I like the flexibility of the implicit typed JavaScript, and I'm pretty familiar with it. That means, from my perspective, the good thing about TypeScript is that I'm still able to write implicit typed code in TypeScript and use the flexibility of JavaScript. This is why I wrote "You are still able to write JavaScript".

Web technology changed, my technology stack changed, and the tooling changed. All this stuff became more lightweight, even the tools. The console came back and the IDEs changed back to their roots: Just being text editors with some benefits like syntax highlighting and IntelliSense. Currently I prefer to use the "Swiss army knife" Visual Studio Code or Adobe Brackets, depending on the type of project I'm working on. Both are starting to get pretty fast and include some nice features.

Using lightweight IDEs is pure fun. Everything is fast, because the machine's resource could be used by the apps I need to develop, instead by the IDE I need to use to develop the apps. This makes development a lot faster.

Starting an IDE today means starting cmder (my favorite console on windows), changing to the project folder, starting a console command, to watching the typescript files, to compiling after save. I can start another console to use tools like NPM, gulp, typings, dotnet CLI, NodeJS, and so on; and start my favorite light weight editor to write some code! :)

libraries ,technology ,javascript ,asp.net ,developer ,mvc ,typescript ,webforms ,ajax

Published at DZone with permission of Juergen Gutsch , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}