프레임워크란 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발시간을 줄이고, 코드의 재사용성을 증가시키기위해 일련의 클래스 묶음이나 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것을 말한다.
- 개발자가 따라야하는 가이드를 제공한다.
- 개발할 수 있는 범위가 정해져 있다.
- 개발자를 위한 다양한 도구, 플러그인을 지원한다.
장점
- 개발시간을 줄일 수 있다.
- 정형화 되어 있어 일정수준 이상의 품질을 기대할 수 있다.
- 유지 보수가 쉽다.
단점
- 개발자가 너무 의존하게 되면 능력이 떨어져 스스로 직접 개발하는 것이 어려워짐
- 습득에 걸리는 시간이 오래 걸림
- 영속성 Framework (
Mybatis
,Hibernate
)
: 데이터의 저장, 조회, 변경, 삭제를 다루는 클래스 및 설정 파일들을 라이브러리 화하여 구현한 프레임워크- 자바 Framework (
Spring
,전자정부표준-Spring
,Struts
)
: Java EE 를 통한 웹 어플리케이션 개발에 초점을 맞추어 필요한 요소들을 모듈 화하여 제공하는 프레임워크- 화면 구현 Framework (
Bootstrap
,Foundation
,MDL
)
: Front-End를 보다 쉽게 구현할 수 있게 틀을 제공하는 프레임워크- 기능 및 지원 Framework (
Log4j
,JUnit5
,ANT
)
: 특정 기능이나 업무 수행에 도움을 줄 수 있는 기능을 제공하는 프레임워크