Framework
이란 단어는 꾸준하게 들어왔습니다. Django
부터 사람들이 흔히 아는 Spring
도 모두 Web Framework
에 해당하는데 정확하게 무엇을 의미하는지 알아보겠습니다.
Frame
은 '틀, 규칙'와 같은 뜻을 가지고 있고, work
는 '일, 목적'이라는 뜻을 가지고있습니다. 이렇게 봐도 대충 어떤 목적을 이루기 위한 틀 또는 규칙 같은 뜻으로 이해할 수 있습니다.
개발자들이 말하는 프레임워크의 뜻은 아래와 같은 개념이다.
특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
Django
파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로 쉽고 빠르게 웹사이트를 개발할 수 있도록 돕는 구성요소로 이루어져있다.
Spring Framework
전자 정부 표준프레임워크의 기반이 되는 기술이다. 대규모 프로젝트에서 많이 사용되는 추세이며 JAVA
개발에 있어서 대표적인 프레임워크이다.
Ruby on rails
Ruby
로 개발된 오픈소스 웹 프레임워크이다. Ruby on rails
은 매우 생산성이 높은 프레임워크라고 한다. MVC
패턴을 지원하며 다양한 자동화 옵션을 제공한다고 한다.
Angular JS
Javascript
기반의 프레임워크입니다. MVC
모델 지원과 같은 기능들을 지원하고, Javascript
와 JQuery
로 만들어 코드의 길이를 단순화 할 수 있다.
MVC
는 Model
View
Controller
의 앞글자를 딴 단어로 디자인 패턴 중 하나라고 합니다. 프로젝트를 구성할 때 세가지 역할로 구분한 패턴입니다.
Model
은 애플리케이션의 정보, 데이터를 의미한다. 또한 이러한 데이터와 정보의 가공을 책임지는 컴포넌트를 말한다.
View
는 데이터 및 객체의 입력, 그리고 출력을 담당하는 곳입니다. 데이터를 기반으로 사람들이 볼수 있는 화면입니다.
Controller
는 사용자와 데이터를 잇는 다리역할 입니다. 사용자가 데이터를 클릭하고 수정하는 것에 대한 이벤트들을 처리하는 부분입니다.
Django
는 MVT
패턴이라고 한다. 여기서 MVT
는 MVC
에서 Controller
가 Template
으로 바뀐 패턴입니다. 하지만 둘의 역할은 비슷하다고 합니다.