웹페이지를 만드는 공부를 하다보면
HTML, CSS, JavaScript 순서로 공부를 진행하게 된다.
문법을 공부하기에 앞서 JS가 어떤 언어인지,
어떤 배경에서 탄생했고, 어떻게 활용되고 있는지를
먼저 공부확인하고 공부하면 좋을 것 같아 조사를 진행했다.
자바스크립트는 객체지향 스크립트 언어로 웹페이지의 동작을 담당한다.
웹 페이지에서 사용자로부터 특정 이벤트나 입력값을 받아 동적인 처리를 목적으로 고안된 객체 기반의 스크립트 프로그래밍 언어이다.
예를 들면, 마우스를 HTML 문서의 특정 이미지나 텍스트 위로 가져갔을 때 이미지나 텍스트가 바뀌거나 움직이는 것을 제어한다.
자바스크립트는 1995년 미국의 넷스케이프 커뮤니케이션즈(Netscape Communications)에서 처음 개발되었다. 인터넷 대중화 초기인 1995년 당시 넷스케이프사의 Navigator는 웹 브라우저의 표준이었는데 이때까지만해도 Internet Explorer가 대중화 되기 전이었다.
넷스케이프 사는 당시 정적이던 HTML로 이루어진 웹페이지들을 경량 프로그램을 통해 동적으로 제어하기 위해 새로운 언어를 개발하기로 계획하고 Brendan Eich(브랜든 아이크)를 고용하였다.
그는 10일만에 "Mocha"라는 이름으로 언어를 개발하였고, 그해 9월 "LiveScript"로 바꿨다가 12월에 "JavaScript"라는 이름으로 바꿨다. 당시 Java의 유명세를 이용하여 마케팅차원으로 이름을 변경한 것이다.
자바스크립트의 잠재력을 확인한 마이크로소프트에서 이를 분석하여 비슷한 언어인 "Jscript"를 출시하였고, 우후 죽순으로 비슷한 언어들이 생겨나자 모든 브라우저에서 동작하기 위한 웹페이지를 만들기위해 개발자들이 어려움을 겪었고, 넷스케이프 사는 이 언어들을 표준화를 하기 위해 표준화 기구인 ECMA International에 요청하여 1997년 ECMAscript가 탄생하였다.
이후 자바스크립트에 대한 표준과 명세를 ECMA International에서 담당하고 있고, ECMAscript는 자바스크립트의 표준화된 버전이며, ES6 처럼 버전명이나 ES2015같은 연도를 붙이기도 한다. 현재 ES2019가 최신 버전이다.
앵귤라.JS
앵귤라JS(Angular.js)는 웹 애플리케이션 프레임워크로, 개발과 테스트 환경을 단순화시킨 기술이다. 구글이 직접 만들었으며, 현재 버전은 2.0까지 나왔다. 해외에는 ‘앵귤라JS잡닷컴’이라는 구직 웹사이트가 있을 정도로 앵귤라JS의 인기는 높다. 앵귤라JS는 제이쿼리나 자바스크립트 UI 컴포넌트를 쉽게 재사용할 수 있다. 양방향 데이터 바인딩을 통해 불필요한 코드를 제거해 향후 유지보수를 쉽게 할 수 있는 장점도 지녔다.
D3.JS
D3는 ‘Data Drivened Document’(데이터 기반 문서)의 약자로, 자바스크립트 라이브러리다. 데이터와 이미지를 함께 묶어 표현해줘 데이터 시각화를 웹페이지에서 표현할 때 많이 사용된다.
노드JS
노드JS(Node.js)는 자바스크립트 엔진 ‘V8’ 위에서 동작하는 이벤트 처리 I/O 프레임워크다. 서버 환경에서 자바스크립트로 애플리케이션을 작성할 수 있게 돕는다. 노드JS의 장점은 비동기 프로그래밍이다. 동기 프로그래밍은 무엇인가 요청하면 결과를 즉시 받는 것을 의미한다. 비동기는 이벤트를 요청하고 바로 결과를 받지 않아도 된다. 따라서 결과값을 기다리지 않고 보다 다양한 요청을 처리할 수 있다. 웹 분야에서는 비동기 프로그래밍을 쓰는 경우가 드물었는데, 노드JS로 비동기 프로그래밍을 비교적 쉽게 할 수 있게 됐다.
리액트JS
리액트 JS(React.js)는 사용자 인터페이스를 만들기 위한 자바스크립트 라이브러리다. 페이스북이 만든 기술로, 2013년에 공개됐다. 커스텀 태그, 가상 DOM, 단방향 데이터 바인딩 기능을 제공해 주목을 받고 있다. 실제로 워드프레스, 넷플릭스가 리액트JS를 사용하고 있다고 밝히기도 했다. 리액트JS 기술 중 일부는 모바일 쪽에서 활용되고 있다.
[네이버 지식백과] 자바스크립트 [Javascript]