At the end of 1990, CERN scientist Tim Berners-Lee invented the World Wide Web on the basis of the world's largest computer network-the Internet. From then on, you can browse web files on the Internet. The earliest web pages can only be viewed in the terminal of the operating system, that is to say, only the command line can be used. The web pages are displayed in a character window, which is of course very inconvenient.
At the end of 1992, the National Center for Supercomputer Applications (NCSA) began to develop an independent browser called Mosaic. This is the first browser in the history of mankind. From then on, the web page can be browsed in the window of the graphical interface.
In October 1994, a major NCSA programmer Marc Andreessen and venture capitalist Jim Clark established Mosaic Communications (Mosaic Communications), which soon changed its name to Netscape. The direction of this company is to develop a new generation of browser Netscape Navigator for ordinary users on the basis of Mosaic.
In December 1994, Navigator released version 1.0, with a market share of over 90% in one fell swoop.
Netscape quickly discovered that the Navigator browser needed a scripting language that could be embedded in web pages to control browser behavior. At that time, the Internet speed was very slow and the Internet fee was very expensive, and some operations should not be done on the server side. For example, if the user forgets to fill in the "user name" and clicks the "send" button, it is a bit too late to find this on the server. It is best to tell the user "please fill in the user name" before the user sends the data. This requires embedding a small program in the web page, allowing the browser to check whether each column is filled in.
The management's vision for this browser scripting language is: the function does not need to be too strong, the syntax is relatively simple, and it is easy to learn and deploy. That year coincided with the advent of Sun's Java language, and the marketing activities were very successful. Netscape decided to cooperate with Sun, the browser supports embedded Java applet (later called Java applet). However, there is controversy over whether or not to use Java as the browser scripting language. Later, I decided not to use Java because the web applet does not require the "heavy" syntax of Java. However, it is also decided that the syntax of the scripting language should be close to Java and can support Java programs. These ideas directly preclude the use of existing languages such as Perl, Python, and TCL.
In 1995, Netscape hired programmer Brendan Eich to develop this web scripting language. Brendan Eich has a strong background in functional programming and hopes to implement this new language based on the Scheme language (a dialect of the LISP language, the originator of the functional language).
In May 1995, Brendan Eich designed and completed the first version of this language in only 10 days. It is a hodgepodge, with multiple sources of grammar.
-Basic syntax: draw lessons from C language and Java language. -Data structure: Drawing lessons from the Java language, including dividing values into primitive values and objects. -Usage of functions: Learn from Scheme language and Awk language, treat functions as first-class citizens, and introduce closures. -Prototype inheritance model: borrowing from the Self language (a variant of Smalltalk). -Regular expression: Borrowing from Perl language. -String and array processing: learn from Python language.
The ECMA-262 standard was later approved by another International Organization for Standardization (ISO), and the standard number is ISO-16262.
In July 1997, ECMAScript 1.0 was released.
In June 1998, ECMAScript version 2.0 was released.
In July 2008, due to the fact that the parties had too much disagreement on what features should be included in the next version, and the debate was too radical, ECMA decided to suspend the development of ECMAScript 4.0 (that is, to abolish this version), and it will involve the improvement of existing functions. A small part was released as ECMAScript 3.1, and other radical ideas were expanded into later versions. Due to the atmosphere of the meeting, the project code of this version was named Harmony. Soon after the meeting, ECMAScript 3.1 was renamed ECMAScript 5.
In June 2011, ECMAScript version 5.1 was released and became an ISO international standard (ISO/IEC 16262:2011). By the end of 2012, all major browsers supported all the features of ECMAScript version 5.1.
In March 2013, the ECMAScript 6 draft was frozen and no new features were added. The new features will be put into ECMAScript 7.
In December 2013, ECMAScript 6 draft was released. Then there was a 12-month discussion period to listen to feedback from all parties.
In June 2015, ECMAScript 6 was officially released and was renamed "ECMAScript 2015". This is because the TC39 committee plans to release a version of ECMAScript every year in the future, the next version will be released in 2016, called "ECMAScript 2016", in 2017, "ECMAScript 2017" will be released, and so on.
In 1996, the first version of the CSS style sheet standard was released.
In 1997, DHTML (Dynamic HTML, dynamic HTML) was released, allowing the content of web pages to be changed dynamically. This marks the official application of the DOM model (Document Object Model).
In 1998, Netscape company open sourced the browser, which led to the birth of the Mozilla project. A few months later, AOL announced the acquisition of Netscape.
In 2000, the KDE project rewrote the browser engine KHTML, laying the foundation for the later WebKit and Blink engines. On October 23 of this year, KDE 2.0 was released, and the KHTML browser was included for the first time.
In 2001, after a lapse of five years, Microsoft released Internet Explorer 6, the next version of the Internet Explorer browser. This was the most advanced browser at the time, and it later dominated the browser market for many years.
In 2002, the Mozilla Project released the first version of its browser, which was later named Firefox.
In 2003, Apple released the first version of the Safari browser.
In 2004, Google released Gmail, which led to the birth of the concept of Internet applications (Web Application). Since Gmail was released on April 1, many people thought it was just a joke at first.
In 2004, the WHATWG organization was established to accelerate the standardization process of the HTML language.
In 2005, Apple established the WebKit engine based on the KHTML engine.
In 2006, Microsoft released IE 7, marking the restart of browser development.
In 2012, the single-page app framework (single-page app framework) began to rise, and both the AngularJS project and the Ember project released version 1.0.
In 2013, ECMA officially launched the [International Standard] of JSON (http://www.ecma-international.org/publications/standards/Ecma-404.htm), which means that the JSON format has become as important and important as the XML format. It's official.
In May 2013, Facebook released React, the UI framework library, introduced a new JSX syntax, which enabled the UI layer to be developed with components, and introduced the concept that web applications are state machines.
In November 2014, due to dissatisfaction with Joyent's monopoly on the Node project and the slow progress of the project, some core developers left Node.js and created the io.js project, which is a more open and updated Node. The js version was released to version 2.0 in a short time. Three months later, Joyent announced that it gave up control of the Node project and transferred it to the newly established and open Node Foundation. Subsequently, the io.js project announced its return to Node, and the two versions will be merged.
In May 2015, Google's Polymer framework released version 1.0. The goal of this project is that the production environment can use WebComponent components. If the goal can be achieved, Web development will enter a new stage of component-based development.
In June 2016, the "ECMAScript 2016 Standard" was released. Compared with the version released the previous year, it only adds two minor features.
In June 2017, the "ECMAScript 2017 Standard" was released, and the async function was officially introduced, resulting in a fundamental change in the writing of asynchronous operations.