1 프론트엔드 라이브러리
1) 라이브러리란?
→ 자주 사용하는 기능을 모아둔 '도구 모음'
2) 프론트엔드 라이브러리란?
→ 사용자 화면(UI)을 쉽게 만들 수 있게 돕는 자바스크립트 코드 모음
→ 컴포넌트라는 단위로 코드를 나눠 재사용이 가능
→ 값(상태)이 바뀌면 자동으로 UI가 다시 렌더링됨
3) 왜 필요할까?
→ 코드가 많아질수록 유지보수가 어려움
→ 반복되는 코드와 복잡한 협업을 해결
4) 프레임워크와의 차이점
| 구분 | 라이브러리 | 프레임워크 |
| 주도권 | 개발자가 직접 호출 | 프레임워크가 호출 |
| 유연성 | 유연함 | 정해진 틀에 맞춰야 함 |
| 예시 | React | Angular |
5) 흔한 오해 정리
→ JS만 쓰는 것은 규모가 작으면 효율적이지만, 규모가 커질수록 비효율적
→ 라이브러리는 화면 구성, 데이터 흐름까지 관리하는 강력한 도구
6) 꼭 알아야 할 개념
→ 컴포넌트는 UI를 쪼개서 재사용 가능한 단위
→ 상태(State)는 UI에 영향을 주는 값
→ 랜더(Render)는 상태가 바뀔 때 UI를 다시 그림
→ 선언형 방식은 무엇을 보여줄지만 작성하고, 어떻게는 라이브러리가 처리
2 대표 프론트엔드 라이브러리 3종 비교
1) React (리액트)
| 제작 | Meta(Facebook) |
| 특징 | 가장 널리 쓰이는 컴포넌트 기반 라이브러리 |
| 문법 | JavaScript + HTML(JSX) |
| 사용처 | 인스타그램, 넷플릭스, 에어비앤비 등 |
| 사용자 입장 | 부드럽고 빠름 |
| 개발자 입장 | 자유로운 구조, 실무에 적합 |
| 사용 비중 | 매우 높음 |
| 성능 | 빠름 |
| 적합한 상황 | 대규모 프로젝트, 실무 중심 포트폴리오 개발 |
| 취업 활용도 | 매우 높음 |
| 학습 난이도 | ★★★ |
2) Vue (뷰)
| 제작 | 전 Google 개발자인 Evan You |
| 특징 | 배우기 쉽고 직관적인 구조 |
| 문법 | .vue 파일 (template, script, style 나눔) |
| 사용처 | 알리바바, 라쿠텐, NASA 등 |
| 사용자 입장 | 깔끔하고 반응형 |
| 개발자 입장 | 문법 직관적, 입문자 친화적 |
| 사용 비중 | 중간 |
| 성능 | 빠름 |
| 적합한 상황 | 입문자, 소규모 프로젝트, 빠른 개발 |
| 취업 활용도 | 보통 |
| 학습 난이도 | ★★★★ |
3) Svelte (스벨트)
| 제작 | 전 뉴욕 타임즈인 Rich Harris |
| 특징 | 컴파일러 기반, 빠르고 가벼움 |
| 문법 | .svelte 파일 안에 모든 코드 작성 |
| 사용처 | The Guardian, 데이터 시각화, 대시보드 등 |
| 사용자 입장 | 매우 빠름, 반응 속도 뛰어남 |
| 개발자 입장 | 코드 짧고 효율적, 설정 간단 |
| 사용 비중 | 낮지만 점점 증가 중 |
| 성능 | 매우 빠름 |
| 적합한 상황 | 속도 중심 웹앱, 인터랙티브 콘텐츠 |
| 취업 활용도 | 낮음 |
| 학습 난이도 | ★★★ |
3 프론트엔드 라이브러리 선택 기준
1) 내가 '왜 배우는지' 생각해보자
→ 취업 준비, 실무 프로젝트, 포트폴리오 활용에 React 추천
→ 웹 개발을 처음 하는 경우 Vue 추천
2) 내 학습 스타일에 맞게 고르자
→ JSX로 JavaScript 안에 UI 코드를 작성하고, 로직 흐름을 직접 제어하고 설계하고 싶은 분에게 React 스타일이 적합
→ <template>, <script>, <style> 구조로 역할이 명확하고, HTML과 비슷해서 입문자도 구조 이해가 쉬우면 Vue 스타일이 적합
3) '처음부터 쉽게' 접근하고 싶다면?
→ HTML 기반 구조, 공식 문서 하나만으로도 충분한 학습이 가능하고, 에러 발생 시 해결 방법이 간단하고 명확하여 Vue가 더 쉬움
→ React는 자료는 많지만 방식이 다양하고, JSX, 상태 관리 등 처음에 익힐 개념이 많음
4) 만들고 싶은 서비스를 골라보자
→ 대규모 웹 서비스, 관리자 페이지, 복잡한 시스템, 실시간 데이터, 복합 상태 관리 필요 시 React가 적합
→ 포트폴리오, 블로그, 소개 사이트 등 빠르게 결과물을 만들고 싶은 소규모 프로젝트에 Vue가 적합
5) 생태계와 확장성
▶ React
→ 상태관리, 라우팅, SSR, 모바일 앱 등 강력한 생태계
→ MUI, Ant Design 등 다양한 UI 라이브러리 지원
→ 장기적인 유지관리 및 실무 연계에 강함
▶ Vue
→ Vue Router, Pinia 등 Vue 팀에서 직접 제공하는 공식 도구
→ 필요한 만큼의 생태계로 입문자에게 부담이 적음
→ Vuetify, Element Plus 등으로 빠른 화면 구성 가능
6) 커뮤니티 & 자료 품질
→ React는 자료와 커뮤니티가 방대하지만 스타일이 다양해서 혼란스러울 수 있고, 입문자용 강의보다 중급 이상의 콘텐츠가 많음
→ Vue는 문서와 강의가 입문자 눈높이에 잘 맞춰져 있고, 구조가 정해져 있어서 튜토리얼을 따라하기 쉽고, 질문 시 일관된 설명과 해결 방법이 제공 가능
4 프론트엔드 라이브러리 심화 개념
1) SPA(Single Page Application)
→ 웹페이지를 한 번만 불러오고, 이후에는 필요한 화면만 바꿔서 보여주는 방식
→ 유튜브, 인스타그램 등이 있음
→ 새로고침 없이 부드러운 전환으로 사용자 경험이 향상
2) 라우팅(Routing)
→ 사용자가 URL을 바꿨을 때 해당하는 화면을 보여주는 기술
→ 직접 URL에 따른 화면 전환 처리가 필요함
3) 상태 관리(State Management)
→ 중앙에서 화면에 표시되는 데이터를 관리하면 여러 컴포넌트에서 동일 데이터를 안정적으로 사용할 수 있음
→ 대표 도구에는 Context API, Redux, Pinia가 있음
4) 컴포넌트 설계 방식
→ 코드의 재사용성과 유지보수성을 높이기 위한 설계 전략
→ 대표 설계 유형은 Presentational / Container, Atomic Design, Smart / Dumb가 있음
5) 폴더 구조 설계 기본
→ 기능이 많아질수록 파일을 역할별로 분리하면 협업과 유지보수가 쉬워짐
→ 예시 폴더 구조는 components/, pages/, assets/, utils/ 등이 있음
6) 컴포넌트 스타일링 방식
→ 기본 CSS 개념을 익힌 뒤에는 컴포넌트 중심의 스타일 관리가 중요함
→ 주요 스타일링 도구는 CSS Modules, Styled-Components, Tailwind CSS가 있음
→ 처음에는 CSS에서 CSS Modules로 간 후, 고급 방식 순으로 익히면 자연스러움
5 핵심 정리
1) 프론트엔드란 무엇인가?
→ 사용자가 직접 보는 화면(UI)를 만드는 영역
→ HTML, CSS, JavaScript를 기본으로 사용
2) JavaScript 기초만 알아도 할 수 있는 것들
→ 버튼을 누르면 숫자가 올라가기
→ 조건에 따라 다른 내용 보여주기
→ 반복되는 데이터를 화면에 출력
3) 라이브러리는 왜 쓸까?
→ 복잡한 UI를 짧은 코드로 만들 수 있게 도와주는 도구
→ React, Vue는 대표적인 프론트엔드 라이브러리
→ 컴포넌트 기반으로 코드를 나누고, 재사용하기 쉬움
4) 프론트엔드 핵심 개념 정리
| 개념 | 한 줄 요약 |
| 컴포넌트 | UI를 구성하는 작은 블록 단위 |
| 상태(State) | 화면에 보여줄 값을 저장하는 공간 |
| JSX | JS 안에 HTML처럼 작성하는 React 전용 문법 |
| Props | 부모에서 자식 컴포넌트로 값 전달 |
| 이벤트 처리 | 클릭, 입력 등 사용자 행동에 반응 |
| 조건부 렌더링 | 조건에 따라 다른 화면 보여주기 |
| 반복 렌더링 | 배열 데이터를 여러 UI로 출력 |
5) SPA와 라우팅 이해하기
→ SPA는 한 번만 페이지를 불러오고, 이후에는 화면만 바꿈
→ 라우팅은 URL 주소에 따라 다른 컴포넌트를 보여주는 기능
6) 상태 관리 기본 이해
→ 컴포넌트가 많아질수록 공통 데이터 관리가 어려워짐
→ 작은 앱은 useState, Context API
→ 큰 앱은 Redux, Zustand, Pinia 등으로 확장
7) 폴더 구조 & 컴포넌트 설계 기본
→ 폴더를 역할별로 구분하면 협업과 유지보수가 쉬움
→ components/는 UI 조각
→ pages/는 전체 화면
→ assets/는 이미지, 폰트 등
→ utils/는 공통 함수
8) 스타일링 도구 요약
| 방식 | 특징 |
| CSS Modules | 파일별 스타일 분리 (scoped) |
| Styled-components | JS 안에 CSS 작성 (조건부 스타일 O) |
| Tailwind CSS | 클래스명 조합으로 빠른 UI 구성 |
9) 실전 기능 익히기
→ React는 useState, useEffect, props, map(), onClick, Router
→ Vue는 data, methods, v-if, v-for, computed, v-model, router
10) 학습 마무리 루틴
| 단계 | 설명 |
| 말로 정리하기 | 누군가에서 설명하듯 말해보면 내 것이 됨 |
| 체크리스트 | 내가 어디까지 이해했는지 점검 |
| 헷갈리는 개념 다시 보기 | JSX 문법, 컴포넌트 구조 등 |
| 나만의 키워드 정리 | 내가 이해한 방식으로 간단히 적기 |
| 학습 전후 비교 | 내가 얼마나 성장했는지 실감 가능 |
| 스스로 격려하기 | 멈추지 않고 여기까지 왔다! |
11) 추천 학습 루트 요약
→ React 또는 Vue 중 하나만 선택해서 집중 학습
→ 컴포넌트 구조 직접 만들어보기
→ 핵심 기능 실습
→ 라우터를 적용하기
→ 상태 관리 도입
→ 미니 프로젝트 만들어보기
→ 스타일링 도구 적용
→ API 연동
→ Git & GitHub 사용해 협업 및 백업
→ Vercel 또는 Netlify로 실제 배포하기
→ 코드 리팩터링으로 더 짧고 깔끔한 구조로 개선
프론트엔드 라이브러리에 대해 더 상세한 설명을 원하는 분들은 아래 사이트에 접속
프론트엔드 프레임워크 뿐만 아니라 다른 프로그래밍 언어 정보를 원하는 분들은 아래 사이트에 접속하여 원하는 링크에 접속
'공통' 카테고리의 다른 글
| 백엔드 프레임워크 완전 기초 정리|Express, Flask, Django 차이와 선택법 총정리 (1) | 2025.07.27 |
|---|---|
| 백엔드란? 백엔드가 하는 일부터 구조까지 완전 정리 (입문자용 가이드) (1) | 2025.07.24 |
| React, Vue, Angular부터 Next.js까지! 프론트엔드 프레임워크 완벽 정리 & 선택 가이드 (2025 최신) (0) | 2025.07.06 |
| 프론트엔드 입문 완벽 가이드: HTML, CSS, JS부터 반응형 웹, DOM까지 한 눈에! (3) | 2025.06.27 |
| 코딩이란? 누구나 이해하는 코딩 개념부터 시작하는 입문 가이드 (9) | 2025.06.26 |