Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

고리타분한 개발자

자바스크립트란? (1) 본문

JavaScript/About JS

자바스크립트란? (1)

sunlee334 2017. 11. 28. 00:25

Introduction

  • Javascript는 HTML, CSS와 함께 웹을 구성하는 요소중 하나로 웹브라우저에서 동작하는 유일한 언어이다. 1995년 브렌던 아이크(Brendan Eich)가 Netscape Navigator 2를 위하여 개발한 웹페이지에 포함되는 스크립트 언어이다.
  • 초창기 Javascript는 웹페이지 제작에 있어서 보조적인 기능을 수행하기 위해 한정적인 용도로 주로 사용되었다. 이 시기에 대부분 로직은 주로 웹서버에서 실행되었고 브라우저(클라이언트)는 서버로부터 전달받은 HTML과 CSS를 렌더링하는 수준이었다. 하지만 웹이 더욱 발전하면서 과거 웹서버에서 수행되던 많은 역할들이 클라이언트로 이동하였는데 이것은 자바스크립트의 발전 덕분이다. 특히 jQuery의 등장으로 다소 번거롭고 논란이 있던 DOM(Document Object Model)를 보다 쉽게 제어할 수 있게 되었다. 이는 정적인 웹페이지에 역동성을 부여하기 위한 목적으로 Javascript의 위상을 더욱 높이는 계기가 되었다.
  • Javascript는 C-family language로 C, Java에서 많은 문법을 차용했으며 Awk, Perl, Python으로부터 영향을 받았다.
  • Javascript는 인터프리터 언어(Interpreter language)이기 때문에 compile이 필요없고 HTML파일 안에 직접 기술이 가능하다.
  • Javascript는 멀티-패러다임 언어로 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향형 언어이다. 비록 다른 언어들과의 차이점에 대한 논쟁들이 있긴 하지만, Javascript는 강력한 객체지향 프로그래밍 능력들을 지니고 있다. ES6이전에는 클래스가 없어서 객체지향이 아니라고 생각하는 사람들도 있으나 프로토타입 기반의 객체지향 언어이다.
  • 구글의 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 환경(Runtime Environment)인 Node.js의 등장으로 Javascript는 웹브라우저를 벗어나 서버 사이드 어플리케이션 개발에서도 사용되는 Full stack 언어가 되었다. 웹브라우저에서만 동작하는 반쪽짜리 언어 취급을 받던 Javascript는 Front-end 영역은 물론 Back-end영역까지 아우르는 웹 프로그래밍 언어의 표준으로 자리잡고 있다.
  • Javascript는 크로스 플랫폼을 위한 모바일 웹/앱 개발 분야에서도 가장 중요한 언어로 주목받고 있다. 웹은 물론 모바일 하이브리드 앱(PhoneGap, Sencha Touch, Ionic), 서버사이드(NodeJS), Desktop(Electron AppJS), 로봇 제어(Cylon.js, NodeBots) 언어로서 세계에서 가장 인기있는 언어이다.
  • SPA(Single Page Application) 웹 앱이 대중화되면서 Angular, React, Vue.js 등 다양한 SPA Framework/Library 또한 많은 사용층을 확보하고 있다.
  • 월마트, 이베이, 페이팔, 우버, 야후, 그루폰 등 거대 글로벌 기업들의 Javascript 환경으로 전환함에 따라 이와 같은 추세는 앞으로 더욱 가속될 전망이다. 빠르고 쉽게 서비스를 구축할 수 있는 장점을 가지고 있어 많은 Start-up 기업 또한 Javascript 환경을 사용하고 있다.



참고자료

  • http://poiemaweb.com/js-introduction


'JavaScript > About JS' 카테고리의 다른 글

자료형  (0) 2017.11.28
Hello Javascript (3)  (0) 2017.11.28
Hello Javascript (2)  (0) 2017.11.28
Hello Javascript (1)  (0) 2017.11.28
자바스크립트란? (2)  (0) 2017.11.28
Comments