1. 개요
자바스크립트(javascript)는 기본적으로 클라이언트의 웹브라우저상에서 실행되는 프로그래밍 언어입니다. 썬 마이크로 시스템즈의 자바(JAVA)와 이름이 같지만 전혀 다른 언어임에 주의해야 합니다.
자바스크립트는 사실 ECMAScript가 본래 명칭입니다. 유럽 컴퓨터 제조 협회(European Computer Manufacturer's Association)가 붙인것으로 표준이기는 하지만 아직까지는 자바스크립트라는 명칭이 훨씬 더 많이 사용되고 있습니다.
2. 활용범위
자바스크립트는 처음에는 웹브라우저에서 실행되는 용도로 탄생했지만 현재는 데스크탑 응용프로그램부터 모바일 개발, 서버 개발, 게임 등 광범위하게 사용되는 언어로 발전했습니다.
(1) 웹개발
단순한 HTML 문서를 벗어나 하나의 거대한 프로그램으로서 작동하는 웹프로그램을 만들 수 있습니다. 대표적으로 기존에 컴퓨터에 직접 설치해 사용하던 워드나 엑셀 같은 프로그램도 인터넷으로 연결만 되어 있다면 웹브라우저를 통해 문서를 편집할 수 있게 되었습니다.
(2) 서버 개발
현재 자바스크립트를 통해 서버를 개발하는데 가장 많이 사용되는 플랫폼으로 node.js가 있습니다. 비동기로 처리되는 방식의 node.js는 자바스크립트만으로 고성능의 서버 개발을 가능하게 합니다.
(3) 모바일 개발
현재 가장 많이 사용되고 있는 안드로이드와 iSO의 모바일 개발은 동일한 기능을 하는 앱을 개발한다고 하더라도 각각의 플랫폼에 맞는 언어로 개발되어야 합니다. 예컨대 안드로이드는 자바(JAVA)로 iSO는 스위프트(Swift)로 개발하는 식입니다. 전혀 다른 언어를 통해 2번의 개발이 진행되어야 하니 공수가 많이 들어갈 수밖에 없습니다.
이 문제를 해결하기 위해 내부적으로 동작하는 부분을 웹으로 개발하고 이 웹을 감싸는 형태의 하이브리드 앱 개발 방법이 존재하기는 하지만 속도가 상대적으로 느리다는 단점이 존재합니다.
하지만 최근(그리 최근도 아니지만...)에 페이스북(facebook)에서는 자바스크립트만으로 네이티브 앱(Native App)을 개발할 수 있는 리액트 네이티브(React Native)를 선 여보였습니다. 자바스크립트로 개발하면 이를 각각의 플랫폼에 맞는 언어로 변환해주는 도구인데 자바스크립트만으로 네이티브 앱을 개발할 수 있다는 것은 큰 매력이 아닐까 싶습니다.
(4) PC용 애플리케이션
자바스크립트로 일단 데스크톱 애플리케이션을 만들고자 하는 시도도 있습니다. 일렉트론(Electron)을 사용하면 그것이 가능한데 텍스트 에디터인 아톰(Atom)도 일렉트론을 통해 개발된 애플리케이션입니다.
(5) 게임 개발
유니티(Unity)라는 게임 개발 소프트웨어를 사용하면 자바스크립트만으로 게임 개발이 가능합니다. 유니시티의 가장 큰 장점이라면 한 번의 개발로 인해 윈도나 모바일 운영체제인 안드로이드, iSO 등 다양한 플랫폼에서 실행되는 게임을 개발할 수 있다는 것입니다.
개인적으로 게임 개발에 관여해본 적은 없으나 아직까지는 C++과 DirectX를 활용한 만큼의 그래픽 수준까지는 아니지만 나름대로 훌륭한 그래픽 게임을 개발하는데 유니티는 손색이 없어 보입니다.
(6) 데이터베이스 개발
자바스크립트만으로 데이터베이스 개발까지 가능하게 되었습니다. 자바스크립트로 관리가 가능한 대표적인 것으로 MongoDB가 있으며 기존의 MySQL이나 MSSQL처럼 데이터베이스 질의를 위해 SQL 구문을 사용하는 것이 아닌 자바스크립트를 통해 관리가 가능한 DB입니다.
(7) 마이크로 컨트롤러 개발
아두이노나 라즈베리파이 같은 마이크로 컨트롤러를 조작하는 데에도 자바스크립트를 사용할 수 있습니다. 이를 통해 IoT(Internet of Things) 같은 개발도 가능하게 되었습니다.
'Web > Javascript' 카테고리의 다른 글
[javascript] 객체 (0) | 2020.04.30 |
---|---|
[javascript] 함수 (0) | 2020.03.27 |
[javascript] 반복문 (0) | 2020.03.24 |
[javascript] 조건문 (0) | 2020.03.17 |
[javascript] 기본 사항 (0) | 2020.03.13 |