Introduction: A look at the history of the WEB
I have unconsciously experienced half of the historical evolution of the WEB during my study in school and several years of work. I have a better understanding of the development of the WEB in recent years.
Evolution is not easy, but it is inevitable, because people always want to improve.
History of the WEB
First, the founder of the Mountain – Stone Age
A static web site
This is Apple’s website in 1997, and the website at that time was more like a web page, like a flashy color newspaper. It was pure HTML, and every page existed on the server, whether you visited the page or not.
CGI technology
Later, a more technical web site might run a small piece of code through CGI Perl to interact with a database or file system. Such as:
1998
A static page
CGI
Static sites are the most popular with search engines, because they are relatively fixed, so SEO is very easy to do, and I guess this is one of the reasons why most document sites are static.
Too bad I didn’t get to see it with my own eyes
Two, predecessors planted trees – civilization era
Asp and JSP
Around 2005, Microsoft’s ASP and Java Server Pages [JSP] technologies successively emerged, replacing CGI, enhancing the security of WEB and Server interaction, and making it easier to use, but with the complexity of each company’s WEB business, shortcomings are gradually exposed:
1, single technology, difficult to maintain
A JSP page consists of HTML code and embedded Java code, using a common JSP snippet as an example:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+": / /"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page import="com.zifangsky.OnlineFriend.model.article.ShowByPage"%>
<jsp:useBean id="showAllTitle" type="com.zifangsky.OnlineFriend.model.article.ShowByPage" scope="session"/>
Copy the code
JSP = HTML+Java
The above code HTML is heavily coupled with JAVA code, which can act as part of the server on the client side after being compiled by JSP. This makes it difficult to understand the role of the server and increases the complexity of debugging. To make the business a little more complicated, think about it: There’s so much Java code in THE HTML that it’s a pain to develop and maintain.
JSPS, like Java servlets, are executed on the server side and usually return an HTML text to the client. Every time we requested data and loaded content, the server returned the DOM for us after dyeing, which greatly reduced the flexibility of our website development. In this case, in the same year: Ajax became popular.
The emergence of AJAX
Why did Ajax catch on in 2005? Ajax wasn’t invented in 2005, it was invented in 1999.
In 1999, Microsoft released Internet Explorer 5, which for the first time introduced a new feature that allowed javascript scripts to make HTTP requests to servers (the original of today’s infamous ActiveX). The feature didn’t get much attention until the launch of Gmail in 2004 and Google Map in 2005
What did Google do? In 2005, Google made AJAX popular with Its Google Suggest, which went something like this:
Technology, now common, quickly exploded the technosphere to achieve: Since then, AJAX has become a synonym for scripting to initiate HTTP communication. The following year, W3C also released AJAX international standard in 2006
Conclusion:
Subsequently, a variety of JSP ASP improved template engine, a new way of interaction is also springing up. In addition, JAVA as a server has also emerged such as Struts, Spring, Hibernate, the older generation of frameworks, the use of back-end MVC to build WEB applications more sound, WEB services are gradually from the Stone Age to the age of civilization.
3. Simplify complexity – Industrial Revolution era
As time flies, there are several trends in front and back.
The front-end development
The mobile terminal
The mobile phone has developed a little bit, and the web has differentiated between web and mobile applications, but mobile is limited to the technology of the mobile industry at the time and has been slow to develop.
The emergence of the Jquery
A very popular JavaScript library, jquery, can quickly build dynamic and beautiful Web applications, perfectly encapsulating Ajax and making web development elegant for developers.
The prototype of the SPA
With the formal introduction of Ajax in civilization era and the extensive Application of CDN for static resource storage, SPA (Single Page Application) emerged, Backbone EmberJS AngularJS and other front-end frameworks emerged. However, in terms of supporting technologies at that time, SPA was not an easy path: SEO problems, excessive PAGES in SPA, VIEW binding in complex scenes, etc., were not well handled.
The backend development
After several years of development of Struts, Spring and Hibernate, SSM, a worded word today, almost became the primary selection of JAVA server at that time. I think this is also the main reason why many companies or outsourcing companies still maintain such a set of architecture.
To sum up, the rapid development in recent years has saved us a lot of experience, lowered the threshold of developers and development process, and greatly improved the development efficiency and iteration speed. I call it the Industrial Era
experience
You may not believe it: at the end of my junior year, I got my first job as an intern. I worked for 7 or 8 months on and off by myself. I studied these technologies and independently developed a Web application called Micro Treasure.
Project architecture from civilization -> to the last industrial age! I continued to rebuild, go online and study hard. I am very grateful to my boss for his trust in me and my colleagues for their help.
Four, a hundred schools of Thought contend – technology big bang era
Time, he never stopped, until today — technology can only be described as an explosion.
The front bang
SPA model proposed in the industrial era With the rise of NODE, the rapid development of server, various tools and containers, the front-end MVC MVVM mode is gradually clear, and a number of excellent open source projects emerge in the front-end: Package management: NPM YARN packaging: Grunt gulp module loading: RequireJS SeaJs Framework: VUE Angular React Hybrid: Ionic WEEx React-Native Electron preprocessor: Less SASS Echarts HCharts and animation to improve user experience, let us have more “face”
Even the front end can use Node to build its own simple server and is moving away from being a “client developer.
The back-end explosion
go
More suitable for server oriented programming, if you use C or C++ to do those things, use Go to do, such as virtual machine processing, file system, etc., strong like Docker Kubernetes (K8s) are written by Go
python
Like a biological language, it is now easier to deal with algorithms, artificial intelligence, web crawlers, operations and maintenance
java
A language that has been around for more than 20 years is getting stronger. A number of high-quality libraries have emerged, some of which are representative:
Netty RebbitMQ: easy to implement message queue elasticSearch: easy to implement search engine Spring-boot: easy to implement configuration oriented Web server Spring-cloud, dubbo: easy to implement microservices
And the coming formidable JAVA11
There are operations related to continuous integration of cloud services such as Devops
conclusion
The advent of Go and Python has enabled us server-side developers to do more things, such as automating operations and writing middleware. Gradually inclined to the direction of full stack development. The development of the JAVA ecosystem over the past 20 years has helped us write more robust services. We are dazzled by artificial intelligence, DevOps, cloud services, etc. Open source has become a trend, and technology sharing has become something everyone wants to do. I call it the age of technology explosion
experience
In the past two years, I have been very worried: how to make the front and back end more elegant communication?
I used a variety of back-end template engines until they were completely abandoned, and then went to Node for proxy, rendering + grunt for number processing, and then gradually used them
vue + webpack ——> Rest API
If you have to use NODE, you’ll just be a part of Rest and not have to communicate through NODE. This separation of front and back is satisfactory, so the front end doesn’t have to deal with the back end. Back end? Just write up your own service.
This chapter is just a brief review of the history of development, and we’ll go into more detail in the next chapter, The Beginning: In Depth on the Architecture of separation before and after
About me
-
Currently writing the “Before and after Building from Zero” series, proofread or update this address
-
Constantly updated project practice address
-
Easter Eggs: Preview the next chapter portal 🤓