🌐 웹개발

프레임워크

Framework

애플리케이션 개발의 뼈대. React, Django, Spring 등. 라이브러리와 달리 제어 흐름을 결정.

상세 설명

프레임워크(Framework)는 애플리케이션 개발의 뼈대를 제공하는 소프트웨어입니다. 라이브러리와 달리 프레임워크가 코드 실행 흐름을 제어합니다(IoC: 제어의 역전).

"프레임워크를 호출하는 것이 아니라, 프레임워크가 내 코드를 호출한다"는 것이 라이브러리와의 핵심 차이입니다.

코드 예제

// 라이브러리 (jQuery) - 내가 호출 $('#btn').click(() => doSomething()); // 프레임워크 (React) - 프레임워크가 내 컴포넌트 호출 function MyComponent() { return <button onClick={doSomething}>Click</button> } // React가 MyComponent를 언제 렌더링할지 결정

실무 대화 예시

신입

"React가 라이브러리인가요 프레임워크인가요?"

시니어

"공식적으론 라이브러리야. 근데 Next.js 쓰면 프레임워크가 되지. 라우팅, 빌드, 서버 렌더링까지 프레임워크가 정해주거든."

관련 용어

더 배우기