자바스크립트란? - JavaScript

백승찬·2023년 5월 14일
0

JavaScript

목록 보기
5/13

자바스크립트는 1995년에 Netscape Communications의 Brendan Eich에 의해 개발되었습니다. 원래는 Mocha라는 이름으로 개발되었으나, 그 후 LiveScript로 이름이 바뀌었고, 마침내 JavaScript로 정착하게 되었습니다.

그 당시 웹 브라우저 Netscape Navigator에서 동적인 웹 페이지를 제공하기 위한 목적으로 만들어졌습니다. 이는 웹 페이지에 동적인 요소를 추가하여 사용자 인터페이스를 개선하는 데 중점을 두었습니다.

JavaScript는 이름은 Java와 비슷하지만, Java와는 다른 언어입니다. 당시 Java가 인기를 끌고 있어서, 마케팅 전략의 일환으로 JavaScript라는 이름이 선택되었습니다.

JavaScript는 처음에는 클라이언트 측 스크립팅 언어로 시작했지만, 이후 Node.js와 같은 기술의 출현으로 서버 측 스크립팅에도 널리 사용되게 되었습니다. 또한 JSON (JavaScript Object Notation)이라는 데이터 형식도 JavaScript에서 파생되었으며, 현재는 데이터 전송 형식으로 널리 사용되고 있습니다.

JavaScript는 웹 개발의 주요 구성 요소 중 하나로, HTML과 CSS와 함께 웹의 세 가지 기본 기술 중 하나로 인정받고 있습니다. 이는 현대의 인터넷 환경에서 웹 애플리케이션을 만드는 데 필수적인 도구입니다.

💡 자바스크립트와 크로스 브라우징은 밀접하게 연관되어 있습니다.

  • "크로스 브라우징"이란 여러 종류의 웹 브라우저에서 웹 페이지나 웹 애플리케이션이 제대로 동작하도록 만드는 것을 말합니다. 이는 다양한 웹 브라우저들이 HTML, CSS, 자바스크립트 등을 약간씩 다르게 해석하고 처리하기 때문에 필요한 개념입니다.

  • 자바스크립트는 웹 페이지에 동적인 요소를 추가하기 위한 주요 언어입니다. 그러나 각기 다른 웹 브라우저는 자바스크립트 코드를 조금씩 다르게 해석하거나 실행할 수 있습니다. 또한, 브라우저마다 지원하는 자바스크립트의 기능이나 API가 다를 수도 있습니다.

  • 따라서 웹 개발자들은 자바스크립트 코드가 모든 주요 브라우저에서 제대로 동작하도록 "크로스 브라우징"을 고려해야 합니다. 이를 위해 자바스크립트 기능 감지, CSS 접두사 추가, 폴리필(polyfill) 사용 등 다양한 기법을 사용하게 됩니다.


ECMAScript는 자바스크립트 언어를 기술하는 표준입니다. 이 표준은 국제 표준화 기구인 ECMA International에 의해 관리되고 있습니다.

ECMAScript 표준은 자바스크립트의 문법, 타입, 객체, 함수 등과 같은 핵심 기능을 정의합니다. 이 표준을 따르면, 다양한 소프트웨어 시스템이나 엔진이 자바스크립트 코드를 일관되게 처리하고 해석할 수 있습니다.

ECMAScript는 자바스크립트의 발전과 혁신을 위한 중요한 역할을 합니다. 주기적으로 새로운 버전이 출시되며, 각 버전은 새로운 기능이나 개선사항을 도입합니다. 예를 들어, ECMAScript 2015 (ES6라고도 불림)는 클래스, 모듈, 화살표 함수, 프로미스 등 많은 중요한 기능을 자바스크립트에 도입했습니다.


Ajax

  • 자바스크립트를 이용해 서버와 브라우저가 비동기(asynchronous)방식으로 데이터를 교환할 수 있는 통신 기능
  • 기초에 로드된 페이지는 그대로 유지한 채로 특정 정보만 교체할 수 있다. 즉, 전체 페이지를 새로 로드하지 않고도 일부분만 동적으로 업데이트할 수 있습니다.

jQuery

  • jQuery의 등장으로 다소 번거롭고 논란이 있던 DOM(Document Object Model)을 더욱 쉽게 제어할 수 있게 되었고 크로스 브라우징 이슈도 어느 정도 해결되었다.

V8 자바스크립트 엔진

  • V8은 자바스크립트 코드를 실행하기 위한 도구로, 자바스크립트 코드를 기계 코드로 직접 컴파일하고 실행합니다. 이는 웹 브라우저에서 자바스크립트 코드가 빠르게 실행될 수 있게 해주는 역할을 합니다.

  • 또한, V8은 Node.js에서 사용되는 핵심 구성 요소입니다. Node.js는 서버 환경에서 동작하는 자바스크립트 런타임인데, 이는 V8 엔진을 기반으로 구축되어 있습니다. 이를 통해 자바스크립트를 사용하여 서버 측 애플리케이션을 개발하고 실행할 수 있게 되었습니다.

  • 따라서 V8 엔진은 자바스크립트 언어의 성능을 향상시키고, 그 사용 범위를 넓히는 데 중요한 역할을 하는 도구입니다.

Node.js

  • 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시킨 자바스크립트 실행 환경이다.
  • 비동기 I/O를 지원하며 단일 스레드(single thread) 이벤트 루프 기반으로 동작함으로써 요청(request)처리 성능이 좋다.
  • 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA(single Page Application)에 적합하다.

SPA 프레임워크

  • SPA는 "Single Page Application"의 약자로, 단일 페이지 웹 애플리케이션을 의미합니다. 전통적인 웹 애플리케이션에서는 사용자가 페이지를 이동할 때마다 새로운 HTML을 서버에서 받아와서 페이지 전체를 새로 로드합니다. 그러나 SPA에서는 한 번 페이지를 로드한 이후에는 필요한 데이터만을 서버에서 불러와서 페이지를 동적으로 업데이트합니다.

  • SPA 개발을 돕기 위한 다양한 프레임워크들이 있습니다. 대표적인 예로는 AngularJS, React, Vue.js 등이 있습니다.

  • AngularJS: 구글이 개발한 SPA 프레임워크로, HTML을 확장하여 웹 애플리케이션 개발에 적합한 환경을 제공합니다. 또한, Angular는 MVC (Model-View-Controller) 패턴을 사용하여 코드 구조를 관리합니다.

  • React: 페이스북이 개발한 자바스크립트 라이브러리로, 유저 인터페이스를 구축하는데 사용됩니다. 가상 DOM (Virtual DOM)을 활용하여 빠른 렌더링 성능을 제공하며, 컴포넌트 기반의 개발 방식을 채택하고 있습니다.

  • Vue.js: 사용자 친화적이며 학습 곡선이 낮은 SPA 프레임워크로 알려져 있습니다. React와 비슷하게 가상 DOM을 사용하며, Angular와 비슷하게 디렉티브를 통한 HTML 확장을 제공합니다.

  • 각 SPA 프레임워크는 자체적인 장단점과 특성을 가지고 있으며, 프로젝트의 요구 사항에 따라 적합한 것을 선택하게 됩니다.

profile
신은 인간에게 선물을 줄 때 시련이라는 포장지에 싸서 준다. 선물이 클수록 더 큰 포장지에 싸여있다. - 브라이언 트레이시 -

0개의 댓글