소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것. '뼈태', '틀'
- 효율적으로 코드를 작성할 수 있음
밑바닥부터 전부 개발하는 것이 아니기 때문에 개발자가 핵심 로직을 개발하는 것에 집중할 수 있도록 함- 정해진 규약이 있어 애플리케이션을 효율적으로 관리할 수 있음
각 Framwork 별로 규약에 맞게 코드를 작성함. 유지보수 측면에서 더 빠르고 쉽게 문제를 파악할 수 있음
- 사용하고자 하는 Framwork에 대한 학습이 피룡함
- 자유롭고 유연한 개발이 어려움
Framwork는 뼈태, 틀이기 때문에 구조 변경을 위해서는 모두 허물고 새롭게 만들어야함
앞서 설명한 Framwork의 종류로는 Django, Express, Flask, Lalavel 등이 있고, 가장 대표적으로 사용되는 Framwork이 Spring이다. Spring은 Java와 Kotlin 기반으로 사용한다.