๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

์•ต๊ทค๋Ÿฌ ํ”„๋ ˆ์ž„์›Œํฌ: ์ดˆ๋ณด์ž๋ถ€ํ„ฐ ์ „๋ฌธ๊ฐ€๊นŒ์ง€ ์ดํ•ดํ•˜๊ธฐ

by infomationtree 2024. 12. 19.

์•ต๊ทค๋Ÿฌ : ํ˜„๋Œ€์ ์ธ ์›น ๊ฐœ๋ฐœ์˜ ํ•ต์‹ฌ

 

์•ต๊ทค๋Ÿฌ๋Š” Google์—์„œ ๊ฐœ๋ฐœํ•œ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋ก ํŠธ์—”๋“œ ์›น ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํšจ์œจ์ ์ด๊ณ  ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์•ต๊ทค๋Ÿฌ๋ฅผ ๊ผญ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ์•ต๊ทค๋Ÿฌ์˜ ์ฃผ์š” ํŠน์ง•๊ณผ ์‚ฌ์šฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ์‹ค๋ฌด ์ ์šฉ ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์•ต๊ทค๋Ÿฌ๋Š” 2016๋…„์— AngularJS์˜ ํ›„์†์ž‘์œผ๋กœ ์ถœ์‹œ๋œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

์ฃผ๋กœ TypeScript๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, HTML ํ…œํ”Œ๋ฆฟ๊ณผ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)์„ ๋งŒ๋“œ๋Š” ๋ฐ ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Google์—์„œ ์ฃผ๋„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฉฐ, ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Angular CLI๋Š” ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ๊ณผ ๋นŒ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ๋Š” ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ด๋ฉฐ, ๋ชจ๋ฐ”์ผ, ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“ˆํ™”์™€ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ์š”๊ตฌ๋ฅผ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ๋ฐ RxJS์™€ ๊ฐ™์€ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ์˜ ์ •์˜์™€ ํŠน์ง•

์•ต๊ทค๋Ÿฌ์˜ ์ฃผ์š” ํŠน์ง•

์•ต๊ทค๋Ÿฌ๋Š” ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ฑ„ํƒํ•˜์—ฌ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์–‘๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ํ†ตํ•ด ๋ทฐ์™€ ๋ชจ๋ธ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Dependency Injection(DI)์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ๋ชจ๋“ˆ์„ฑ๊ณผ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

TypeScript ๊ธฐ๋ฐ˜์œผ๋กœ, ์ฝ”๋“œ ์•ˆ์ •์„ฑ๊ณผ ์˜ค๋ฅ˜ ๊ฐ์†Œ๋ฅผ ๋•์Šต๋‹ˆ๋‹ค.

RxJS์™€ ํ•จ๊ป˜ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜์—ฌ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Angular Universal์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Ivy ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋” ๋น ๋ฅธ ๋นŒ๋“œ ์‹œ๊ฐ„๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ด‘๋ฒ”์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์ƒํƒœ๊ณ„๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์†์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ์˜ ์ฃผ์š” ํŠน์ง•

์•ต๊ทค๋Ÿฌ์˜ ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํ•˜๊ธฐ

์•ต๊ทค๋Ÿฌ๋Š” ์ปดํฌ๋„ŒํŠธ, ํ…œํ”Œ๋ฆฟ, ๋ชจ๋“ˆ, ์„œ๋น„์Šค๋กœ ๊ตฌ์„ฑ๋œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ UI๋ฅผ ์ •์˜ํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ์€ HTML๊ณผ Angular Directive๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์€ ๊ด€๋ จ๋œ ์ปดํฌ๋„ŒํŠธ์™€ ์„œ๋น„์Šค๋“ค์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€ ์ „ํ™˜์„ ๊ด€๋ฆฌํ•˜๊ณ , SPA ๋™์ž‘์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ, DI๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Angular CLI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ๋Š” ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ชจ๋“ˆํ™”, ํ™•์žฅ์„ฑ, ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํ•˜๊ธฐ

์•ต๊ทค๋Ÿฌ์˜ ์žฅ์ 

์•ต๊ทค๋Ÿฌ๋Š” ๋น ๋ฅธ ๊ฐœ๋ฐœ ์†๋„์™€ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์™€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

TypeScript ์‚ฌ์šฉ์œผ๋กœ ๋” ์•ˆ์ „ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ RxJS๋ฅผ ํ†ตํ•œ ๋น„๋™๊ธฐ ์ž‘์—… ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ„ํŽธํ•ฉ๋‹ˆ๋‹ค.

Google์˜ ์ง€์†์ ์ธ ์ง€์›์œผ๋กœ ์•ˆ์ •์„ฑ๊ณผ ์ตœ์‹  ํŠธ๋ Œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ƒํƒœ๊ณ„๋กœ ์ธํ•œ ํ’๋ถ€ํ•œ ์ž๋ฃŒ์™€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

Angular Material๊ณผ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ํ˜„๋Œ€์ ์ธ UI ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํšจ์œจ์ ์ธ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์ง€์›ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์œ ๋‹› ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ์˜ ์žฅ์ 

์•ต๊ทค๋Ÿฌ ์‹œ์ž‘ํ•˜๊ธฐ

Node.js์™€ npm์„ ์„ค์น˜ํ•˜์—ฌ ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.

Angular CLI๋ฅผ ์„ค์น˜ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

