Lovefield

Front End 입문자를 위한 이론 정리 - 언어의 역사

2017-12-20 | Front End

HTML

HTML이란?

Hyper Text 와 Markup Language 의 합성어.

- Hyper Text

하이퍼 텍스트란 하이퍼 링크를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다.

- Markup Language

마크업 언어는 태그 등을 이용하여 문서나 데이터의 구조를 명시하는 언어의 한 가지이다.

즉 HTML은 하이퍼 텍스트로 이루어진 데이터 체계를 명시하는 언어이다.

HTML(Hyper Text Markup Language)은 Wold Wide Web(www)을 위한 마크업 언어 이며, 제목이나 문단, 표, 꼬리글 및 기타 요소를 이용하여 콘텐츠 구조를 정의함으로써 웹 문서를 만드는 기능을 제공한다.

HTML의 역사

팀 버너스 리(Tim Berners Lee)가 1989년 제안

1991년 HTML1

1995년 HTML2

1997년 1월 HTML3

1997년 12월 HTML4

2007년 HTML5 발행

2014년 HTML5 권고안 지정

2017년 12월 14일 HTML5.2 릴리즈

- W3C(1994년) 재단 창설 : W3C는 웹표준 및 HTML 표준을 지정하는 기관.

HTML5의 등장 배경

HTML4 이후 각 웹브라우저 제조사들은 독자적인 언어와 플러그인을 추가하여 자신들의 브라우저를 발전시킴과 동시에 W3C는 XHTML이라는 새로운 언어를 개발하기 시작했다. 이에 웹브라우저 제작사들은 새로운 언어인 XHTML에 따라 다시 브라우저를 개발해야하고 각 브라우저마다 다른 표현으로 인해 하나의 웹 문서가 각 브라우저마다 다르게 보이는 문제점이 생겼다. 그로인해 WHATWG라는 새로운 웹 표준 기관이 설립되고,  W3C 는 2009년 XHTML을 폐기하고 WHATWG의 요구사항을 받아들여 HTML5개발을 시작했다.

-WHATWG : 마이크로 소프트를 제외한 애플, 모질라, 오페라 등의 브라우저 기업들이 설립한 독자적인 웹 표준 기관.

W3C의 XHTML의 호환성 문제에 대해 반발하여 업계의 요구를 수용한 새로운 웹 표준을 제공하기 위해 설립됨.

CSS(Cascading Style Sheets)

CSS란?

CSS는 마크업 언어(Markup Language)의 표현 방법을 기술하는 언어로, 미리 정해진 요소를 조합하여 마크업 언어가 전달하고자 하는 내용을 꾸미는 언어이다.

CSS의 역사

하쿰 비움 리가 1994년 제안

1996년 CSS1

1998년 CSS2

2005년 CSS3 발표후 개발 중

W3C에서 개발 현황 확인 가능

JavaScript

JavaScript란?

JavaScript는 동적으로 컨텐츠를 바꾸고, 멀티미디어를 다루고, 움직이는 이미지등 웹 페이지를 꾸며주도록 하는객체 기반 프로그래밍 언어이다.

JavaScript의 역사

1995년 넷스케이프 네비게이터(기관)가 브라우저 점유율을 장악하고 있는 환경에서 디자이너와 초보를 위한인터렉션 언어 javascript를 제작했다. 1996년 표준화 작업 시작 이후에는 ECMAScript 라고 불리게되며, 새로나온JavaScript 표준안인 ECMAScript 6를 줄여서 ES6라고 부르고 있다.

초기 JavaScript는 웹 브라우저 안에서 돌아가며, 주로 웹 페이지에 효과를 주거나 기능을 향상시키는 목적으로 사용했으나 2009년 node.js의 등장으로 상황이 바뀐다.

Ryan Lienhart Dahl이 2009년 처음 만든 node.js는 서버에서 동작하는 JavaScript 프레임워크로, 이후 DB - 서버 - 클라이언트를 모두 JavaScript로 구성 할 수 있게 되면서 JavaScript의 영역을 넓힐 수 있는 계기를 만들었다.

LAMP stack(Linux, Apache, MySQL, PHP/Python/Perl) 을 대체할 수 있는 MEAN stack(MongoDB, Express.js, Angular.js, Node.js)가 부각되었으며 개발 언어 전체를 JavaScript로 단일화 할 수 있으면서 DB에서 들고온 JSON을 클라이언트로 넘기는데에 별다른 처리 없이 자연스럽게 전달할 수 있게 되었다. 이로인해 현재는 V8엔진등과 같은 기술을 기반으로 서버(node.js 등) 와 클라이언트(electron 등), 어플리케이션(React native 등) 여러분야 에서 사용되고 있다.