ݺߣ

ݺߣShare a Scribd company logo
권윤학(DAVID)
JAVASCRIPT의 현재 주소
이야기할 내용…
1. 자바스크립트와 ECMAScript
2. 라이브러리와 프레임워크
3. 자바스크립트 브라우저 외 활용
자바스크립트와 ECMA SCRIPT
ECMA Script란?
ECMA스크립트(ECMAScript, ES)는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된
표준화된 스크립트 프로그래밍 언어이다. 이 언어는 웹 상에서 널리 쓰이며, 흔히 자바스크
립트 또는 J스크립트로도 생각할 수 있지만 두 용어는 특별한 의미 차이가 있다. ECMA스
크립트와 자바스크립트, J스크립트의 관계를 이해하기 위해서는 ECMA스크립트의 역사를
알아야 한다.
라고 위키백과에 나와있습니다.
한줄 요약 - Javascript의 표준
ECMA SCRIPT의 진행 상황
▸ ES(ECMA Script) 1 - 1997년 재정 (초판 재정)
▸ ES2 - 1998년 재정
▸ ES3 - 1999년 재정 (강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격
한 오류 정의, 수치형 출력의 포매팅 등)
▸ ES4 - 폐기됨 (4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판을 작업 가운데 일부는 5번
째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.)
▸ ES5 - 2009년 재정 (더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인
"strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다.)
▸ ES6 - 2015년 재정 (6판에는 클래스와 모듈 같은 복잡한 응용 프로그램을 작성하기 위한 새로운 문법이
추가되었다. 하지만 이러한 문법의 의미는 5판의 strict mode와 같은 방법으로 정의된다. 이 판은
"ECMAScript Harmony" 혹은 "ES6 Harmony" 등으로 불리기도 한다.)
▸ ES7 - 2016년 재정 (async await 추가)
자바스크립트와 ECMA SCRIPT
http://kangax.github.io/compat-table/es5/
라이브러리와 프레임워크
JQUERY
▸jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. (jQuery는 HTML의
클라이언트 측 스크립팅을 간소화하도록 설계된 크로스 플랫폼 JavaScript 라이브러리입니다.)
▸사실상 자바스크립트의 표준처럼 사용되고 있는 라이브러리
▸하지만 ES5부터 Javascript 표준에서 다양한 지원이 되어 Jquery를 이용하는게 유행에 뒤처지는 일로 인식되기 시작
함
▸하지만 기존 소스들이 대부분 jqeury로 작성되어있고 국내는 IE7~8등의 오래된 브라우저 지원에 대한 이슈때문에
Jquery 없이 개발하는 경우는 드뭄
▸그래서 우리는?? 개발할 서비스의 브라우저 커버리지에 따라 Jquery 사용 여부를 선택하면됩니다.
ANGULAR
▸2009년 Miško Hevery의 개인 프로젝트로 시작.
▸처음 개발시 웹 개발자를 대상으로 하지 않았고,
▸개발은 모르지만 HTML은 이해하는
▸디자이너와 같은 사람들을 대상으로 함
▸는 처음 개발 얘기 현재는 대규모 웹 클라이언트 개발용 프레임워크
▸Angular.js는 1.x를 얘기하며 Angular는 2.x 이후부터를 얘기
▸Angular.js에서 성능같은 이슈때문에 2.x은 전혀 다른 프레임워크로 출시 또한 권장 언어도 Javascript에서
TypeScript로 변경
▸TypeScript와 함께 Rxjs를 적극 도입함
▸Google이 밀고있는 언어이지만 Google은 사용하지 않고 있음
▸프레임워크 외에 material2 angular-cli 등 개발자가 필요한 환경 및 디자인도 같이 제공하고 있음
▸공부해야하나?(관심있으면 추천하나 굳이 공부하실 필요는 없습니다.)
라이브러리와 프레임워크
REACT
▸Facebook이 내놓은 자바스크립트 프레임워크
▸2015년에는 Graphql를 발표하며 Rest Api의 단점을 보완한 개발 방향을
제시
▸Angular와 다르게 Facebook은 적극적으로 사용하고있음
▸2017년에는 Facebook에서 UI 컴퍼넌트도 발표한다는 얘기가 많음
▸Angular vs React
▸국내는 확실히 React가 우세함
▸또한 React Native로 멀티플랫폼 개발하기 쉬움(Angular도 가능
NativeScript를 이용하면)
라이브러리와 프레임워크
VUE.JS
▸Vue.js는 뷰 레이어에 집중하는 프레임워크로, Google에서
AngularJS 개발에 참여하기도 했던 Evan You가 2014년에 발표
함
▸ MVVM(model-view-viewmodel) 패턴으로 MVC 패턴의 컨트롤러
와 같이 데이터 관리 및 액션 처리에 집중되어있음
▸AngularJS와 유사성(heavily influenced by Angular)을 보이기도
하나 AngularJS에 비해 용량이 작다는 점을 장점으로 내세우고
ㅇ있음
▸최근 자바스크립트 브라우저 프레임워크는 Angular vs React vs
vue.js
▸가볍다는 장점에서 React를 위협하고 있다고함
라이브러리와 프레임워크
VANILLA JS
▸Vanilla는 아이스크림중 가장 기본적인 맛인 바닐라를 지칭하
는 단어
▸최근 자바스크립트 프레임워크 라이브러리가 홍수처럼 등장
하는걸 풍자하는 내용
▸순수한 JavaScript만을 사용하는 경우를 마치 프레임워크를
사용하는 것으로 보이게 지칭하는 이름
▸jQuery의 API에 대응하는 VanillaJS 코드를 확인할 수 있는
"You might not need jQuery"와 같은 사이트도 있다.
라이브러리와 프레임워크
RXJS
▸RxJS는 ReactiveX의 JavaScript 구현체임
▸ReactiveX는 옵서버 시퀀스를 이용해 비동기 이벤트 기반의 프로그램으
로 데이터 스트림을 처리하는 라이브러리
▸주요한 언어(Java, Swift, .NET 등)에서 모두 사용할 수 있음
▸RxJS는 비동기 처리의 흐름을 효율적으로 제어해 콜백 지옥 문제를 해결
할 수 있음 (RxJS의 주된 용도가 이것만은 아님)
▸최근 자바스크립트 개발이 SPA 형태의 개발이 늘어남에 따라 많은 주목
을 받고 있음
▸복잡한 자바스크립트 개발형태일 경우 사용고려 추천
라이브러리와 프레임워크
자바스크립트 브라우저 외 활용
패키지 관리자(NPM / BOWER)
▸NPM 과 Bower의 차이
▸사용하는 이유
▸의존성을 자동으로 체크해줌
▸ex) jquery ui 1.12.x 버전의 경우 jquery 1.7 이상이 필요함
▸이러한 부분을 jquery ui 사용할 버전 선택하면 자동으로 해
당하는 jquery 버전을 같이 관리해줌
자바스크립트 브라우저 외 활용
패키지 관리자(NPM / BOWER)
번들러와 빌드 도구
▸Task Runner
▸작업 자동화 도구
▸grunt, gulp
▸Bundle / builder
▸Js + css + html -> app.js
▸Webpack, browserify, rollup.js
자바스크립트 브라우저 외 활용
그외의 활용
▸node.js
▸PWA(Progressive Web App)
▸NativeScript
▸Electron
자바스크립트 브라우저 외 활용

