πŸ’«ReactλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μΈκ°€μš”? μ•„λ‹ˆλ©΄ ν”„λ ˆμž„μ›Œν¬μΈκ°€μš”?πŸ’¦

혜혜·2023λ…„ 2μ›” 12일
0

React

λͺ©λ‘ 보기
2/9
post-thumbnail

cs λ©΄μ ‘ μŠ€ν„°λ””λ₯Ό μ€€λΉ„ν•˜λ˜ 쀑에 λ§Œλ‚œ 질문... πŸ‘€ λΌμ΄λΈŒλŸ¬λ¦¬μ™€ ν”„λ ˆμž„μ›Œν¬μ˜ 차이에 λŒ€ν•œ μ„€λͺ…은 잘 λ‚˜μ™€ μžˆλŠ”λ°, κ·Έλ ‡λ‹€λ©΄ ReactλŠ” μ™œ λΌμ΄λΈŒλŸ¬λ¦¬μΈκ°€μ— λŒ€ν•œ λ‚΄ κΆκΈˆμ¦μ„ μ‹œμ›ν•˜κ²Œ ν•΄κ²°ν•΄ μ£ΌλŠ” 글은 찾지 λͺ»ν–ˆμ–΄μ„œ λΈ”λ‘œκ·Έμ— 직접 μž‘μ„±ν•΄ 보렀고 ν•œλ‹€.

λͺ©μ°¨

  1. ν”„λ ˆμž„μ›Œν¬λž€?
  2. λΌμ΄λΈŒλŸ¬λ¦¬λž€?
  3. ν”„λ ˆμž„μ›Œν¬ vs 라이브러리
  4. Reactκ°€ 라이브러리인 이유
  5. 참고 자료

1. ν”„λ ˆμž„μ›Œν¬λž€?


: μ›ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„μ— μ§‘μ€‘ν•˜μ—¬ κ°œλ°œν•  수 μžˆλ„λ‘, μΌμ •ν•œ ν˜•νƒœμ™€ ν•„μš”ν•œ κΈ°λŠ₯을 κ°–μΆ”κ³  μžˆλŠ” 골격, λΌˆλŒ€

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발 μ‹œ, "ν•„μˆ˜μ μΈ μ½”λ“œ", "μ•Œκ³ λ¦¬μ¦˜", "DB 연동"κ³Ό 같은 κΈ°λŠ₯듀을 μœ„ν•΄ μ–΄λŠ μ •λ„μ˜ λΌˆλŒ€(ꡬ쑰)λ₯Ό μ œκ³΅ν•˜λ©°,
    μ΄λŸ¬ν•œ λΌˆλŒ€ μœ„μ—μ„œ μ‚¬μš©μžκ°€ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 개발
  • μ•±/μ„œλ²„ λ“±μ˜ ꡬ동, λ©”λͺ¨λ¦¬ 관리, 이벀트 루프 λ“± 곡톡 뢀뢄은 ν”„λ ˆμž„μ›Œν¬κ°€ κ΄€λ¦¬ν•˜λ©°,
    μ‚¬μš©μžλŠ” ν”„λ ˆμž„μ›Œν¬κ°€ μ •ν•΄ μ€€ λ°©μ‹λŒ€λ‘œ 클래슀, λ©”μ†Œλ“œλ“€μ„ κ΅¬ν˜„ν•˜λ©΄ 됨!
  • μ˜ˆμ‹œ
    • Spring : Java μ„œλ²„ 개발
    • Django, Flask : Python μ„œλ²„ 개발
    • Android : μ•ˆλ“œλ‘œμ΄λ“œ μ•± 개발
    • Cocoa Touch : 아이폰 μ•± 개발
    • Angular, Vue.js : μ›Ή 개발

2. λΌμ΄λΈŒλŸ¬λ¦¬λž€?


: μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•  λ•Œ, 컴퓨터 ν”„λ‘œκ·Έλž¨μ΄ μ‚¬μš©ν•˜λŠ” λΉ„νœ˜λ°œμ„± μžμ›μ˜ λͺ¨μž„

  • νŠΉμ • κΈ°λŠ₯을 λͺ¨μ•„ λ‘” μ½”λ“œ, ν•¨μˆ˜λ“€μ˜ 집합
  • μ½”λ“œ μž‘μ„± μ‹œ ν™œμš© κ°€λŠ₯ν•œ λ„κ΅¬λ“€μ˜ 집합
  • μ˜ˆμ‹œ
    • tensorflow, pandas, beautifulsoup λ“± : Python pip 으둜 μ„€μΉ˜ν•œ νŒ¨ν‚€μ§€/λͺ¨λ“ˆλ“€
    • STL : C++ ν‘œμ€€ νƒ¬ν”Œλ¦Ώ 라이브러리
    • Node.js μ—μ„œ npm 으둜 μ„€μΉ˜ν•œ λͺ¨λ“ˆλ“€
    • JQuery : HTML ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ μ‘°μž‘ λ‹¨μˆœν™”
    • React.js : μ›Ήμ—μ„œ UI κ°œλ°œμ— ν™œμš©

3. ν”„λ ˆμž„μ›Œν¬ vs 라이브러리


🌟 'ν”„λ ˆμž„μ›Œν¬'와 '라이브러리'의 μ°¨μ΄λŠ” μ œμ–΄ νλ¦„μ˜ κΆŒν•œμ΄ 어디에 μžˆλŠ”κ°€!

