1. 싱글 스레드
2. 비동기 방식
3. 자바스크립트 기반
→ 프론트엔드 뿐만 아니라, 백엔드 또한 자바스크립트로 작성한다.
최근 웹 애플리케이션들이 AJAX를 사용해서
동적인 웹을 만들고 있다.
ex) 구글의 여러 서비스, 트위터, 페이스북, 네이버, 다음..
→ AJAX 도입 이후, 자바스크립트의 사용성이 높아졌다.
하이브리드 모바일 애플리케이션 개발을 위해
React Native, Ionic, PhoneGap과 같은 프레임워크들이 생겨났다.
1. 모바일 지원
자바스크립트로 모바일 애플리케이션 코드를 작성하면,
위의 framework들이 iOS와 Android에서 동시에 동작할 수 있도록 해준다.
2. 게임 개발
Unity 3D
게임 엔진을 더하면, 자바스크립트로도 플랫폼 구분없는
게임 개발이 가능하다.
3. 임베디드
마이크로소프트에서 제공하는 Javascript 기반 API를 사용하면,
안드로이드 장치를 조작할 수 있다.
사용자의 상태와 취향에 맞게,
자동으로 동작하는 플랫폼이 특징이다.
React, Angular JS
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)
객체로부터, 그 특성이 복제되어 새로운 객체를 생성.
런타임 와중에도 객체의 속성의
값을 수정(추가/변경/삭제)하는 것이 가능.
→ 보통 객체를 생성하고, 클래스로부터 그걸 상속받은 후
객체를 만드는데 자바스크립트는 그 개념이 다르다.
3. 실행 도중에도 실행이 가능
프로그램 실행 시에도, code 실행이 가능한 eval() 함수
→ 프로그램 실행되는 도중에,
동적으로 코드 실행이 가능
4. 고차 함수
함수를 인자로 받거나, 함수를 return하는 함수
ex) callback함수
→ 함수를 조작하기가 더 쉽다.
javascript 코드를 해석하고 실행시켜주는 엔진.
자바스크립트 코드를 실행하는 프로그램 or 인터프리터
→ 웹브라우저 용도로 주로 사용
※ 자바스크립트 엔진이 특정 버전의 ECMAScript를 각각 구현한다.
그래서 ECMAScript와 엔진의 발전속도는 비례한다.
서로 다른 웹 브라우저와 런타임(node.js)에서
동작할 수 있게 하기 위해 개발되었음.
가장 잘 알려진 것은 현재 V8
*
Node.js를 배우기 전에
자바스크립트(javascript)의 흐름을 보니
대강 json이나 ajax같은 개념들이 왜 필요한지
이해가 되었다.
* 해당 자료는 아래 강좌를 필기하였습니다.
사용자 데이터를 생성 가능한 node.js (0) | 2022.01.13 |
---|---|
node.js를 익히기 전, 자바스크립트 기본 문법 정리 (0) | 2022.01.12 |
[Node.js] 블로그 웹사이트 만들기-0. 요구사항 명세서 작성하기 (RAEDME.md) (0) | 2022.01.05 |
[Node.js ] template engine 사용하기 (Nunjucks) (0) | 2022.01.05 |
vscode 터미널 관리자 권한으로 실행하기 (Setting까지) (0) | 2021.12.31 |
댓글 영역