A Brief History
The ‘90s had their own specific version of Internet. Let’s call it 0.9. It consisted of servers filled with HTML documents that were accessed by users via their web browsers. In those days, users were “browsing” the Internet.
Some years later someone had an idea to generate HTML pages on-the-fly right on the web server. Users were able to “browse” to dynamically-created and personalized content. This was a revolution.
HTML generation became more and more sophisticated and finally someone started calling it “server side programming” and these generated web pages became “web applications.” Internet 1.0 was born. Users were now “using” web application in their web “browsers.”
I got my first job at the dawn of Internet 1.0. Server side programming was so obvious at that time. It was often compared to old-school desktop applications; “no more installation problems” and so on. However, it had its own problems. First of all, it really sucked in terms of UX. Also, user interactions were slow. But people got used to server side programming despite its cons.
Server Side Programming Characteristics
There a few common components of server side programming besides the technology used:
- handling HTTP requests (frontend controller)
- emitting HTML pages (templates, embedded solutions)
- accessing a data store (SQL database, file and so one)
- tracking users (cookie sessions)
- implementing business logic
All of these components are programmed in a specific language, for example Perl, Java, PHP, Python, Ruby, or Erlang. Almost every language supports web programming. Different syntax, same semantics.
Web Browsers Grow Up
Meanwhile, browsers didn’t stop evolving. Gmail showed us how to use browsers differently and brought a fresh approach to UI. It’s called SPA (Single page application) and it relies heavily on AJAX calls. Nowadays, we can do a lot of more in a browser than we could in the beginning of Internet 1.0. Yes, I know we are living in the age of Internet 2.0. This it rather a culture shift than a technology shift. We’re still waiting for a technology paradigm shift. Personally, I would stop calling a browser a “browser.” These days it should be called an internet client or even better, a cloud client.
Server Side Programming Today
Most desktop business applications have a two-tier architecture. #noServerSide will have the advantages of both worlds. Simpler, cheaper development (only JS/HTML/SQL), a rich UI equivalent to a desktop application, and no installation required.
What Do You Think About It?