
자바스크립트는 웹 브라우저에서 하용하는 프로그래밍 언어입니다.
넷 스케이프의 브랜던 아이크에 의해 모카라는 이름으로 처음 만들어졌으며, 곧 라이브스크립트라는 이름으로 개발 되었습니다.

이후에 넷스케이프가 썬 마이크로시스템즈와 함께 라이브스크립트에 자바스크립트라는 이름을 붙여서 발전했습니다.

자바스크립트 이전에 썬 마이크로시스템즈의 자바가 큰 인지도를 가지고 있었는데, 썬 마이크로시스템즈와 자바와 비슷한 이름을 사용하는 마케팅 조약을 체결하면서 자바스크립트이름을 가지게 되었습니다.
자바의 인지도를 편승하기 위해 마케팅으로 자바스크립트라는 비슷한 이름을 가지게 된것입니다.
자바스크립트의 개발 분야
1. 모바일 어플리케이션 개발


안드로이드 폰과 아이폰은 각각 자바/코틀린과 스위프트라는 프로그래밍 언어로 개발합니다. 각 스마트폰에서 인식해서 실행할 수 있는 프로그래밍 언어가 다르기 때문입니다.
하지만 모든 스마트폰의 내부에서 기본으로 인식할 수 있는 공통된 프로그래밍 언어가 있는데, 자바스크립트가 대표적인 예입니다. 자바스크립트를 사용하면 하나의 애플리케이션으로 모든 스마트폰에서 동작하기 때문에 소비되는 자원을 훨씬 줄일 수 있습니다.

그래서 페이스북에서는 자바스크립트로 네이티브 애플리케이션을 개발할 수 있는 리액트 네이티브를 만들어 공개했습니다. 이를 활용하면 자바스크립트로도 각각의 운영체제에서 빠르게 작동할 수 있는 네이티브 애플리케이션을 만들 수 있습니다.
2. 데스크톱 애플리케이션 개발
모바일 애플리케이션을 자바스크립트로 만드는 일이 일반화 되면서 데스크톱 애플리케이션도 자바스크립트로 만들 수 있도록 진행되었습니다.

깃허브에서 자바스크립트 개발 전용 에디터인 아톰을 만들어 배포하고,

아톰을 만들 때 활용한 아톰 셸을 일렉트론이라는 이름으로 공개하면서 다른 개발자들도 자바스크립트로 데스크톱 애플리케이션을 개발할 수 있게 되었습니다.
3. 데이터베이스 관리

데이터베이스는 보통 SQL 이라는 프로그래밍 언어를 사용해 관리합니다. Not-Only-SQL 이라고 불리며 등장한 NoSQL은 2010년 이후 SNS 등으로 폭발적으로 증가한 빅데이터를 처리하기 위한 기술이며,

그중 MongoDB가 데이터베이스를 관리할 때 자바스크립트를 활용하는 대표적인 NoSQL 데이터베이스입니다.
데이터베이스 엔진 순위를 살펴보면 현재 Oracle, MySQL, Microsoft SQL Server, PostgreSQL, MongoDG 순으로 많이 사용되고 있습니다.
아두이노와 같은 마이크로 컨트롤러 보드도 조작할 수 있어 IoT 관련 개발도 가능합니다.
자바스크립트의 종류
1990년대 중반부터 자바스크립트가 많은 곳에서 사용되면서 유럽컴퓨터제조협회(ECMA) 는 자바스크립트를 ECMAScript 라는 이름으로 표준화 했습니다. 표준 명칭은 ECMAScript 이지만, 오래전부터 사용해왔기때문에 자바스크립트라는 용어로 더 많이 불리기도 합니다. 자바스크립트의 문법이 발전하게 되면서 ECMAScript 의 버전이 업데이트되기 시작했습니다.
ECMAScript 1, 2, 3, 4, 5, 순으로 발표되다가 2015부터 년도를 따서

ECMAScript 2015, ECMAScript 2020 형식으로 연도를 사용해 버전을 부르고 있습니다.
모바일 애플리케이션의 종류
아이폰과 안드로이드폰의 오브젝티브-C 와 자바 프로그래밍 언어와 같은 제조사가 추천하는 프로그래밍 언어를 사용해서 만들어진 애플리케이션을 네이티브 앱이라고 부릅니다. 일반적으로 전용 프로그래밍 언어를 사용해 따로따로 개발해서 아이폰과 안드로이드폰에서의 모습이 구별되는 애플리케이션들이 네이티브 앱에 해당합니다.
하지만 애플리케이션 하나에 아이폰 개발자와 안드로이드 개발자가 모두 필요하기 때문에, 웹사이트 화면을 애플리케이션으로 감싸기만 해서 보여주는 모바일웹앱이 등장했습니다.
하지만 웹사이트 화면을 감싸기만해서 보여주는 모바일웹앱은 성능도 떨어지고 스마트폰의 기능을 제대로 활용할 수 없기 때문에, 중간에 스마트폰의 기능과 웹 페이지를 연결할 수 있는 층을 설치해 웹사이트가 스마트폰의 기능을 활용할 수 있게 한 애플리케이션을 하이브리드 앱이라고 부릅니다. 모바일 사이트에서도 똑같이 보이면서 스마트폰 고유의 모습도 가지고 있는 앱들을 하이브리드 앱으로 구분할 수 있습니다.
여기서 조금 더 발전되어 웹앱처럼 개발했는데, 네이티브 앱처럼 만들어주는 엔진, 프레임워크들이 등장합니다. 하나의 프로그램을 만들어서 여러 프로그램으로 만들어주는 리액트 네이티브 등이 대표적인 예입니다.
이렇게 경계가 점점 융합되어가면서 네이티브와 하이브리드가 완전하게 구분되는 것은 아닙니다. 카카오톡처럼 네이티브 방식으로 개발했음에도 일부분은 웹부분을 보여주므로 하이브리드 방식으로 개발되어 있다고도 볼 수 있습니다.

윤인성님의 혼자 공부하는 자바스크립트 책으로 공부하면서 정리한 내용입니다.
'스터디 > 웹개발' 카테고리의 다른 글
| 자바스크립트 시작하기: 오류와 표준 스타일 (0) | 2022.01.11 |
|---|---|
| 자바스크립트 시작하기 : 설치와 코드 실행 (0) | 2022.01.10 |
| Do it! 반응형 웹만들기 스터디 1회 (0) | 2021.10.03 |
| Do it! 반응형 웹 만들기 스터디 0회 (0) | 2021.10.03 |
| {React.js}리액트 독학! npm으로 설치해보자 (0) | 2021.07.13 |