Framework : 말 그대로 소프트웨어 개발을 위한 “뼈대”를 의미한다.
예를 들어 급여관리 프로그램을 만든다고 하자.
이 경우 우리는 인사 관리, 월별급여, 연말정산, 세금처리 등 급여관리 자체에 대한 프로그램을 만들기도 하지만,
그 프로그램을 만들 때 기본적으로 필요한 보안 문제, 페이지 처리, 폼과 데이터의 검증, FTP 기능, 파일 업로드,
이미지 처리, 데이터 암호화와 같은 프로그램들도 필요하다. 개발자가 이 모든 것을 다 만들면서 급여프로그램을
만든다면 엄청난 시간과 노력이 필요할 것이 다.
설사 개발을 한다고 해도 다른 사람은 해당 프로그램을 이어서 개발하거나 유지보수 하기가 어려울 것이다.
왼쪽이 프레임워크를 사용하지않고 다 만든다고 가정했을때 개발자 작업 영역
오른쪽이 프레임워크를 사용했을때 개발자 작업영역이다.
그러나 앞서 말한 기본 공통부분의 개발 환경을 제공하는 뼈대 소프트 웨어가 있어 그 위에 급여관리 프로그램만 개발 한다면, 개발자는 짧은 시간에 적은 노력으로 쉽게 작업할수 있을것이다.
그리고 다른 사람이 이 기본 뼈대만 안다면, 쉽게 이어받마 개발하거나 유지보수를 할 수 있다.
이러한 프로그램 개발에 필요한 공통 프로그램을 Software Framework이라 한다.
Framework은 개빌환경이나 언어에 따라 여러 가지가 있으며, 그중 가장 많이 알려져 있는 Web Application Framework는 Java의 Spring, .NET Framework 등 다양한 Framework이 있다. PHP인 경우에도 Laravel, Codeigniter, Symfony 등 다양한 Framework가 있다. 국내에서는 JAVA 언어 기반에 스프링을 많이 사용하고 있고 PHP언어 쪽에서는 Codeigniter가 가장 먼저 정착 해 사용되었으나 Laravel이 알려지면서 최근에는 많이 사용되고 있다.
MVC 프로그래밍 : 웹프로그래밍의 기본이 되는 HTML은 화면디자인만 제공(정적)하므로, 일반 언어와 같은 프로그램 기능을 제공하지 않는다. 그래서 Javascript 언어를 이용해 HTML에서 부족한 다앙한 기능을 구현한다.
그러냐 HTML도 Javascript도 서버 와 데이터베이스와의 통신은 할 수 없으며, 이를 구현하기 위해서는 PHP. ASP, JSP 와 같은 CGI 언어들을 이용해야 한다.
이런 언어를 이용한 프로그램 작업은 HTML에 중간중간 해당 언어의 프로그램을 삽입하는 방직이다.
이 방식은 디자인과 코딩이 분리가 되지 않아 디자인 변경 및 유지보수가 어려우며, 모듈화가 되지 않아 여러 사람의 협력 작업을 어렵게 만든다.
이문제를 해결하는 방법은 기존의 프로그래밍 방식에서 벗어나 화면과 코딩, 그리고 데이터베이스 처리 등으로 작업영역을 분리하여 처리하는 것이다. 이런 코딩방식을 MVC 프로그래밍이라 한다.
M(model)은 데이터베이스와 관련된 작업을 담당하고
V(view)는 Model에서 얻은 자료들을 표시하는 화면에 관련 된 영역이다.
C (Control)는 Model과 View 사이에서 데이터를 제어하고 전체 시스템의 흐름을 제어하는 역할을 한다.
이같이 화면과 코딩을 분리하고, 각 부분을 정형화된 모듈 프로그램화함으로써 기존의 문제를 해결할 수 있다.
+
Laravel은 MVC방식을 지향하며, 그밖에 보안, 페이지,데이터 검증과 같은 다양한 기능을 기본 제공함으로써
개발자의 생산성과 일관성을 제공한다.
·
'IT 관련 좋은 용어 개념 정리, 글, 영상' 카테고리의 다른 글
프로그래머, 개발자가 봐야 할 유용한 사이트 (0) | 2022.09.07 |
---|---|
IT 기업 시가 총액 (1) | 2022.09.07 |
개발 실력을 상승 시켜줄 IT 기업 기술 블로그 45곳 모음 (0) | 2022.08.30 |
패키지(라이브러리)란? (0) | 2022.08.08 |
배달의민족 CEO에게 뽑고 싶은 개발자를 물어보았다 (0) | 2021.08.29 |