wgnodejsstudy / nodejs

0 stars 1 forks source link

자바스크립트 개요 #1

Open topgaren opened 5 years ago

topgaren commented 5 years ago

자바스크립트(JavaScript)

1. 자바스크립트 개요

1.1 자바스크립트의 역사

자바스크립트JavaScript는 웹 브라우저에서 많이 사용되는 프로그래밍 언어로서, 본래 넷스케이프의 브랜든 아이크Brendan Eich에 의해 모카Mocha라는 이름으로 만들어졌다. 모카는 곧 라이브 스크립트라는 이름으로 개발됐고, 이후 넷스케이프가 썬 마이크로시스템과 함께 라이브 스크립트에 자바스크립트라는 이름을 붙이고 본격적으로 발전하기 시작했다.

1.2 자바스크립트의 활용

2010년까지만 해도 자바스크립트는 웹 클라이언트 개발에 주로 사용되는 객체object 기반의 스크립트 언어로 활용되었다. 2010년부터 서버, 모바일 및 데스크톱 애플리케이션 개발, 게임 개발, 데이터베이스 관리 등에 사용할 수 있게 되었다.

1.2.1 웹 클라이언트 애플리케이션 개발

초기 웹은 변화되지 않는 정적인 글자들로만 꾸며졌다(HTML + CSS). 그러나 자바스크립트가 등장한 이후 웹 문서의 내용을 동적으로 바꾸거나 사용자의 마우스 클릭 이벤트를 처리할 수 있게 되었다. 이를 바탕으로 웹은 일반적인 웹 문서의 개념을 넘어 애플리케이션의 모습에 가까워지기 시작했다. 이를 '웹 애플리케이션'이라 부른다.

1.2.2 웹 서버 애플리케이션 개발

자바스크립트 언어 기반의 플랫폼인 Node.js가 등장하면서 자바스크립트로도 웹 서버 애플리케이션을 개발할 수 있게 되었다. 링크드인Linkedin은 Node.js를 이용해 웹 서버 애플리케이션을 만든 대표적인 서비스이다.

1.2.3 모바일 애플리케이션 개발

자바Java와 스위프트Swift 등 스마트폰(안드로이드 및 아이폰)에 최적화된 프로그래밍 언어로 만든 애플리케이션을 '네이티브 애플리케이션'이라고 한다. 따라서 어떤 기업에서 애플리케이션을 개발하고자 한다면 자바와 스위프트 두 가지 프로그래밍 언어로 개발해서 출시해야 한다. 이는 시간, 인력 등 비용도 모두 2배가 들어가므로 기업 입장에서는 큰 손해이다.

자바스크립트는 모든 스마트폰에서 내부적으로 기본적으로 인식하는 공통된 프로그래밍 언어이다. 그래서 페이스북에서 자바스크립트로 네이티브 애플리케이션을 개발할 수 있는 React Naitive를 만들어 공개하였다.(http://facebook.github.io/react-native/) 이를 활용하면 자바스크립트만으로 모든 운영체제에서 빠르게 작동하는 네이티브 애플리케이션을 만들 수 있다. 안드로이드와 아이폰에 있는 페이스북, 페이스북 그룹, 사운드 클라우드 애플리케이션이 모두 자바스크립트로 만든 네이티브 애플리케이션이다.

1.2.4 데스크톱 애플리케이션 개발

NW.js 모듈 등으로 데스크톱 애플리케이션 개발에 조금씩 자바스크립트를 활용하기 시작하였다. 그러다가 Github에서 자바스크립트 개발 전용 텍스트 에디터인 아톰Atom을 만들어 배포하였다. 그리고 아톰을 만들 때 활용한 일렉트론Electron이라는 모듈을 공개(http://electron.atom.io/) 하면서 다른 개발자들도 자바스크립트로 데스크톱 애플리케이션을 개발할 수 있게 하였다. MS의 Visual Studio Code는 일렉트론을 활용하여 만든 대표적인 데스크톱 애플리케이션 중 하나이다.

1.2.4 데이터베이스 관리

데이터베이스는 보통 SQL이라는 프로그래밍 언어를 사용하여 관리한다. 일반적으로 알려진 Oracle, MySQL 등의 관계형 데이터베이스 관리 시스템RDBMS; Relative Database Management System이 모두 SQL 프로그래밍 언어를 사용한다. 그러나 SQL이 복잡하고 무겁다는 이유로 간단하고 사용하기 쉬운 데이터베이스들이 등장하였는데 이를 NoSQL 데이터베이스라고 한다. MongoDB가 대표적인 '데이터베이스를 관리할 때 자바스크립트를 활용하는 NoSQL 데이터베이스'이다.

1.3 자바스크립트 예제 코드

<!DOCTYPE html>
<html>
<head>
    <title>Basic javascript</title>
    <script>
        document.write('Hello World!'); // HTML문서에 출력
        alert('Hello World!'); // 알림창에 출력
        console.log('Hello World!'); // 웹 브라우저 개발자 도구의 콘솔창에 출력된다.
    </script>
</head>
<body>

</body>
</html>

Reference : 모던 웹을 위한 JavaScript jQuery 입문 3판, 윤인성, 한빛미디어, 2017