Framework
웹, 모바일 앱, 게임, 응용프로그램 등 특정 플랫폼의 소프트웨어를 개발할 때, 공통된 기능들의 틀 모음.
라이브러리 vs 프레임워크
라이브러리 : 필요한 기능을 가져다 씀.
프레임워크 : 필요한 기능을 하는 틀 안에서 개발
웹 Framework
웹 어플리케이션의 기본적인 기능을 제공하는 틀
웹 Framework 종류
- 서버를 만들기 위한 최소한의 기능들만 제공하는 형태 : Flask, Pyramid
- 웹서비스에 공통적으로 필요한 많은 기능들을 제공하는 형태 : Django
Django란?
파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)
웹 어플리케이션
- 서버 (웹 서버)
- 네트워크 요청을 받아준다.
- 랜선이나 공유기 같은 역할을 하는 컴퓨터 소프트웨어라고 보면 된다.
- 1990년대의 웹으로 요청을 처리하고 파일을 돌려주는데 중점을 둔다.
- HTML, CSS, 이미지 등 정적인 콘텐츠를 제공한다.
- '화면에 띄워준다' 라는 느낌
- 웹 어플리케이션 (두뇌)
- 사용자가 웹 브라우저를 통해 접속하고 실행할 수 있는 소프트웨어 응용 프로그램이다.
- 서버에서 받은 네트워크 요청을 토대로 컴퓨터에서 프로그램을 돌려서 실행한다. ex) db에 데이터 조회나 저장, 요청에 맞는 값을 가져오는 등의 CRUD
- 웹 어플리케이션은 웹 기술을 사용하여 온라인 쇼핑 웹 사이트, 소셜 미디어 플랫폼, 이메일 서비스, 업무 협업 도구 등의 동적인 콘텐츠를 제공한다.
- 웹 어플리케이션 서버 : 댓글을 작성하는 등의 논리적인 연산이 가능
- 웹 어플리케이션의 실행을 지원하는 소프트웨어 또는 하드웨어
- 웹 브라우저(클라이언트)와 웹 어플리케이션 사이에서 요청과 응답을 중계하고, 필요한 데이터베이스 또는 다른 백엔드 서비스와 통신한다.
- 현재 웹 어플리케이션 서버는 웹 서버와 함께 사용되며,
웹 어플리케이션 서버는 웹 어플리케이션의 백엔드 로직을 처리하고,
웹 서버는 정적인 콘텐츠 제공 및 웹 어플리케이션 서버와의 통신을 관리한다.
작동 방식(MVT 패턴)