How web development has changed over the past 20+ years
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Python web development framework comparison: DjangovsFlaskvsFastAPI Introduction: In Python, a popular programming language, there are many excellent web development frameworks to choose from. This article will focus on comparing three popular Python web frameworks: Django, Flask and FastAPI. By comparing their features, usage scenarios and code examples, it helps readers better choose the framework that suits their project needs. 1. Django

With the continuous development of Web development technology, more and more developers are beginning to look for more flexible and efficient template engines to develop Web applications. Among them, Twig is a very excellent and popular PHP template engine. It is developed based on the Symfony framework and supports unlimited expansion. It is very suitable for building complex web applications. This article will introduce how to use the Twig template engine for web development in PHP. 1. Introduction to Twig template engine Twig is developed by FabienPoten

MySQL and PostgreSQL: Best Practices in Web Development Introduction: In the modern world of web development, databases are an essential component. When choosing a database, common choices are MySQL and PostgreSQL. This article will cover best practices for using MySQL and PostgreSQL in web development and provide some code examples. 1. Applicable scenarios MySQL is suitable for most web applications, especially those that require high performance, scalability and ease of use.

In this series, we will discuss how to build web applications using WordPress. Although this is not a technical series where we will look at code, we cover topics such as frameworks, fundamentals, design patterns, architecture, and more. If you haven’t read the first article in the series, I recommend it; however, for the purposes of this article, we can summarize the previous article as follows: In short, software can be built on frameworks, software can Extend the base. Simply put, we distinguish between framework and foundation—two terms that are often used interchangeably in software, even though they are not the same thing. WordPress is a foundation because it is an application in itself. It's not a framework. For this reason, when it comes to WordPress

The advantages of C++ in web development include speed, performance, and low-level access, while limitations include a steep learning curve and memory management requirements. When choosing a web development language, developers should consider the advantages and limitations of C++ based on application needs.

To use C++ for web development, you need to use frameworks that support C++ web application development, such as Boost.ASIO, Beast, and cpp-netlib. In the development environment, you need to install a C++ compiler, text editor or IDE, and web framework. Create a web server, for example using Boost.ASIO. Handle user requests, including parsing HTTP requests, generating responses, and sending them back to the client. HTTP requests can be parsed using the Beast library. Finally, a simple web application can be developed, such as using the cpp-netlib library to create a REST API, implementing endpoints that handle HTTP GET and POST requests, and using J

C++ Web development requires mastering the basics of C++ programming, network protocols, and database knowledge. Necessary resources include web frameworks such as cppcms and Pistache, database connectors such as cppdb and pqxx, and auxiliary tools such as CMake, g++, and Wireshark. By learning practical cases, such as creating a simple HTTP server, you can start your C++ Web development journey.

As a development language, Golang has the characteristics of simplicity, efficiency, and strong concurrency performance, so it has a wide range of application scenarios in software development. Some common application scenarios are introduced below. Network programming Golang is excellent in network programming and is particularly suitable for building high-concurrency and high-performance servers. It provides a rich network library, and developers can easily program TCP, HTTP, WebSocket and other protocols. Golang's Goroutine mechanism allows developers to easily program