More Related Content

What's hot (20)

Weblockly 소개자료
Weblockly 소개자료Weblockly 소개자료
Weblockly 소개자료
Kay Sung Hyuk
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
복연 이
The LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language BasicThe LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language Basic
jeong seok yang
Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐
Se Joung Kim
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
sung ki choi
프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음
DataUs
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
Han Lee
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
Sunghyun Lee
이클립스와 안드로이드
이클립스와 안드로이드이클립스와 안드로이드
이클립스와 안드로이드
JavaCommunity.Org
Event Loop - Java Script
Event Loop - Java ScriptEvent Loop - Java Script
Event Loop - Java Script
jehun seem
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]
용진 조
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
Kaazing - 웹소켓 기술의 유일한 엔터프라이즈 솔루션
미래웹기술연구소 (MIRAE WEB)
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임
sung ki choi
Sookim 171221
Sookim 171221Sookim 171221
Sookim 171221
Soo Kim
Html5 canvas6 week6n7n8
Html5 canvas6 week6n7n8Html5 canvas6 week6n7n8
Html5 canvas6 week6n7n8
Juneyoung Oh
자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획
DK Lee
nodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IOnodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IO
Mungyu Choi
데모 발표
데모 발표데모 발표
데모 발표
DongjinKim70
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기
Suan Lee
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
『풀스택 개발자를 위한 MEAN 스택 입문』 - 미리보기
복연 이
The LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language BasicThe LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language Basic
jeong seok yang
Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐Nodejs 기본 아키텍쳐
Nodejs 기본 아키텍쳐
Se Joung Kim
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
sung ki choi
프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음
DataUs
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
Han Lee
Event Loop - Java Script
Event Loop - Java ScriptEvent Loop - Java Script
Event Loop - Java Script
jehun seem
XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]XSS 에 대해서 알아보자. [실습 포함]
XSS 에 대해서 알아보자. [실습 포함]
용진 조
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임
sung ki choi
자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획자바 웹 개발 시작하기 : 계획
자바 웹 개발 시작하기 : 계획
DK Lee
nodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IOnodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IO
Mungyu Choi
HTML5 & CSS 살펴보기
HTML5 & CSS  살펴보기HTML5 & CSS  살펴보기
HTML5 & CSS 살펴보기
Suan Lee

