✔️ www 탄생
인터넷으로 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보공간
✔️ HyperText 기반의 최초 웹 브라우져
HTTP 참조(Hyper Link)를 통해 한 문서에서 다른 문서로 접근할 수 있는 텍스트
1985년 스티브잡스가 애플에서 해고되고 NeXT라는 회사를 차림
NeXT 회사에서 만든 컴퓨터 NeXT cube를 가지고 팀버너스리가 www를 창시함
✔️ NCSA사 'Mosaic' 등장
✔️ NCSA(National Center for Supercomputing Applications)
1986년에 설립된 미국 국립 슈퍼컴퓨팅 응용 연구소
✔️ 그래픽 웹 브라우져
✔️ Netscape 창업, Amazon.com 창업
✔️ Netscape Navigator 출시
동적인 웹사이트를 구축하기 위해서 scripting 언어를 추가
Netscape Navigator 브라우져가 언어를 이해하고,
실행하고자 하는 곳에 알맞은 DOM 요소 조작이 가능해짐
✔️ 1994.09 LiveScript/Interpreter(=Mocha) 출시
LiveScript → JavaScript로 이름 변경
✔️ Netscape 'JavaScript/Interpreter' 출시
✔️ Microsoft 사는 Netscape Navigator Browser를 Reverse Engineering 함
Reverse Engineering : 만들어진 프로그램에 Binary Code를 역으로 분석하여 소스코드를 복원해내는 과정
✔️ Microsoft, 'Internet Explorer Browser', 'JScript/Interpreter' 출시
✔️ 1996.11 Netscape, ECMA International에 JavaScript 표준 제안
✔️ 1997.07 ECMAScript 1 language specification
브라우저에서 동작하는 언어의 문법적인 요소사항 정리한 명세서
✔️ ECMAScript 4 language specification
✔️ Microsoft 사, 'Internet Explorer Browser' 시장점유율 95%
✔️ Microsoft는 더이상 ECMAScript 표준안에 참여하지 않아 2000년 부터 표준안 진행이 더뎌지게 됨
✔️ 닷컴 버블 붕괴
✔️ moz://a, 'FireFox' 브라우져 출시
✔️ Jesse James Garrett 'AJAX(Asynchronous JavaScript and XML)'
AJAX란, JavaScript 의 라이브러리 중 하나로, 브라우저가 가지고 있는 객체를 이용해서 전체 페이지를 새로 고치지 않아도 페이지의 일부분만을 위한 데이터 로드 기법
즉, JavaScript 를 사용한 비동기 통신, 클라이언트와 서버 간에 XML 데이터를 주고받는 기술
✔️ jQuery, dojo, mootools
자바스크립트 라이브러리를 통해 다른 브라우저의 구현사항을 신경쓰지 않도록 문제해결
✔️ Facebook 창업
✔️ Apple 'iPhone' 발매
모바일 웹 대중화에 큰 영향을 끼침
✔️ Google, 'Chrome' 브라우져 출시
(+ JIT (Just-in-time compilation) 엔진)
ECMAScript 5 language specification
ECMAScript 6 language specification
ECMAScript 7 language specification
ECMAScript 8 language specification
ECMAScript 9 language specification
ECMAScript 10 language specification
Apple 시가총액 세계 1위
스티브잡스 사망
서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹애플리케이션이나 웹사이트
SPA를 쉽게 만들기 위해서는 React
, Angular
, Vue.js
라이브러리나 프레임워크를 이용
✔️ Node.js 등장
V8 자바스크립트 엔진을 이용한 back-end에서 서비스를 구현할 수 있음
✔️ React.Native나 콜더를 이용
모바일 어플리케이션 만들 수 있음
✔️ Electron을 이용
desktop 어플리케이션 만들 수 있음
✔️ Web Assembly(WA)