1. 개념
라이브러리: 정보의 저장소, 활용 가능한 도구의 집합
프레임워크: 뼈대, 기반구조
2. 특징
라이브러리: 클래스들의 나열, 필요한 클래스 불러서 사용
프레임워크: 특정 개념들의 추상화를 제공하면서 클래스나 컴포넌트로 구성됨
컴포넌트 재사용 가능
높은 수준의 패턴 조작화 가능
3. 차이
포인트: 제어 흐름의 주동성이 어디에 있는지
라이브러리: 사용자가 흐름을 만들고, 라이브러리를 가져와서 씀(사용자 흐름 주도)
프레임워크: 프레임워크가 전체적인 흐름을 가지고 있으며, 그 틀 안에서 필요한 코드 구성(틀이 흐름을 쥐고 있음)
+)그래서 프레임워크를 사용하고자 할 때는 프로그램의 특성,목적과 부합하는지 확인할 필요가 있음. 만약 그런 프레임워크를 찾기 힘들다면 이를 라이브러리 단계에서 변경하여 다른 프레임워크로 만들어 사용할 수도 있음.
4. 라이브러리와 프레임워크 사용의 장단점
장점: 개발이 편하고 개발 기간 줄일 수 있음. 오류도 줄일 수 있음
단점: 사용법 익힐 시간 필요, 프레임워크 선택 중요.
6. 예시
라이브러리: beautifulsoup(python), stl(c++) 등
프레임워크: spring, django 등