WEB

프레임워크(Framework) 와 라이브러리(Library)

2024. 2. 19. 20:01
목차
  1. 프레임워크(Framework)란?
  2. 라이브러리(Library)란?
  3. 라이브러리와 프레임워크의 차이점

 

 

프레임워크(Framework)란?

프레임워크는 복잡한 문제를 해결하거나 서술하는 데 사용되는 개본 개념 구조이다.
-위키백과-

 

원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미합니다.

애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 연동과 같은 기능들을 위해 어느 정도 뼈대(구조)를 제공하며 이러한 뼈대 위에서 사용자는 코드를 작성하여 애플리케이션을 개발합니다. 앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은 프레임워크가 관리하며, 사용자는 프레임워크가 정해준 방식대로 클래서, 메서드들을 구현하면 됩니다.

 

 예시

  • Java 서버 개발에 사용되는 Spring
  • Python 서버 개발에 사용되는 Django, Flask
  • 안드로이드 앱 개발에 사용되는 Android
  • 아이폰 앱 개발에 사용되는 Cocoa Touch
  • 웹 개발에 사용되는 Angular, Vue.js 등
  • 자바 기반의 JSP를 위한 프레임 워크 Struts
  • 루비로 작성된 MVC패턴을 이용하는 Ruby on Rails

 

라이브러리(Library)란?

라이브러리는 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 여기에는 구성 데이터, 문서, 도움말, 메시지 틀, 미리 작성된 코드, 함수, 클래스, 값, 자료형 사양 등을 포함할 수 있다.
-위키백과-

 

소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임. 즉 특정 기능을 모와둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미합니다.

 예시

  • Python pip로 설치한 패키지/모듈 (tensorflow, pandas, beautifulsoup 등등)
  • C++의 표준 템플릿 라이브러리 (STL)
  • Node.js에서 npm으로 설치한 모듈
  • HTML의 클라이언트 사이드 조작을 단순화하는 JQuery
  • 웹에서 사용자 인터페이스 개발에 사용되는 React.js

 

 

내가 주로 쓰는 React.js 는 프레임워크가 아니라 라이브러리이다!

 

express 는 프레임워크이다~

 

라이브러리와 프레임워크의 차이점

간단하게 말하여 FLOW(흐름)을 누가 쥐고 있냐에 달려 있습니다.
라이브러리를 사용할 때, 나는 애플리케이션의 흐름을 제어할 수 있습니다. 즉 어디서 언제 라이브러리를 호출할 지 내가 제어할 수 있습니다. 그러나 프레임워크를 사용할 때는 프레임워크가 흐름을 제어합니다.

 

저작자표시 (새창열림)

'WEB' 카테고리의 다른 글

[WEB] CSR vs SSR 차이 및 특징 ( + SPA, MPA )  (1) 2025.02.15
[WEB] React-Query Mutation, invalidateQueries  (0) 2025.02.14
[WEB] ♻️ 데이터 페칭 SSR  (0) 2025.02.11
서버 사이드 렌더링(SSR) , 클라이언트 사이드 렌더링(CSR)  (0) 2024.02.19
시멘틱 마크업(semantic Markup)  (0) 2024.02.19
  1. 프레임워크(Framework)란?
  2. 라이브러리(Library)란?
  3. 라이브러리와 프레임워크의 차이점
'WEB' 카테고리의 다른 글
  • [WEB] React-Query Mutation, invalidateQueries
  • [WEB] ♻️ 데이터 페칭 SSR
  • 서버 사이드 렌더링(SSR) , 클라이언트 사이드 렌더링(CSR)
  • 시멘틱 마크업(semantic Markup)
orange_mj
orange_mj
orange_mj
programing
orange_mj
전체
오늘
어제
  • 분류 전체보기
    • Goormthon Univ 2기
    • LikeLion 11기, 12기 (멋쟁이사자처럼)
    • Programing Language
      • [python]
      • [C++]
      • [Javascript]
    • Forensic
      • Basic
      • NOX
      • 앱 분석, Database 복호화
    • 부채널
      • Machine Learning
      • AES
      • Side Channel analysis
    • WEB
      • React
    • MapleStory Worlds Super Hac..
      • 기본 개념
      • 응용
    • Github
    • APP
      • REACT_NATIVE

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

hELLO · Designed By 정상우.
orange_mj
프레임워크(Framework) 와 라이브러리(Library)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.