The web has changed quite rapidly in the past 20 years. More and more logic is moved from the server side to the client side. Not only does it require writing more complex JavaScript code on the client side, but something strange has happened in recent years: JavaScript is moving to the server, and web technology is moving to the desktop. This is nothing new, but who would have thought of this 20 years ago?
The web has changed, so my technology stack has also changed. It seems that my stack has changed back to roots. 20 years ago I started with HTML and JavaScript and moved on to classic ASP using VBScript. In 2001, I became obsessed with ASP.NET and VB.NET and used them in products. I stopped doing this until the end of 2006. At the end of 2007, I started writing ASP.NET in C#. HTML and JavaScript were still involved, but were more or less encapsulated in third-party controls, and jQuery was an alias for JavaScript at the time. Everything about JavaScript is jQuery. ASP.NET WebForms feels huge and not very flexible, but it works effectively. Later - in 2010 - I was doing a lot of stuff with Silverlight, WinForms and WPF.
ASP.NET MVC appeared, and the web began to feel more natural again than ASP.NET WebForms. From an ASP.NET developer's perspective, the web starts to get better: cleaner, more flexible, lighter and more natural.
But something new has also emerged. Something from outside the ASP.NET world. Powerful JavaScript libraries like KnockOut, Backbone, and later Angular and React. The first single page application framework (sorry, I don't want to mention the crappy ASP.NET AJAX...) appeared, and the UI logic was moved from the server to the client. (Okay, we did get a cool SPA back in 2005, but we hadn't figured out how to create a framework with it.)
NodeJS changes the world again by using JavaScript on the server. You only need two different languages (HTML and JavaScript) to create cool web applications. I'm not really interested in NodeJS, except for using it on the backend, since some tools are based on NodeJS. Maybe it's a bug, who knows; )
Now that we have ASP.NET Core, this feels much more natural than traditional ASP.NET MVC. The so-called natural in this case means that it feels almost the same as writing traditional ASP. This means working with the stateless web rather than trying to fix it. Using Request and Response works more directly than traditional ASP.NET MVC, and even more directly than ASP.NET WebForms. Natural doesn't mean you have to write the same unstructured nonsense as traditional ASP. ; )
Because we already have a very cool client-side JavaScript framework. With a simplified, minimalist server-side framework, the server part is reduced to just serving static files and data on a REST service.
It is at this time that it makes sense to have a deeper understanding of TypeScript. But as of this point in time, it doesn’t make sense to me. I've been coding in JavaScript for probably 20 years, but I've never written so much JavaScript code in a single project. Then, over the past few years I started using AngularJS. Angular2 is one reason why TypeScript should be studied carefully, because the current Angular2 is completely written in TypeScript.
A few weeks ago, I launched my first real NodeJS project: a desktop application that uses NodeJS to provide users with a highly flexible scripting runtime. NodeJS provides functionality and UI to users, all written in TypeScript instead of plain JavaScript. Why? Because TypeScript has many unexpected benefits:
It’s still possible to write JavaScript
Help to write small modules and structured code
Help to write NodeJS Compatible modules
#Generally speaking, there is no need to write all the JavaScript code for each module
Just focus on the functionality you need to write
This is why TypeScript is a big helper for me. Of course typed languages are useful in many situations, but - after working with JS for 20 years - I like the flexibility of the implicitly typed JavaScript language, and I'm familiar with it. This means that, from my perspective, the great thing about TypeScript is that I can still write implicitly typed code in TypeScript and take advantage of the flexibility of JavaScript. That's why I said "it's still possible to write JavaScript".
Web technology has changed, my technology stack has changed, and so have the tools. All of these things are becoming lighter, along with the tools. The console is back, and IDEs are back to their roots: nothing more than text editors with features like syntax highlighting and IntelliSense. Currently, I prefer to use the Swiss Army Knife of Visual Studio Code or Adobe Brackets, depending on the type of project I'm working on. Both start out very fast and include some nice features.
It's a pleasure to use a lightweight IDE. Everything is fast because the resources of the machine are available through the app I need to develop, rather than through the IDE I need to use to develop the app. This makes development much faster.
Launching an IDE today means launching cmder (my favorite console on Windows), changing the project folder, launching a console command to view the typescript file, saving it, and compiling it. I can launch another console to use tools like NPM, gulp, typings, dotnet CLI, NodeJS, etc. as well as launch my favorite lightweight editor to write code! : )
Original text: How Web Development Changed for Me Over the Last 20 Years
The above is the detailed content of How web development has changed over the past 20+ years. For more information, please follow other related articles on the PHP Chinese website!