라이브러리

라이브러리란, 소프트웨어 개발에 사용되는 프로그램의 구성요소들 중에서 공통으로 사용될 수 있는 특정 기능들을 모듈화 한 것이다.
즉, 자주 사용하는 기능들을 모아두었다가 필요할 때 그냥 가져다 쓸 수 있도록 해 놓은 묶음이다.
그 기능을 사용하기 위해 언제든지 필요한 곳에서 호출하여 사용할 수 있도록 class나 function으로 만들어진 것이다.

ex) javascript의 라이브러리 -> jQuery



프레임워크

프레임워크란, 프로그램의 기본 구조(뼈대)이다.
즉 코드의 품질, 필수적인 코드, 알고리즘, 데이터베이스 연동과 같은 기능들을 어느정도 갖춘 뼈대를 제공하도록 만들어진 것이 프레임워크이다.
원하는 기능 구현에 집중하여 빠르게 개발 할 수 있도록, 기본적인 기능을 갖추고 있는 것으로 라이브러리도 포함되어 있다.
프레임워크만으로는 프로그램이 실행되지 않으며, 기능을 추가해야 하고, 프레임워크가 정의한 규칙을 준수해야 한다.

ex) javascript의 프레임워크 -> angular, react
css의 프레임워크 -> bootstrap



플러그인

플러그인이란, 어떤 특정한 하나의 문제를 해결하기 위한 컴포넌트이다.
즉, 사람들이 자주 사용할 만한 기능들을 직접 일일히 구현할 필요 없이 필요한 기능들만 그때 그때 찾아서 사용할 수 있도록 미리 만들어 놓은 것이 플러그인이다.
라이브러리와는 조금 다른데, 라이브러리는 비슷한 성격을 가진 플러그인들의 집합이라고 생각하면 된다.

ex) jQuery의 플러그인 -> datepicker, modal, bxslider