35
Vanilla JS 2016.12

2016 W3C Conference #2 : VANILA JS로 개발하기

  • Upload
    -

  • View
    16

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 2016 W3C Conference #2 : VANILA JS로 개발하기

Vanilla JS2016.12

Page 2: 2016 W3C Conference #2 : VANILA JS로 개발하기

AGENDA

• Vanilla JS?

• Vanilla JS vs jQuery

• 활용사례

Page 3: 2016 W3C Conference #2 : VANILA JS로 개발하기

Vanilla JS?

Page 4: 2016 W3C Conference #2 : VANILA JS로 개발하기
Page 5: 2016 W3C Conference #2 : VANILA JS로 개발하기

VanillaJS === JavaScript

Page 6: 2016 W3C Conference #2 : VANILA JS로 개발하기
Page 7: 2016 W3C Conference #2 : VANILA JS로 개발하기

- not customized from their original form - unexpecting, normal, plain - standard, unpached

https://en.wikipedia.org/wiki/Vanilla_software

Page 8: 2016 W3C Conference #2 : VANILA JS로 개발하기

Documentation

https://developer.mozilla.org/en-US/docs/Web/JavaScript

Page 9: 2016 W3C Conference #2 : VANILA JS로 개발하기

Vanilla JS vs jQuery

Page 10: 2016 W3C Conference #2 : VANILA JS로 개발하기

Selectors (ID)

// jQuery

$(‘#testid’);

// Vanilla JS

document.getElementById('testid');

Page 11: 2016 W3C Conference #2 : VANILA JS로 개발하기

Selectors (Class)

// jQuery

$(‘.testClass’);

// Vanilla JS

document. getElementsByClassName(‘.testClass');

Page 12: 2016 W3C Conference #2 : VANILA JS로 개발하기

Class manipulation

// jQuery

$('div').toggleClass('testClass');

// JavaScript

var div = document.querySelector('div');

div.classList.toggle('testClass');

Page 13: 2016 W3C Conference #2 : VANILA JS로 개발하기

Events

// jQuery

$(‘div’).on(‘click’, eventHandler);

// JavaScript

var div = document.querySelector('div');

div.addEventListener(‘click’, eventHandler);

Page 14: 2016 W3C Conference #2 : VANILA JS로 개발하기

Elements

http://vanilla-js.com/

Page 15: 2016 W3C Conference #2 : VANILA JS로 개발하기

AJAX Call

http://vanilla-js.com/

Page 16: 2016 W3C Conference #2 : VANILA JS로 개발하기

성능은?

Page 17: 2016 W3C Conference #2 : VANILA JS로 개발하기

DOM access #1

Page 18: 2016 W3C Conference #2 : VANILA JS로 개발하기

DOM access #2

Page 19: 2016 W3C Conference #2 : VANILA JS로 개발하기

JavaScript web frameworks benchmark

Page 20: 2016 W3C Conference #2 : VANILA JS로 개발하기

활용사례

Page 21: 2016 W3C Conference #2 : VANILA JS로 개발하기
Page 22: 2016 W3C Conference #2 : VANILA JS로 개발하기

적정기술에서 기술최적화

Page 23: 2016 W3C Conference #2 : VANILA JS로 개발하기

Framework 전성시대"자바스크립트 전성시대 온다” - 2011년 3월 zdnet

http://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/

Page 24: 2016 W3C Conference #2 : VANILA JS로 개발하기

JavaScript framework 2016

Page 25: 2016 W3C Conference #2 : VANILA JS로 개발하기
Page 26: 2016 W3C Conference #2 : VANILA JS로 개발하기
Page 27: 2016 W3C Conference #2 : VANILA JS로 개발하기

튜닝의 끝은 순정?

Page 28: 2016 W3C Conference #2 : VANILA JS로 개발하기

ES6로 개발

Page 29: 2016 W3C Conference #2 : VANILA JS로 개발하기

ES6 개발환경 준비

Page 30: 2016 W3C Conference #2 : VANILA JS로 개발하기

그럼에도 분명 매력적인 Vanilla JS

Page 31: 2016 W3C Conference #2 : VANILA JS로 개발하기

그 외, 소소한 몸집줄이기

Page 32: 2016 W3C Conference #2 : VANILA JS로 개발하기

Custom Build

Exclude all ajax functionality: grunt custom:-ajax

Excluding css removes modules depending on CSS: effects, offset, dimensions. grunt custom:-css

Exclude a bunch of modules: grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-event/alias,-offset,-wrap

Page 33: 2016 W3C Conference #2 : VANILA JS로 개발하기

What features in ES6, ES7

Page 34: 2016 W3C Conference #2 : VANILA JS로 개발하기

Questions?