Similar to 2017년 javascript의 현재주소 (20)

Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
Jae Sung Park
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
SangIn Choung
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
Daum DNA
최근 Javascript framework 조사
최근 Javascript framework 조사최근 Javascript framework 조사
최근 Javascript framework 조사
Kichul Jung
ԾDzԷɱ로젝트
ԾDzԷɱ로젝트ԾDzԷɱ로젝트
ԾDzԷɱ로젝트
Dong-Jin Park
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
knight1128
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
종훈 박
E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발
JavaCommunity.Org
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
Sangmin Yoon
레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드
Sukjoon Kim
Cooking jquery
Cooking jqueryCooking jquery
Cooking jquery
JinKwon Lee
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
Junsu Kim
21.10.25 ASTERA Study
21.10.25 ASTERA Study21.10.25 ASTERA Study
21.10.25 ASTERA Study
Jihun Jeon
Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015
sung yong jung
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술
중선 곽
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
sung ki choi
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
Jae Sung Park
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
SangIn Choung
Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
Daum DNA
최근 Javascript framework 조사
최근 Javascript framework 조사최근 Javascript framework 조사
최근 Javascript framework 조사
Kichul Jung
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
knight1128
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
[리뷰] 풀스택 개발자를 위한 MEAM 스택 입문
종훈 박
E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발
JavaCommunity.Org
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드레일스를 이용한 애자일 웹 개발 가이드
레일스를 이용한 애자일 웹 개발 가이드
Sukjoon Kim
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
Junsu Kim
21.10.25 ASTERA Study
21.10.25 ASTERA Study21.10.25 ASTERA Study
21.10.25 ASTERA Study
Jihun Jeon
Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015
sung yong jung
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
Ian Choi
개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술개발 방식을 바꾸는 15가지 기술
개발 방식을 바꾸는 15가지 기술
중선 곽
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
sung ki choi
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea

