라이브러리란 도서관이다. 끝..
프로그래밍에서는 필요한 기능들이 모여있는 코드들의 집합을 의미함.
반복적인 코드 작성을 줄이고자 클래스나 함수, 코드 변수들로 만들어두어 필요할 떄마다 호출하여 사용 할 수 있다.
라이브러리는 동작하는 프로그램이 아니라 특정한 기능만을 수행하도록 제작되어 기계어의 형태로 존재하는 프로그램이고 개발자가 필요한 기능만 호출해서 사용 할 수 있어 개발 주도권이 개발자에게 있다고 할 수 있다.
사용할지 안할지는 개발자의 선택사항이고 라이브러리를 만들 때는 규칙이 존재하지 않아서 의도에 맞게 사용하면 된다. 또 개발자가 만들어서 라이브러리를 제공할 수 있고 남이 만든 라이브러리를 가져다가 쓸 수도 있다.
해당 라이브러리 기능을 직접 호출하는 프로그램을 실행하거나 사용자가 해당 라이브러리의 기능을 실행하는 API를 사용하는 프로그램을 개발하면 실행 할 수 있다.
라이브러리의 종류는 언어에 따라 차이가 있다
프레임워크란 원하는 기능 구현에만 집중하여 빠르게 개발할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 라이브러리를 말한다. 프로그래밍을 할 때 필수적인 코드, 알고리즘 등과 같은 어느 정도의 구조를 제공해주고 있기 때문에 작업 속도를 크게 높이고 단순화 할 수 있다.
개발자에게 공통적인 개발 환경을 제공하며 개발 할 수 있는 범위들이 정해져 있다.
개발을 시작하는 방법부터 기능을 구현하는 모든 것을 프레임워크에서 정해 놓은대로 따라야 한다.
라이브러리와는 다르게 개발 주도권이 프레임워크한테 있다고 말할 수 있다. 혼자서는 동작할 수 없기 때문에 코드의 비어있는 영역을 채워야 한다. 만약에 기존 프레임 워크의 기능을 바꾸고싶다면 프레임워크를 고쳐서 사용하면 된다.
프로그래밍 언어별 프레임워크 
개발 기능을 제공한다는 점에서 라이브러리와 프레임워크가 헷갈릴 수도 있는데 프레임워크가 여러 기능을 가진 클래스와 라이브러리가 어떠한 결과물을 구현하고자 합쳐진 형태로 라이브러리보다 상위의 그룹이라고 볼 수 있다. 