프레임워크는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것
이해하기 너무 어려운 말이고 쉽게 생각해서,
- 어떤 프로그램을 만들기 위한 기본 틀 / 뼈대
- 제공받는 일정한 요소, 틀, 규칙을 가지고 무언가를 만드는 것
- 프레임워크 사용으로 프로그램을 편리하고 빠르게 만들 수 있음
- 체계적 제작으로 유지보수에 용이
- 자유로운 개발에 한계가 있음
프레임워크 = 눈사람 모양과자 굽는데 쓰이는 눈사람모양 쿠키 틀
라이브러리는 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것
역시나 무슨말인지 모르겠고, 프레임워크의 비유에 더해보면
❗️프레임워크는 무언가를 만들때 꼭 사용해야하는 요소, 지켜야하는 메뉴얼이라면
라이브러리는
- 프로그램을 개발하기 위해 쓰는 공구와 도구들
- 내가 편한대로 쓰는 알맞은 도구의 모음
(언제든 필요한 곳에서 호출하여 사용할 수 있도록
class
/function
으로 만들어져있음)
- 프레임워크에서 제공되는 요소와 규칙만들 지키면 그밖에 나머지는 어떤 라이브러리를 사용하여도 무관
- 재사용 가능한 코드로 가독성과 유지보수 향상
- 프로그래밍 시간이 줄어들어 생산성 향상
라이브러리 = 눈사람 모양과자 굽는데 쓰이는 반죽(누군가 만들어놓은), 마트에서 사온 건포도