2017년 javascript의 현재주소

  • 2. 이야기할 내용… 1. 자바스크립트와 ECMAScript 2. 라이브러리와 프레임워크 3. 자바스크립트 브라우저 외 활용
  • 3. 자바스크립트와 ECMA SCRIPT ECMA Script란? ECMA스크립트(ECMAScript, ES)는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 이 언어는 웹 상에서 널리 쓰이며, 흔히 자바스크 립트 또는 J스크립트로도 생각할 수 있지만 두 용어는 특별한 의미 차이가 있다. ECMA스 크립트와 자바스크립트, J스크립트의 관계를 이해하기 위해서는 ECMA스크립트의 역사를 알아야 한다. 라고 위키백과에 나와있습니다. 한줄 요약 - Javascript의 표준
  • 4. ECMA SCRIPT의 진행 상황 ▸ ES(ECMA Script) 1 - 1997년 재정 (초판 재정) ▸ ES2 - 1998년 재정 ▸ ES3 - 1999년 재정 (강력한 정규 표현식, 향상된 문자열 처리, 새로운 제어문 , try/catch 예외 처리, 엄격 한 오류 정의, 수치형 출력의 포매팅 등) ▸ ES4 - 폐기됨 (4번째 판은 언어에 얽힌 정치적 차이로 인해 버려졌다. 이 판을 작업 가운데 일부는 5번 째 판을 이루는 기본이 되고 다른 일부는 ECMA스크립트의 기본을 이루고 있다.) ▸ ES5 - 2009년 재정 (더 철저한 오류 검사를 제공하고 오류 경향이 있는 구조를 피하는 하부집합인 "strict mode"를 추가한다. 3번째 판의 규격에 있던 수많은 애매한 부분을 명확히 한다.) ▸ ES6 - 2015년 재정 (6판에는 클래스와 모듈 같은 복잡한 응용 프로그램을 작성하기 위한 새로운 문법이 추가되었다. 하지만 이러한 문법의 의미는 5판의 strict mode와 같은 방법으로 정의된다. 이 판은 "ECMAScript Harmony" 혹은 "ES6 Harmony" 등으로 불리기도 한다.) ▸ ES7 - 2016년 재정 (async await 추가) 자바스크립트와 ECMA SCRIPT
  • 6. 라이브러리와 프레임워크 JQUERY ▸jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. (jQuery는 HTML의 클라이언트 측 스크립팅을 간소화하도록 설계된 크로스 플랫폼 JavaScript 라이브러리입니다.) ▸사실상 자바스크립트의 표준처럼 사용되고 있는 라이브러리 ▸하지만 ES5부터 Javascript 표준에서 다양한 지원이 되어 Jquery를 이용하는게 유행에 뒤처지는 일로 인식되기 시작 함 ▸하지만 기존 소스들이 대부분 jqeury로 작성되어있고 국내는 IE7~8등의 오래된 브라우저 지원에 대한 이슈때문에 Jquery 없이 개발하는 경우는 드뭄 ▸그래서 우리는?? 개발할 서비스의 브라우저 커버리지에 따라 Jquery 사용 여부를 선택하면됩니다.
  • 7. ANGULAR ▸2009년 Miško Hevery의 개인 프로젝트로 시작. ▸처음 개발시 웹 개발자를 대상으로 하지 않았고, ▸개발은 모르지만 HTML은 이해하는 ▸디자이너와 같은 사람들을 대상으로 함 ▸는 처음 개발 얘기 현재는 대규모 웹 클라이언트 개발용 프레임워크 ▸Angular.js는 1.x를 얘기하며 Angular는 2.x 이후부터를 얘기 ▸Angular.js에서 성능같은 이슈때문에 2.x은 전혀 다른 프레임워크로 출시 또한 권장 언어도 Javascript에서 TypeScript로 변경 ▸TypeScript와 함께 Rxjs를 적극 도입함 ▸Google이 밀고있는 언어이지만 Google은 사용하지 않고 있음 ▸프레임워크 외에 material2 angular-cli 등 개발자가 필요한 환경 및 디자인도 같이 제공하고 있음 ▸공부해야하나?(관심있으면 추천하나 굳이 공부하실 필요는 없습니다.) 라이브러리와 프레임워크
  • 8. REACT ▸Facebook이 내놓은 자바스크립트 프레임워크 ▸2015년에는 Graphql를 발표하며 Rest Api의 단점을 보완한 개발 방향을 제시 ▸Angular와 다르게 Facebook은 적극적으로 사용하고있음 ▸2017년에는 Facebook에서 UI 컴퍼넌트도 발표한다는 얘기가 많음 ▸Angular vs React ▸국내는 확실히 React가 우세함 ▸또한 React Native로 멀티플랫폼 개발하기 쉬움(Angular도 가능 NativeScript를 이용하면) 라이브러리와 프레임워크
  • 9. VUE.JS ▸Vue.js는 뷰 레이어에 집중하는 프레임워크로, Google에서 AngularJS 개발에 참여하기도 했던 Evan You가 2014년에 발표 함 ▸ MVVM(model-view-viewmodel) 패턴으로 MVC 패턴의 컨트롤러 와 같이 데이터 관리 및 액션 처리에 집중되어있음 ▸AngularJS와 유사성(heavily influenced by Angular)을 보이기도 하나 AngularJS에 비해 용량이 작다는 점을 장점으로 내세우고 ㅇ있음 ▸최근 자바스크립트 브라우저 프레임워크는 Angular vs React vs vue.js ▸가볍다는 장점에서 React를 위협하고 있다고함 라이브러리와 프레임워크
  • 10. VANILLA JS ▸Vanilla는 아이스크림중 가장 기본적인 맛인 바닐라를 지칭하 는 단어 ▸최근 자바스크립트 프레임워크 라이브러리가 홍수처럼 등장 하는걸 풍자하는 내용 ▸순수한 JavaScript만을 사용하는 경우를 마치 프레임워크를 사용하는 것으로 보이게 지칭하는 이름 ▸jQuery의 API에 대응하는 VanillaJS 코드를 확인할 수 있는 "You might not need jQuery"와 같은 사이트도 있다. 라이브러리와 프레임워크
  • 11. RXJS ▸RxJS는 ReactiveX의 JavaScript 구현체임 ▸ReactiveX는 옵서버 시퀀스를 이용해 비동기 이벤트 기반의 프로그램으 로 데이터 스트림을 처리하는 라이브러리 ▸주요한 언어(Java, Swift, .NET 등)에서 모두 사용할 수 있음 ▸RxJS는 비동기 처리의 흐름을 효율적으로 제어해 콜백 지옥 문제를 해결 할 수 있음 (RxJS의 주된 용도가 이것만은 아님) ▸최근 자바스크립트 개발이 SPA 형태의 개발이 늘어남에 따라 많은 주목 을 받고 있음 ▸복잡한 자바스크립트 개발형태일 경우 사용고려 추천 라이브러리와 프레임워크
  • 12. 자바스크립트 브라우저 외 활용 패키지 관리자(NPM / BOWER) ▸NPM 과 Bower의 차이
  • 13. ▸사용하는 이유 ▸의존성을 자동으로 체크해줌 ▸ex) jquery ui 1.12.x 버전의 경우 jquery 1.7 이상이 필요함 ▸이러한 부분을 jquery ui 사용할 버전 선택하면 자동으로 해 당하는 jquery 버전을 같이 관리해줌 자바스크립트 브라우저 외 활용 패키지 관리자(NPM / BOWER)
  • 14. 번들러와 빌드 도구 ▸Task Runner ▸작업 자동화 도구 ▸grunt, gulp ▸Bundle / builder ▸Js + css + html -> app.js ▸Webpack, browserify, rollup.js 자바스크립트 브라우저 외 활용
  • 15. 그외의 활용 ▸node.js ▸PWA(Progressive Web App) ▸NativeScript ▸Electron 자바스크립트 브라우저 외 활용