프레임워크와 라이브러리(Library)의 차이점
프레임워크
프레임워크는 뼈대나 기반구조를 뜻하며, 소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합' 이라 할 수 있다.
라이브러리
라이브러리는 단순 활용 가능한 도구들의 집합을 말합니다. 즉, 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취하고 있습니다.
출처: https://webclub.tistory.com/458 [Web Club]
프레임워크와 라이브러리의 차이점
프레임워크와 라이브러리의 가장 큰 차이점은 사용자와 맺는 관계 형식에 있다. 프레임워크는 애플리케이션의 흐름을 제어하는 부분에 있어서 사용자보다 우월적 위치에 있다. 즉 사용자는 프레임워크로부터 종속적인 관계에 놓여있다. 그 때문에 사용자는 프레임워크의 규칙을 준수해야 하며, 이를 위해 프레임워크에 대한 초기 공부가 필수이다.
프레임워크의 기능은 반복을 통해 쉽게 익숙해질 수 있는 영역이다. 반면, 문제 해결을 위한 논리적 흐름과 절차에 대한 이해는 쉽게 익힐 수 있는 게 아니므로, Django의 공부 방향도 프레임워크의 기능 습득보단 이해에 초점을 맞춰야 함.
client가 요청을 보낸 뒤 응답을 받기까지의 과정을 통해 django가 작동하는 흐름을 이해해보자.
URLS(urls.py
): url을 통한 HTTP 요청을 적절한 뷰(view)로 보내주기 위해 사용된다.
View(views.py
): 로직을 만드는 곳으로 모델에서 필요한 정보를 받아와서 로직을 작성하고, 템플릿에 전달하는 역할
Model(models.py
): 데이터 서비스를 제공하는 역할을 을 하며, models.py 모듈 안에 하나 이상의 모델 클래스를 정의할 수 있으며, 하나의 모델 클래스는 데이터베이스에서 하나의 테이블에 해당한다.
Template(<filename>.html
): View로부터 전달받은 데이터의 내용을 보여줄 실제 화면의 디자인과 레이아웃을 정의