# Why JS?

## Javascript

> 웹에 쓰이는 **하나뿐인** 프로그래밍 언어
>
> * 만약 **Frontend** 일을 한다고 하면, 선택할 수 있는 언어는 하나 뿐 (JavaScript)
> * 만약 **Backend** 일을 한다고 하면, 선택할 수 있는 언어가 많 (Java, Python, Ruby, 하스켈, ASP...)&#x20;

> 웹사이트를 **interactive(상호작용)** 하게 만들 수 있음
>
> * **장점** : Fragmentation(메모리 단편화 현상)이 없으며, 웹사이트를 하는 사람들은 모두 JavaScript를 알기 때문에 모두 같은 언어로 얘기를 할 수 있음
> * **단점** : JavaScprit에 갇히기도 는데, 바꿀수 도 없고, 업데이트도 할 수 없고, 원하는 것으로 교체할 수도 없음

### 1. JavaScript를 통해 무엇을 할 수 있을까?

1. 매우 섹시한 웹사이트
2. 섹시한 웹 앱
3. 모바일 애플리케이션 & Native application [Nomad Movies App](https://play.google.com/store/apps/details?id=co.nomadcoders.nomadmovies)
4. Real time(실시간) <https://socket.io/>
5. 비디오 게임 <https://impactjs.com/>
6. 3D 라이브러리 <https://threejs.org/>
7. 데스크톱 앱 [VS Code](https://code.visualstudio.com/), [Atom](https://atom.io/)

### 2. 왜 Frontend에서 Javascript를 사용할까?

* Javascript를 만들고 다른 언어로 교체하지 않았기 때문
* 모든 컴퓨터에는 **브라우저**가 있고, 브라우저는 **JavaScript**로 돌아감. 즉, 모든 컴퓨터에는 JavaScript가 깔려있으므로, 이는 **모든 컴퓨터가 이 언어를 이해한다는 것**
* 별도의 설치를 하지 않아도 JavaScript를 사용할 수 있음
