프레임워크
프레임워크란?
프레임워크는 어플리케이션 개발에 있어서, 기본 구조와 흐름을 제공하는 틀이다.
프레임워크가 틀 이기 때문에, 정해진 구조 에 따라서 그에 맞게 코드를 작성하지 않으면 에러가 뜨게 된다.
그 틀안에서 우리는 세부적인 코드를 짜 좀더 쉽게 여러 어플리케이션 개발을 진행 할 수 있다.
프레임워크는 누군가가 작성하거나 이미 작성된 코드들을 결합하여 동작하게 되는데,
이때 프레임워크가 제어를 하는 역활을 한다.
라이브러리
라이브러리란?
라이브러리는 그 이름에 걸맞게, 어떠한 기능에 대해서 쉽게 표현을 할 수 있게 모아둔 코드의 모음이라고 할 수 있다.
이는 패키지와 조금 혼동이 될 수 있는데 포함관계로 설명 해 보겠다.
포함관계
라이브러리 >= 패키지 >= 모듈
라이브러리는 가장 큰 개념으로, 패키지 들의 모음 이라고 쉽게 설명 할 수 있다.
패키지는 모듈들의 집합이고, 모듈은 아시다싶이 함수들의 집합이다.
근데 왜 혼동이 오는가?
예시로 들어보자면, numpy라는 라이브러리가 있다.
이는 패키지와 라이브러리 둘다 해당하기 때문에 예시를 봤을 때, 나는 많이 혼동이 왔다.
결론적으로 패키지 로써의 numpy는 해당 수학적 계산을 위한 함수들의 집합인 모듈들을 가지고 있고,
라이브러리로써의 numpy는 패키지와 서브패키지로 이뤄져 있기 때문에 라이브러리 라고 할 수 있다.
(수학적 계산 및 배열 처리를 위한 다양한 도구의 모음이기 때문에.)
즉 쉽게 풀어 설명하자면,
프로젝트 안에서 쓸 함수를 모아 하나의 모듈로 만들었고,
내가 프로젝트 안에서 쓴 모듈들을 하나의 폴더에 묶어두면 이는 패키지가 된다.
이것들을 모아, 프로젝트 패키지, 스터디 패키지, 테스트 패키지 등을 묶어서 하나로 모으면,
나의 라이브러리 가 된다.
승열이의 프로젝트 모듈 > 프로젝트 패키지 > 승열의 라이브러리
차이점
라이브러리와 프레임워크의 차이점은 뭘까?
라이브러리는 도구의 모음으로 틀의 구속이 없이 자유롭게 작성 가능 하지만, 그로인하여 난이도가 상승한다.
프레임워크는 틀을 가지고 있기 때문에, 틀안에서 작성을 해야하기 때문에 그에 맞춰 작성을 해야하지만,
기본적인 틀이 잡혀 있기 때문에 난이도 부분에서는 쉽다.
결론
라이브러리는 빈집에 내가 원하는 가구를 직접 집어 넣는 느낌이라면,
프레임워크는 이케아에서 정해져 있는 틀에서 움직인다는 느낌이다.
'용어정리 > Python' 카테고리의 다른 글
python 용어정리 (MVT) (1) | 2024.10.10 |
---|---|
python 용어정리 (Django) (0) | 2024.10.10 |
python 용어정리 (데코레이터 와 컨텍스트 매니저) (6) | 2024.10.08 |
python 용어정리 (이터레이터와 친구들) (0) | 2024.10.08 |
python 용어정리 (파일 다루기) (0) | 2024.10.08 |