웹 서비스를 쉽게 만들어주는 기계
복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조.
간단히 "뼈대, 골조", 프레임워크 라고도 한다.
자바, 파이썬등의 언어로 웹은 만들수는 있지만 어차피 웹 개발이라 해봤자 "개발 과정이 정형화" 되어 있다.
즉 형식이 정해져 있다.
=> 그래서 매번 비슷한 웹을 만드는 것이 귀찮기 떄문에 웹 개발을 편하게 해주는 웹 프레임워크이다.
웹 프레임워크 : 정형화 되어있는 웹 개발을 좀 더 효율적으로 하기 위해(비슷한 코드 작업을 방지 하기 위해) 미리 만들어 놓은 웹 개발의 기능단위, 설계 단위의 집합
=> 웹 개발에 쓰일 법한 설계원칙, 가령
1) DB와 상호작용 하는 방법 (무언가를 저장하는 삭제하는 것),
2) 사용자의 눈에 보이는 부분
3) 웹 서비스의 내부 동작을 담당하는 부분
을 3개로 나누어서 관리하는 설계등을 코드로 미리 만들어둔 것이 웹 프레임워크이다.
장고는 라이브러리가 아닌 프레임워크이다.
프레임워크는 웹 개발을 하는 명확한 목적을 달성하기 위해서 이미 설계까지 만들어진 구조 또는 뼈대이다.
웹 프레임워크 왈, ... 설계까지 이미 완벽하게 되있으므로, 여기서 내가 하라는대로만 데이터 넣어줘! 그러면 넣은 재료에 따라서 알아서 너가 원하는 웹이 만들어질거야!
대신 내가 쓰라는 방식대로 쓰길 권장한다! 라는 것
React : 프론트앤드 라이브러리.
django : 백엔드 프레임워크.