프레임워크

 # 자동차의 예로서 프레임 워크란 무엇인가를 살펴보자.자동차에는 프레임이라는 것이 있다. 프레임이라는 각종 장치가 정착할 수 있는 자동차의 뼈대와 같은 역할을 한다. 자동차를 조립할 때 프레임을 기준으로 엔진, 바퀴, 좌석, 외형 등의 부품을 붙여 만든다. 만약 프레임이 없다면 자동차를 만드는 작업은 오래 걸릴 뿐 아니라 작업도 어려워진다.

# 프레임워크 탄생 애플리케이션 제작 수요가 커 제작 인원을 늘리는 데 한계가 있었다. 제작진의 실력에 따라 애플리케이션 품질에 문제가 발생하기도 했다. 품질 수준에 맞추면서 신속하게 제작하는 작업이 필요했던 것이다. 처음에는 필요한 함수를 모아 라이브러리(Library)를 만들어 사용했지만 부족했다. 그 때문에, 애플리케이션의 골조가 필요했다. 라이브러리와 공통의 기능을 모아 애플리케이션의 뼈가 되는 프레임워크를 만든 것이다.

(Tip) 라이브러리와 프레임워크의 차이 * 라이브러리는 사용되는 기능을 재사용하기 위해 모은 컴포넛이다. 간단히 설명하면 공구함 같다. 필요한 도구가 상자에 담겨 있어 사용자가 도구를 꺼내 쓰면 된다.* 프레임워크는 라이브러리와 같은 컴포넛톤을 사용자가 쉽게 사용할 수 있도록 조합하였다. 라이브러리가 공구함이라면 프레임워크는 모두 공구들이 결합된 전동공구라고 할 수 있다. 사용자가 전동공구 사용법만 안다면 간단한 방법으로 다양한 공구 기능을 사용할 수 있다.

# 프레임워크를 사용해 애플리케이션을 만드는 경우, 프레임워크를 골자로 사용하고 부가적인 기능만 추가해 만들게 된다. 예를 들어 웹 어플리케이션 제작용 프레임워크에는 사용자의 로그인 상태를 확인하고 제어할 수 있는 환경이 제공되기 때문에 로그인 상태에 따라 표시되는 화면과 표시되지 않는 화면을 결정하고 이에 대한 처리만 하면 된다. 프레임워크가 없으면 로그인 상태를 확인하고 제어하는 기능부터 만들어야 한다.

# 프레임워크 종류 구분 종류 설명 언어별 프레임워크 이그나이터(Codeigniter) PHP 기반 웹 애플리케이션 프레임워크 ellislab.com 스프링(Spring)자 절반 기반 애플리케이션 프레임워크(웹 애플리케이션, 배치(batch), 빅데이터 애플리케이션 지원) http:/장고(Django) 파이썬 기반 웹 애플리케이션 jquery.com 스프링 기반 웹 애플리케이션 프레임워크에 사용된다. JQRY는 웹 UI 프레임워크인 부트스트랩과 함께 사용되며 동적인 웹페이지를 만드는 데 사용된다.웹 UI 프레임워크 부트스트랩(Bootstrap) getbootstrap.com 파운데이션(Foundation) www.sencha.com/products 스켈레톤(Skelecton) www.telerik.com * 웹 UI 프레임워크는 공통적으로 크로스 브라우징(Corws Browsing) 및 반응형 웹디자인(Responsive Web Design) 지원 모바일 웹애플리케이션 JQuerty Mobile) www.telerik.com * 웹Ut : 웹 Ut 해당 프레임워크는 HTML5 기반의 모든 모바일 기기에서 웹사이트를 볼 수 있도록 지원하며, 반응형 웹사이트를 제작할 수도 있다.모바일 앱, 폰 갭(phone gap), http:/, 앱셀러레이터(appcelerator), http:/(Tip) 전자정부 프레임워크, 정부에서는 공공사업 부분 정보화 사업을 통해 많은 시스템을 개발해야 했다. 그런데 매번 시스템을 만들 때마다 같은 기능을 중복해서 개발하는 일이 많았다. 시스템 간에는 많은 연동작업이 필요했지만, 시스템별로 다른 환경에서 개발하고 연동작업을 하는데 많은 시간과 노력이 필요했다. 뿐만 아니라 시스템을 만든 뒤 유지관리에도 어려움을 겪었다. 그 개선을 위해 전자정부 체제를 만들게 되었다. 전자정부 프레임워크에서는 개발언어를 자바로 선정하고, 개발환경과 실행환경뿐 아니라, 시스템을 만든 후의 관리환경, 운영환경까지 모두 정의하고 있다. 참고로 전자정부 프레임워크는 스프링 프레임워크를 바탕으로 작성되었다.

(출처) – 프로가 되기 웹 기술 입문 (저자 : 코모리 유스케 저. 2012년)