`ng new` ๋ช…๋ น์–ด๋กœ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ปดํฌ๋„ŒํŠธ๋Š” `ng generate component` ๋ช…๋ น์–ด๋กœ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ์„œ๋ฒ„๋Š” `ng serve` ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” npm์„ ํ†ตํ•ด ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ์„ธ์š”.

ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์ถ•๋„ Angular CLI์—์„œ ์ž๋™์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ ์‹œ์ž‘ํ•˜๊ธฐ

์•ต๊ทค๋Ÿฌ์˜ ํ™œ์šฉ ์‚ฌ๋ก€

๋Œ€๊ทœ๋ชจ ๊ธฐ์—… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA) ์ œ์ž‘์— ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

e-Commerce ์›น์‚ฌ์ดํŠธ์—์„œ ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๊ต์œก ํ”Œ๋žซํผ๊ณผ ๋Œ€์‹œ๋ณด๋“œ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ง„๋ณด๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(PWA)์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์™€ ์ฐจํŠธ ์ค‘์‹ฌ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Angular Universal๋กœ SEO๊ฐ€ ์ค‘์š”ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

์•ต๊ทค๋Ÿฌ์˜ ํ™œ์šฉ ์‚ฌ๋ก€

์•ต๊ทค๋Ÿฌ ๊ฐœ๋ฐœ ๋ชจ๋ฒ” ์‚ฌ๋ก€

์ปดํฌ๋„ŒํŠธ๋Š” ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ช…ํ™•ํ•œ ํด๋” ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜์—ฌ ๊ฐ€๋…์„ฑ์„ ๋†’์ด์„ธ์š”.

Lazy Loading์„ ํ™œ์šฉํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

RxJS ์—ฐ์‚ฐ์ž๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Angular CLI ๋ช…๋ น์–ด๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜์„ธ์š”.

์œ ๋‹› ํ…Œ์ŠคํŠธ์™€ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.

ํ…œํ”Œ๋ฆฟ์—์„œ ๋ณต์žกํ•œ ๋กœ์ง์€ ์ง€์–‘ํ•˜๊ณ  ์„œ๋น„์Šค์— ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ •๊ธฐ์ ์œผ๋กœ Angular ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ตœ์‹  ๊ธฐ๋Šฅ์„ ํ•™์Šตํ•˜์„ธ์š”.

์•ต๊ทค๋Ÿฌ ๊ฐœ๋ฐœ ๋ชจ๋ฒ• ์‚ฌ๋ก€

์•ต๊ทค๋Ÿฌ ๊ด€๋ จ ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ FAQ

Q: ์•ต๊ทค๋Ÿฌ์™€ AngularJS๋Š” ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€์š”?

A: Angular๋Š” TypeScript ๊ธฐ๋ฐ˜์˜ ์ตœ์‹  ํ”„๋ ˆ์ž„์›Œํฌ์ด๋ฉฐ, AngularJS๋Š” JavaScript๋กœ ์ž‘์„ฑ๋œ ์ดˆ๊ธฐ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.


Q: ์•ต๊ทค๋Ÿฌ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋…์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

A: ์ปดํฌ๋„ŒํŠธ, ํ…œํ”Œ๋ฆฟ, ์„œ๋น„์Šค, ๋ชจ๋“ˆ, DI, RxJS๊ฐ€ ํ•ต์‹ฌ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.


Q: ์•ต๊ทค๋Ÿฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ๋ฐ ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆด๊นŒ์š”?

A: ๊ธฐ๋ณธ ๊ฐœ๋…์€ 1~2์ฃผ, ์‹ค๋ฌด ์‚ฌ์šฉ์€ 1~2๊ฐœ์›” ์ด์ƒ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Q: ์•ต๊ทค๋Ÿฌ๋Š” ์–ด๋–ค ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•œ๊ฐ€์š”?

A: ๋Œ€๊ทœ๋ชจ SPA, e-Commerce, ๋Œ€์‹œ๋ณด๋“œ ์‹œ์Šคํ…œ, ๊ต์œก ํ”Œ๋žซํผ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.


Q: TypeScript๋ฅผ ๊ผญ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?

A: ๋„ค, ์•ต๊ทค๋Ÿฌ๋Š” TypeScript๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ•„์ˆ˜์ ์œผ๋กœ ์ตํ˜€์•ผ ํ•ฉ๋‹ˆ๋‹ค.


Q: ์•ต๊ทค๋Ÿฌ๋Š” SEO์— ์ ํ•ฉํ•œ๊ฐ€์š”?

A: Angular Universal์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์„ ํ†ตํ•ด SEO๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Q: React์™€ ์•ต๊ทค๋Ÿฌ ์ค‘ ๋ฌด์—‡์„ ์„ ํƒํ•ด์•ผ ํ•˜๋‚˜์š”?

A: ํ”„๋กœ์ ํŠธ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ํŒ€ ๊ฒฝํ—˜์— ๋”ฐ๋ผ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•ต๊ทค๋Ÿฌ๋Š” ๊ตฌ์กฐํ™”๋œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ ํ˜ธํ•  ๋•Œ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


Q: ์•ต๊ทค๋Ÿฌ ํ”„๋กœ์ ํŠธ์˜ ๋ฐฐํฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?

A: `ng build --prod` ๋ช…๋ น์–ด๋กœ ๋นŒ๋“œํ•œ ํ›„, ๋ฐฐํฌ ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.