javascript๐Ÿช“/javascript ์ˆ˜์—…

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€? ๊ฐœ์š”

hyojinny 2022. 10. 11. 09:50

1. html ๋งˆํฌ์—… ๋žญ๊ท€์ง€ (์–ธ์–ด)

2. css ์Šคํƒ€์ผ ์‹œํŠธ

 

3. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

์–ธ์–ด ์ฝ๊ธฐ ์“ฐ๊ธฐ 

๋‹จ์–ด 3-4์ฒœ๊ฐœ ์‘์šฉํ•„์š”..(css 15-20๋ฐฐ)

๊ทธ์ค‘์— ์›น ui ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ๊ฒƒ ์ตํžˆ๊ธฐ

ํ”„๋ก ๋“œ์—”๋“œ์šฉ

 

4. ์ž๋ฐ”

๋ฐฑ์—”๋“œ์šฉ ์™„์ „ํžˆ ๋‹ค๋ฆ„

 


 

ES๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ดˆ์ฐฝ๊ธฐ ์ด๋ฆ„ - ์—ํฌ๋งˆ ์ŠคํŠธ๋ฆฝํŠธ (ES) > ํ˜„์žฌ ์ž๋ฐ”์ด๋ฆ„์œผ๋กœ ํ†ต์šฉ

์ž๋ฐ”๋Š” ๋Œ€๋ถ€๋ถ„ ์ œ์ž‘๊ฐ€๋Šฅ, ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค.

๋ฉ€ํ‹ฐํ”Œ๋ž˜ํผ ๋งฅ,os,๋ชจ๋ฐ”์ผ ๋“ฑ๋“ฑ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ชจ๋“  ํ™˜๊ฒฝ์— ๋‹ค ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค. 

 

ES5(2009๋…„)
- ๋ ˆ๊ฑฐ์‹œ(์˜ˆ์ „์‚ฌ์ดํŠธ 5-6๋…„์ „) ํ”„๋กœ์ ํŠธ์—์„œ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉ
- ์ผ๋ฐ˜์‚ฌ์ดํŠธ, ๊ด€๊ณต์„œ, ๋Œ€๊ธฐ์—…์—์„œ ์—ฌ์ „ํžˆ ์‚ฌ์šฉ

(์šฐ๋ฆฌ๋‚˜๋ผ๋Š” ์ต์Šค ๋งž์ถ”๋Š”๊ฒƒ์ด ๊ธฐ๋ณธ์ด์˜€๊ธฐ ๋•Œ๋ฌธ์— ES6 ๋ฅผ ์‚ฌ์šฉ์„ ์ž˜ ์•ˆํ•จ, ํ˜„์žฌ๊นŒ์ง€ ES5 ์‚ฌ์šฉ)


ES6(2015๋…„)
- ๋งŽ์€ ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜๊ณ , let, const ๋ณ€์ˆ˜๋“ฑ ์ด์ „๋ฒ„์ „์— ๋น„ํ•ด ๋งŽ์€ ๋‚ด์šฉ์ด ๊ฐœ์„ ๋จ
- ํด๋ž˜์Šค(๋ชจ๋“ˆ) ๋ฌธ๋ฒ•์ด ์ถ”๊ฐ€๋จ
IE11์—์„œ ์ง€์›ํ•˜์ง€์•Š๋Š” ๋ฌธ๋ฒ•์ด ๋งŽ์Œ
- ES6 ์‚ฌ์šฉ์กฐ๊ฑด
-- ํ”„๋กœ์ ํŠธ๊ตฌ์„ฑ์›(์„œ๋ฒ„๊ฐœ๋ฐœ์ž, ํ”„๋ก ํŠธ๊ฐœ๋ฐœ์ž, ํผ๋ธ”๋ฆฌ์…”)๋“ค ๋ชจ๋‘ ES6 ์ŠคํŽ™์„ ์ดํ•ดํ•ด์•ผํ•จ
-- ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ
-- ํ”„๋ก ํŠธ์—”๋“œ๊ฐœ๋ฐœ๋„๊ตฌ ํ™œ์šฉ(babel(ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ) ์‚ฌ์šฉํ•˜์—ฌ es5๋กœ ๋ณ€ํ™˜,
   webpack(๋ชจ๋“ˆ๋ฒˆ๋“ค๋Ÿฌ) ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ(jsํŒŒ์ผ)์„ ๋ฒˆ๋“ค๋งํ•˜์—ฌ ํ•œํŒŒ์ผ๋กœ ๋ฌถ์–ด์คŒ)
- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ด€๋ จ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋ชจ๋‘ ES6๋กœ ๋ฐ”๋€Œ๊ณ  ์žˆ์Œ

(์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋ฆฌ์•กํŠธ ๋“ฑ๋“ฑ ES6๋งŒ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„์„œ ES5/6 ๋‘˜๋‹ค์‚ฌ์šฉ)


๋ณ€์ˆ˜์„ ์–ธ ๋ฐฉ์‹์ด ๋‹ค๋ฆ„ - ES5 : var ES6 : let, const ์œผ๋กœ ๋ณ€์ˆ˜์„ ์–ธ ๋‹จ์–ด๊ฐ€ ๋‹ค๋ฅด๋‹ค

์•„์‹œ์•„๊ถŒ์—์„  ์ต์Šค๋ฅผ ๋‹ค๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— ES5/6 ๋‘˜๋‹ค ์•Œ์•„์•ผํ•œ๋‹ค.