βœ”οΈ 라이브러리λ₯Ό μ‚¬μš©ν•  λ•Œ, μ‚¬μš©μžλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œμ˜ 흐름을 직접 μ œμ–΄ν•΄μ•Ό ν•œλ‹€.
β†’ 개발 μ‹œ ν•„μš”ν•œ κΈ°λŠ₯이 μžˆμ„ 경우, λŠ₯λ™μ μœΌλ‘œ 라이브러리λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©ν•˜κ±°λ‚˜ 기쑴에 κ΅¬μ„±λœ ν•¨μˆ˜ Β· μ½”λ“œλ₯Ό κ°€μ Έμ•„ 써야 함

βœ”οΈ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•  λ•Œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œκ°€ ν”„λ ˆμž„μ›Œν¬μ— μ˜ν•΄ μ‚¬μš©λœλ‹€.
β†’ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œλŠ” ν”„λ ˆμž„μ›Œν¬κ°€ 짜 놓은 ν‹€μ—μ„œ μˆ˜λ™μ μœΌλ‘œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ—, μ œμ–΄μ˜ 흐름은 ν”„λ ˆμž„μ›Œν¬κ°€ 가지고 있고, μ‚¬μš©μžλŠ” κ·Έ μ•ˆμ— ν•„μš”ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 것

βœ”οΈ ν”„λ ˆμž„μ›Œν¬ - μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œ - 라이브러리 관계

↑ ↑ ↑이미지 μΆœμ²˜β†‘ ↑ ↑

4. Reactκ°€ 라이브러리인 이유 🌟


이건 μ•„λž˜ μ°Έκ³  μžλ£Œμ— 넣은 YouTube μ˜μƒμ— λ§Žμ€ 도움을 λ°›μ•˜λ‹€. μžλ§‰μ€ μ—†μ§€λ§Œ κ°•μ˜ μžλ£Œκ°€ μ˜μ–΄λ‘œ λ˜μ–΄ 있기 λ•Œλ¬Έμ— 천천히 보면 도움이 정말 많이 λ˜λŠ” 것 κ°™λ‹€ πŸ‘ μ˜μƒμ— λ‚˜μ˜¨ κ°•μ˜μžλ£Œλ₯Ό ν•œκΈ€λ‘œ 정리해 보겠닀.

  1. λ§Žμ€ λ‚΄μž₯ κΈ°λŠ₯이 λΆ€μ‘±ν•˜κ³ , 타사 νŒ¨ν‚€μ§€(third-party packages)에 크게 의쑴
    ex) routing 을 μœ„ν•΄ react-router λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜κ±°λ‚˜ APIλ₯Ό ν˜ΈμΆœν•˜κΈ° μœ„ν•΄ Axios λ‚˜ fetch APIλ₯Ό μ‚¬μš©ν•΄μ•Ό 함

  2. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ„ μœ„ν•œ μ™„μ „ν•œ μƒνƒœκ³„λ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠμœΌλ©°, λ””μžμΈ μ‹œμŠ€ν…œλ„ μ œκ³΅ν•˜μ§€ μ•ŠμŒ
    β†’ React μ—μ„œλŠ” 무언가λ₯Ό ν•  수 μžˆλŠ” "μ˜¬λ°”λ₯Έ" 방법이 μ—†κ³ , μŠ€νƒ€μΌ κ°€μ΄λ“œλ„ μ—†λ‹€.
    즉, Reactλ₯Ό μ΄μš©ν•˜λŠ” λͺ¨λ“  ν”„λ‘œμ νŠΈκ°€ μ™„μ „νžˆ λ‹€λ₯΄κ²Œ 보일 수 있음

  3. React λŠ” 무언가λ₯Ό ν•  수 μžˆλŠ” μ˜΅μ…˜μ΄ 많고,
    도ꡬ(νŒ¨ν‚€μ§€)λ₯Ό μ‹ μ€‘ν•˜κ²Œ μ„ νƒν•˜κ³ ,
    λͺ¨λ“  ν”„λ‘œμ νŠΈμ— μ ν•©ν•œ 섀계 μ‹œμŠ€ν…œμ„ λ§Œλ“€μ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—,
    "독단적" 이닀!

βœ”οΈ "ν”„λ ˆμž„μ›Œν¬"λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ— ν•„μš”ν•œ μ μ ˆν•œ μƒνƒœκ³„λ₯Ό μ œκ³΅ν•˜λ©°,
보톡 API, 라이브러리, 지원 ν”„λ‘œκ·Έλž¨, 컴파일러 λ“±λ“±κ³Ό ν•¨κ»˜ 제곡됨
ex) Next.js λŠ” λΌμš°νŒ…, SSR, API 관리, 이미지 μ΅œμ ν™” λ“± λ§Žμ€ λ‚΄μž₯ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” React.js 의 ν”„λ ˆμž„μ›Œν¬!
↑ μ΄λŸ¬ν•œ κΈ°λŠ₯듀은 λͺ¨λ‘ κ·Έλƒ₯ React.js μ—μ„œλ„ μ‚¬μš©ν•  μˆ˜λŠ” μžˆμ§€λ§Œ, 그러렀면 좔가적인 μ½”λ“œλ₯Ό 더 많이 μž‘μ„±ν•΄μ•Ό ν•œλ‹€.

5. 참고자료

[κ°œλ°œμƒμ‹]ν”„λ ˆμž„μ›Œν¬(Framework)와 라이브러리(Library)의 차이
ReactλŠ” μ™œ ν”„λ ˆμž„μ›Œν¬κ°€ μ•„λ‹ˆλΌ 라이브러리일까?
Why React is a library not framework

profile
μ‰½κ²Œλ§Œμ‚΄μ•„κ°€λ©΄μž¬λ―Έμ—†μ–΄λΉ™κ³ 

0개의 λŒ“κΈ€