๐ฑโ๐ ๋ชฉํ
- JavaScript ๋ฒ์ ํ์
- ์น์ฑ์ ๊ตฌ์ฑ ์์
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ๋ฐ ํ๊ฒฝ
๐ 1. JavaScript์ ์ญ์ฌ
1995 : Netscape
- LiveScript : ๋จ์ HTML์ ์กฐ์ํ๊ธฐ ์ํ ์ธ์ด๋ก ์ค๊ณ
- IE : JScript
1997 : JavaScript ECMA 3.0
- JavaScript ํ์ค ๊ธฐ๊ด ์ค๋ฆฝ (ECMA)
2000๋
๋ : ๋ท์ปด ๋ฒ๋ธ ๋ฐ์
- ์ธํฐ๋ท ์ฌ์ฉ๋ ํญ์ฆ
- ActionScript(Flash)๋ฅผ JavaScript ํ์คํ๋ก ๋ง๋ค๊ธฐ ์ํ ๋
ธ๋ ฅ
- Steve Jobs : No Flash !!! (IPhone)
- ๊ฒฐ๊ณผ์ ์ผ๋ก, ActionScript๋ ์ญ์ฌ์์ผ๋ก...
- ๊ณผ๋๊ธฐ ๋จ๊ณ๋ก ์ธํ ECMA 4.0 ๋ฒ์ ์ ์กด์ฌํ์ง ์์
2009 : ECMAScript 5.0
- ํ๋์ ์ฌ์ฉํ๋ JavaScript ํธํ์ฑ ๋ฒ์
- ์) Babel์ ํตํ ES ํธ๋์คํ์ผ๋ง > ECMA 5.0
2015 ์ดํ : ES2015 ~
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ์ต์ด ๋ฒ์
- ์ด ํ, ์ฐ๋๋ณ๋ก 2016, 2017... ์ถ์
๐ 2. ์น์ฑ์ ๊ตฌ์ฑ ์์
- HTML, CSS, JavaScript ๋ก ๊ตฌ์ฑ
2-1) ์คํ ๊ด์ ์ ๊ตฌ์ฑ ์์
- ๋ฐํ์ ํ๊ฒฝ์ ์ ๊ณตํ๋ ํ๊ฒฝ์ ๋ปํจ
- Browser, NodeJS
2-2) CSR & SSR
- CSR
1) Server์์ HTML ํ์ผ์ ์ ์กํ๋ค
2) Client ๋ด์์ JS์ ์ํด ํ์ด์ง ์กฐ์
- SSR
1) ์กฐ์๋ ํ์ด์ง ์์ฒด๋ฅผ ์๋ฒ๋ก ๋ถํฐ ๋ฐ๋๋ค
2-3) ๊ทธ๋ํฝ ์์คํ
- HTML, CSS์ ํตํ ํํ
- ์ฐจํธ, ์ ๋๋ฉ์ด์
, 3D : JavaScript Canvas
2-4) ์ด์ธ์
- ๋ฏธ๋์ด ํ์ผ, ์น ์์ปค, ์น ์ด์
๋ธ๋ฆฌ๋ฑ
๐ 3. ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ณ ๋ํ
- JS๋ ์ด๊ธฐ ์ค๊ณ ๋น์, ๋จ์ ์น ์กฐ์์ ์ํ ์ธ์ด
- ํ์ง๋ง, ์น์ฑ์ ๊ท๋ชจ๊ฐ ์ปค์ง๊ณ ๋ณต์กํด์ง๋ค.
- ECMA๋ ๋์์ ์ํด JavaScript์ ์๋ก์ด ๋ฌธ๋ฒ๋ค์ ์ถ๊ฐํ๊ณ ,
ES2015์์ ๋ชจ๋ ๋ฌธ๋ฒ์ด ๋ฑ์ฅํ๋ฉด์ ํ๊ฒฝ์ด ๋ฐ๋๋ค.
3-1) ES2015, ๋ชจ๋์ ๋ฑ์ฅ
- ์ด๊ธฐ JS๋ HTML > head, body ํ๊ทธ์ script ํ์ผ์ ์ถ๊ฐํด์ ๋ถ๋ฌ๋ค์ด๋ ํ์์ ์ฌ์ฉํ๋ค.
<head>
<script src="..." />
<script src="..." />
<script src="..." />
...
</head>
- ์น์ฑ์ด ์ปค์ง๋ฉด์ ๋ชจ๋ JSํ์ผ์ ์ ์ธํ๋๊ฒ ๋ถํธํ๋ค๊ณ ํ๋จ, ํด๊ฒฐ์ ์ํด ๋ชจ๋์ด ๋ฑ์ฅํ๋ค.
- import / export ๊ตฌ๋ฌธ์ ํตํด ๋ค๋ฅธ JS ํ์ผ์ ๋ถ๋ฌ๋ค๊ฐ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
import Button from 'components/atomics/button';
const App = () => <div><Button /></div>;
export default App;
<head>
<script src="./App.js" />
</head>
3-2) ๋ฒ๋ค๋ฌ์ ํธ๋์คํ์ผ๋ฌ์ ๋ฑ์ฅ
1) ๋ฒ๋ค๋ฌ
- Webpack, Parcel, Rollup๋ฑ
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋์ ๊ฐ์ ธ์ด
- ๊ตฌ๋ฌธ์ ํด์ํจ
- ํ๋์ ํ์ผ๋ก ๋ฒ๋ค๋ง (ECMA 5.0)
- ์ต์ ํ ๊ธฐ๋ฅ
- ์ฝ๋ ์ต์ ํ
- CSS, Assets ์ต์ ํ
- ์น์ฑ์ด ์ปค์ง๊ณ ํธ์๋ฅผ ์ํ์ฌ ๋ฒ๋ค๋ฌ ๊ธฐ๋ฅ๋ ์ถ๊ฐ
- ๋ฒ๋ค๋ฌ๊ฐ ๋น๋ํด์ ธ ์ฌ์ฉ, ์ธํ
์ด ๋ณต์กํด ์ง
2) ํธ๋์คํ์ผ๋ฌ
- ๋ํ์ ์ผ๋ก, Babel์ด ์กด์ฌ
- ์น ๊ฐ๋ฐ ์ธ์ด๋ JavaScript๊ฐ ์ ์ผํจ
- ๋ธ๋ผ์ฐ์ ( JavaScript > ๊ธฐ๊ณ์ด > ๋ธ๋ผ์ฐ์ )
- ES2015 > ECMA 5.0
- TypeScript > ECMA 5.0
์ฐธ๊ณ
ํจ์คํธ์บ ํผ์ค ๊น๋ฏผํ์ ํ๋ก ํธ์๋ ์์นด๋ฐ๋ฏธ