ES7, ES8, ES9(ES next)
1๋…„๋‹จ์œ„๋กœ ์‹ ๊ทœ์ŠคํŽ™์ด ์ถ”๊ฐ€๋˜๊ณ ์žˆ์Œ

 


๊ทธ๋Ÿผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋ญ˜ ํ•  ์ˆ˜ ์žˆ๋‚˜?

์• ๋‹ˆ๋ฉ”์ด์…˜(css๊ฐ™์ด) ๋งˆ์šฐ์Šค ๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š”๊ฒƒ.. ์˜ค๋Š˜ํ•˜๋ฃจ ๋ณด์ง€์•Š๊ธฐ ์ฐฝ.. ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋™์ž‘๋“ค


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„๊ฐ€๋Šฅํ•œ๊ฒƒ๋“ค
UI๊ฐœ๋ฐœ(๋ฉ”๋‰ด๋™์ž‘์ฒ˜๋ฆฌ) + ์ œ์ด์ฟผ๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
Canvas ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•œ ์ธํ„ฐ๋ ‰์…˜ 2D ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„ (๊ฒŒ์ž„ํ™”๋ฉด๊ฐ™์€, ์ผ๋ฐ˜์ ์ธ ์›น์‚ฌ์ดํŠธ๋Š” ์‚ฌ์šฉ์•ˆํ•จ)
webgl ๊ธฐ์ˆ ์„ ์ด์šฉํ•œ 3D VR ๊ตฌํ˜„
- ๊ตฌ๊ธ€ ์ธ๊ณต์ง€๋Šฅ ํ”Œ๋žซํผ์œผ๋กœ ์ธ๊ณต์ง€๋Šฅ๊ฐœ๋ฐœ + ํŒŒ์ด์ฌ
node.js(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ๋ฐฑ์—”๋“œ ํ”Œ๋žซํผ) ์‚ฌ์šฉํ•œ ๋ฐฑ์—”๋“œ ๋ฐ์ดํ„ฐ์ฒ˜๋ฆฌ

  ์ž๋ฐ”๋ณด๋‹จ ๋ฐฑ์—”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœ๊ฐ€๋Šฅ 
- ์ผ๋ ‰ํŠธ๋ก (MS ํ”Œ๋žซํผ) ํ™œ์šฉํ•œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ(pc์„ค์น˜ํ˜•)๊ฐœ๋ฐœ

  (ํฌํ† ์ƒต ์ฒ˜๋Ÿผ ์„ค์น˜ vs์ฝ”๋“œ๊ฐ€ node์™€ ์ผ๋ ‰ํŠธ๋ก ์œผ๋กœ ์‘์šฉ๊ฐœ๋ฐœ๋จ)
- ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท(IOT) ํ”Œ๋žซํผ์—์„œ ํ™”๋ฉด๋‹จ ์ฒ˜๋ฆฌ

 


UI๊ฐœ๋ฐœ์ž (ํผ๋ธ”๋ฆฌ์…”)
- html, css + ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(es5) + ์ œ์ด์ฟผ๋ฆฌ + [Canvas ํ”„๋กœ๊ทธ๋ž˜๋ฐ(์Œค ๋น„์ถ”์ฒœ) ์„ ์ด์šฉํ•˜์—ฌ UI๋™์ž‘, 2d, 3d์• ๋‹ˆ๋ฉ”์ด์…˜]
ํ”„๋ก ํŠธ์—”๋“œ๊ธฐ์ˆ (๋ฆฌ์•กํŠธ ,๋ทฐ)์„ ์‚ฌ์šฉํ•˜์ง€์•Š๋Š” ๋ชจ๋“  ์›น์‚ฌ์ดํŠธ UI๊ฐœ๋ฐœ

 

ict ์ •๋ณด๊ฐœ๋ฐœ ์–ดํ”Œ๊ฐœ๋ฐœ ํšŒ์‚ฌ ๋ฆฌ์•กํŠธ,๋ทฐ์‚ฌ์šฉ = ๋„ค(์ด๋ฒ„) ์นด(์นด์˜ค) ๋ผ(์ธ) ์ฟ (ํŒก) ๋ฐฐ(๋ฏผ) ํ† (์Šค)

 



ํ”„๋ก ํŠธ์—”๋“œ๊ฐœ๋ฐœ์ž
- html, css + ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(es6์ด์ƒ) + [์ œ์ด์ฟผ๋ฆฌ] + ํ™”๋ฉด๋‹จ์—์„œ ๋ฐ์ดํ„ฐ์กฐ์ž‘
- React, Vue ํ”„๋ ˆ์ž„์›(๋ชจ๋“ˆ๋ฐฉ์‹๊ฐœ๋ฐœ) + Next, Nuxt(SSR๋ฐฉ์‹ ํ”„๋ ˆ์ž„์›) + Git, Github ๋ฒ„์ „๊ด€๋ฆฌ
- Webpack(๋ชจ๋“ˆ๋ฒˆ๋“ค๋Ÿฌ) + Babel(ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ)
- Node.js, Mysql, MongoDB๋ฅผ ํ†ตํ•œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ๋ฐฉ์‹ ์ดํ•ด
- ํ”„๋ก ํŠธ์—”๋“œ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ๋˜๋Š” ์›น์•ฑ์˜ UI๊ฐœ๋ฐœ