1. Netscape사가 개발하고, SUN이 마케팅하고.
JavaScript는
- 웹브라우저에서 많이 사용하는 프로그래밍 언어이다.
- Netscape사의 브랜든 아이크(Brendan Eich)가 '모카'라는 이름으로 개발, 이후 라이브 스크립트라는 이름으로 변경
- Netscape와 Sun microsystems가 JavaScript라는 이름을 붙이고 발전.
(Sun과의 마케팅 조약때문에 JavaScript가 됨.)
==> Netscape에서 만든걸 Sun이 JavaScript라고 이름을 붙였다.
2. 활용
2.1
웹 클라이언트 Application [이벤트 처리 덕분]
- JavaScript가 이벤트 처리를 가능하게 만듦,
- 덕분에 하이퍼링크로 연결된 Web Page(하나의 책)가 App형태로 변함(2010년부터)
- 'Web Application'이 됨.
ex) online office 프로그램, 크롬 웹스토어 등..
2.2 웹 서버 Application [node.js 덕분]
- 초기 웹은 클라이언트 : 자바스크립트
서버 : 프로그래밍 언어(C#, Ruby , Python, Java..)
로 각각 개발하였음.
- Node.js가 등장하면서, 웹 서버 App을 개발할 수 있게 해줌.
cf) 웹 서버 = 웹 프로토콜(Http, Https등)을 활용하는 것.
-Node.js는 빠르게 만들어주는 모듈이라고 생각하면 된다
=> 서버는 1/10배, 속도는 20배( Linked in 피셜)
2.3 모바일 Application[React Native 덕분]
- 모바일 개발은 Java(for android) 혹은 swift(for ios)를 사용한다.
; 두 언어를 이용해 개발하면, native application이라 함
(동작이 빠르다)
- Javascript는 모든 스마트폰에서 기본적으로 인식할 수 있는 언어.
(동작이 느리다)
- React Native(by facebook)이 JavaScript를 Native로 변환해 주면서,
JavaScript로 구현한 App도 성능이 좋아짐.
- ex) 페이스북 App, 사운드 클라우드 App
2.4 Desktop Application [Electron 덕분]
- GitHub에서 Text editor Atom을 공개하고, Electron 모듈을 공개 함
2.5 게임[ Unity 엔진 + Node.js의 서버 통신 속도]
- 모바일 게임이 대세, 그러나 운영체제마다 각각 개발은 힘들다.
- Unity엔진이 무료제공 되면서, Javascript기반 게임을 개발할 수 있게 되었다. (엄청 다양한 지원 플랫폼 ex)PS4, Galaxy gear, nintendo 등..)
- 게다가, Node.js를 통해 서버통신을 빠르게 사용한다.
2.6 데이터베이스
- SQL는 무거워서, NoSQL 데이터 베이스가 등장함(JavaScript기반)
- 보통, 메인은 SQL, 캐시는 NoSQL사용
3. JavaScript의 종류
- JavaScript가 잘나가자, 유럽 컴퓨터 제조 협회
(European Computer Manufacturer's Association; ECMA)
가 표준을 정함.
- 표준 명칭은 ECMAScript가 됨.
- JavaScript는 관행적으로 부르는 것.
- ECMA1 ~ECMA7까지 나왔는데,
문법을 간략화하고 쉽게하는 방향으로 발전하였다.
- 현재 많은 브라우저는 ECMA5 표준을 사용한다.
4. HTML에서 삽입 위치
4.1 각 태그는 웹 브라우저에 의해 순차 실행 됨.
; head -> body 순
4.2 표준 : Script는 <head>에 넣는다.
그래서, <body>전에 읽히도록 한다.
만약, <body>에 넣으면, <head>실행 이후에 <stript>실행
5. 오류확인
- Chorme에서 F12 or [ctrl]+[shift] + [i]를 누름.
; 크롬이 디버깅에 가장 좋으므로 권장한다.
'연습 > 개발언어' 카테고리의 다른 글
4. JavaScript 함수 (0) | 2022.01.20 |
---|---|
3.JavaScript 조건문, 배열 (0) | 2022.01.20 |
2. JavaScript 기초 용어 정리 (0) | 2022.01.20 |
2. JAVA 언어의 배경(작성중) (0) | 2022.01.20 |
1. OOP(객체지향프로그래밍)[작성중] (0) | 2022.01.20 |