상세 컨텐츠

본문 제목

Node.js를 배우기 전 자바스크립트(javascript)의 역사 흐름

IT 공부/백엔드(Back-end)

by 듀_77 2022. 1. 10. 14:50

본문

반응형

Node.js의 특징

1. 싱글 스레드

2. 비동기 방식

3. 자바스크립트 기반

 

→ 프론트엔드 뿐만 아니라, 백엔드 또한 자바스크립트로 작성한다.

AJAX (Asynchronous JavaScript and XML)

최근 웹 애플리케이션들이 AJAX를 사용해서

동적인 웹을 만들고 있다.

ex) 구글의 여러 서비스, 트위터, 페이스북, 네이버, 다음..

 

→ AJAX 도입 이후, 자바스크립트의 사용성이 높아졌다.

 웹 애플리케이션과 프레임워크

하이브리드 모바일 애플리케이션 개발을 위해

React Native, Ionic, PhoneGap과 같은 프레임워크들이 생겨났다.

 

1. 모바일 지원

자바스크립트로 모바일 애플리케이션 코드를 작성하면,

위의 framework들이 iOS와 Android에서 동시에 동작할 수 있도록 해준다.

 

2. 게임 개발

Unity 3D

게임 엔진을 더하면, 자바스크립트로도 플랫폼 구분없는

게임 개발이 가능하다.

 

3. 임베디드

마이크로소프트에서 제공하는 Javascript 기반 API를 사용하면,

안드로이드 장치를 조작할 수 있다.

 

사용자의 상태와 취향에 맞게, 

자동으로 동작하는 플랫폼이 특징이다.

 

※ Javascript 기반 웹 개발 프레임워크와 라이브러리

React, Angular JS

https://caffeinecoding.com/universal-javascript-server-client-rendering/

서버 관련 자바스크립트의 역사

1999년: XMLHttpRequest API

 

Client 측의 스크립트를 http나 https로 서버에게 요청,

txt 형식으로 데이터를 받아왔다.

 

2001년: JSON

txt형식으로 데이터를 저장하는 javascript 문법을 

JSON이라 이름 짓고, 공식 문서를 제작.

 

→ 마크업보다는 구조적인 데이터를 표현할 때 사용하고,

XML의 대안책으로 쓰였다.

 

2005년: Ajax를 활용한 구글 Maps 발표

Ajax의 관심도가 높아지면서,

XML보다 JSON 사용률이 높아짐.

 

2008년: 구글의 V8엔진

크롬 웹브라우저 발표와 함께, 자바스크립트 엔진 소개

javascript는 느리지 않다는 것을 증명

 

2009년: Node.js 등장

자바스크립트로 클라이언트, 서버구현이 가능해졌다.

풀스택 개발자들 ↑

반응형

자바스크립트의 특징

동적 웹페이지를 만들 수 있는 언어는 다양하다.

 ( JSP, Servlet, AS...)

 

※ 왜 자바스크립트를 쓰는 걸까?

 

javascript: (클라이언트 측) 웹 브라우저에서 실행

 ( JSP, Servlet, AS...) : (서버 측) 웹 서버에서 해석되고 실행

→ 결과가 HTML로 변환되어서 웹 브라우저에 출력

 

동작 속도가 빠른 자바스크립트를 많이 사용하는 이유

→ 웹 서버에서 실행되면,

즉각적인 반응을 못해서 시간이 느려진다.

 

→ 자바스크립트는 C언어 계열의 문법과도 유사한 점이 있다.

 

자바스크립트가 서버구축에 유리한 이유

1. 동적 형변환

암묵적으로 변수의 형변환이 자동으로 이뤄진다.

 

2. 프로토타입 기반 객체 지향(Prototypal Object-Oriented)

객체로부터, 그 특성이 복제되어 새로운 객체를 생성.

런타임 와중에도 객체의 속성의

값을 수정(추가/변경/삭제)하는 것이 가능.

 

→ 보통 객체를 생성하고, 클래스로부터 그걸 상속받은 후

객체를 만드는데 자바스크립트는 그 개념이 다르다.

출처: 구름 EDU

3. 실행 도중에도 실행이 가능

프로그램 실행 시에도, code 실행이 가능한 eval() 함수

 

→ 프로그램 실행되는 도중에,

동적으로 코드 실행이 가능

 

4. 고차 함수

함수를 인자로 받거나, 함수를 return하는 함수

ex) callback함수 

→ 함수를 조작하기가 더 쉽다.

자바스크립트 엔진

javascript 코드를 해석하고 실행시켜주는 엔진.

 

엔진의 역할:

자바스크립트 코드를 실행하는 프로그램 or 인터프리터

→ 웹브라우저 용도로 주로 사용 

 

※ 자바스크립트 엔진이 특정 버전의  ECMAScript를 각각 구현한다.

그래서  ECMAScript와 엔진의 발전속도는 비례한다.

 

엔진의 존재 이유

서로 다른 웹 브라우저와 런타임(node.js)에서

동작할 수 있게 하기 위해 개발되었음.

 

구름EDU

자바스크립트 엔진의 종류

가장 잘 알려진 것은 현재 V8

 

*

Node.js를 배우기 전에

자바스크립트(javascript)의 흐름을 보니

대강 json이나 ajax같은 개념들이 왜 필요한지 

이해가 되었다.

 

* 해당 자료는 아래 강좌를 필기하였습니다.

 

한 눈에 끝내는 Node.js - 구름EDU

이미 모두 갖추어진 실습환경에서 직접 코드를 작성하고 실행하며 Node.js(노드)의 기본을 다질 수 있는 프로그래밍 강좌입니다.

edu.goorm.io

 

반응형

관련글 더보기

댓글 영역