프레임워크 (Framework)란?
소프트웨어 개발을 위한 기본적인 구조와 기능을 미리 제공하는 플랫폼
기본적인 틀을 제공하고, 그 틀 안에서 개발자가 필요한 부분을 추가하거나 수정하는 방식으로 동작한다.
프레임워크는 개발을 더 빠르고 효율적으로 할 수 있게 도와주는 도구
프레임워크의 특징
- 기본 구조 제공: 프레임워크는 애플리케이션의 기본적인 구조나 작동 방식을 미리 정의해 둔다.
- 재사용 가능한 코드: 다양한 기능을 미리 구현해 두어서 개발자가 그 기능을 재사용할 수 있게 해준다.
- 규약에 따른 개발: 프레임워크는 특정한 규약(Convention)을 따르도록 유도합니다. 규약을 따르는 개발 방식은 일관성을 유지하며, 다른 개발자들도 쉽게 이해하고 협업할 수 있게 해줍니다.
- 확장성: 필요에 따라 더 많은 기능을 추가할 수 있게 설계되어 있다.
- 효율성: 개발자가 반복적으로 해야 할 일을 자동화하거나 간소화해 주므로, 개발 속도가 빨라지고 오류를 줄인다.
프레임워크의 종류
- 웹 프레임워크: Express (Node.js), Django (Python) 등
- 모바일 앱 프레임워크: React Native, Flutter, Ionic 등
- 데스크탑 애플리케이션 프레임워크: Electron, Qt 등
프레임워크와 라이브러리의 차이(제어의 흐름)
프레임워크와 라이브러리 갑자기 물어보면 말문이 막히곤했다.
그 둘의 차이는 간단하게 제어의 흐름에 따라 구별해주면되는데 예를 들어서 내가 요리할때 백종원선생님의 정해진 레시피를 보고 요리하는 것처럼 프레임워크는 내가 따라야하는 레시피고, 라이브러리는 내가 요리할때 필요할때 필요한 양념을 넣는것처럼 선택적으로 사용할 수있는 재료라고 생각하면 이해하기 쉽다.
프레임워크 (Framework)
- 프레임워크가 제어의 흐름을 가진다.
- 프레임워크가 어디서,무엇을 해야 할지를 정해놓으면, 개발자는 그 안에서 규칙에 맞춰 코드를 작성한다.
- 프레임워크는 "흐름을 미리 정해놓고" 그 안에서 작업을 하게 만드는 것.
라이브러리 (Library)
- 개발자가 제어의 흐름을 가진다.
- 개발자가 호출해서 사용하는 도구
- 라이브러리는 "필요할 때" 사용하고, 흐름을 개발자가 결정하는 것.
'IT 알쓸신잡' 카테고리의 다른 글
사용자 / 클라이언트 / 서버 (0) | 2025.02.19 |
---|---|
GitHub 원격 저장소와 연결하고 변경 사항 푸시하기 (0) | 2025.01.24 |
동기 I/O와 비동기 I/O가 무엇일까? (2) | 2025.01.01 |
서버와 리소스 접근의 기초: IP, DNS, URL (0) | 2024.12.29 |
SEO가 무엇인가? (7) | 2024.12.28 |