안녕하세요, 토스트 데브입니다.
이전 시간에는 웹 개발에 대한 프론트엔드와 백엔드에 대해 살펴보았는데요, 오늘은 그 다음 단계로 "프레임워크”와 “라이브러리”에 대해 함께 알아보겠습니다.
처음 개발을 시작하면 자주 듣게 되는 용어지만, 막상 “정확히 뭐야?”라고 물어보면 헷갈리는 경우도 많죠.
이번 포스팅을 통해 프레임워크와 라이브러리의 차이점, 그리고 웹 개발에서의 활용 예시까지 정리해드립니다.
프레임워크(Framework)란?
“소프트웨어 개발의 뼈대이자 구조.”
프레임워크는 어떤 목적을 달성하기 위해 복잡한 문제를 해결할 수 있도록 미리 설계된 기본 구조입니다.
건축을 예로 들면, 건물을 짓기 위한 철골 구조(골조공사) 같은 개념으로 이해하시면 됩니다. 즉, 하나하나 직접 코드를 다 짜지 않아도, 기초 골격을 제공해주는 시스템인 거죠.
프레임워크의 특징
- 미리 짜여진 규칙과 구조가 있음
- 개발자는 해당 구조에 맞춰 코드를 작성
- 제어 흐름(control flow)은 프레임워크가 주도
대표적인 웹 프레임 워크
언어 | 프레임워크 |
Java | Spring |
Python | Django |
Node.js | Express.js, Nest.js |
PHP | Laravel, CodeIgniter |
Ruby | Ruby on Rails |
JavaScript/TypeScript (Front-End) | Angular, Vue.js |
라이브러리(Library)란?
“특정 기능을 도와주는 도구 모음집.”
라이브러리는 개발할 때 특정 기능을 구현하기 위해 사용하는 함수나 클래스의 집합입니다.
필요할 때 불러와 사용하는 도구 박스라고 보면 돼요.
프레임워크처럼 전체 구조를 제공하진 않지만, 정해진 목적에 따라 일부 기능만 도와주는 소형 도구라고 생각하면 이해가 쉽습니다.
라이브러리의 특징
- 특정 기능을 위한 코드 집합
- 개발자가 직접 호출하여 사용
- 제어 흐름은 개발자에게 있음
라이브러리의 예시
- JavaScript 라이브러리 : jQuery, Lodash
- Python 라이브러리: NumPy, Pandas
- CSS 라이브러리 : Animate.css, Bootstrap (부분)
프레임워크와 라이브러리의 차이
구분 | 프레임워크 | 라이브러리 |
역할 | 전체 구조 제공 | 기능 단위 제공 |
제어 흐름 | 프레임워크가 제어 | 개발자가 제어 |
비유 | 건물의 뼈대 | 가구, 가전제품 |
예시 | Django, Spring | jQuery, Lodash |
결론
프레임워크와 라이브러리는 모두 개발자의 효율적인 작업을 돕는 코드 집합입니다.
프레임워크는 프로그램의 기본 구조와 흐름을 제시하며, 라이브러리는 개발 중 필요한 기능을 골라 쓰는 도구처럼 활용됩니다.
프레임워크 없이 처음부터 모든 걸 직접 짜는 건 너무 비효율적이고, 라이브러리 없이 모든 기능을 직접 구현하는 것도 비현실적이죠. 따라서, 두 개념을 제대로 이해하고 잘 활용하는 것이 실전 개발의 첫걸음입니다.
'알쓸신잡 > 코딩에 대하여' 카테고리의 다른 글
[코딩에 대하여] #07 IP주소와 도메인 주소에 대하여 (1) | 2025.07.08 |
---|---|
[코딩에 대하여] #06 네트워크의 개념 이해하기 (0) | 2025.07.07 |
[코딩에 대하여] #04 웹 개발과 프론트 엔드! 백엔드에 대하여 (0) | 2025.06.17 |
[코딩에 대하여] #03 코딩을 위한 코드 에디터 무엇이 좋을까? (0) | 2025.03.19 |
[코딩에 대하여] #02 코딩과 프로그래밍이란? (0) | 2025.03.19 |