라이브러리 (library)
라이브러리 말 그대로 도서관, 소스코드를 가지고있고 필요하면 가져다 쓰는 개념이다.
개발자에게 가장 중요한 능력중에 하나도 라이브러리를 잘 이용하는 것이다.
이미 수많은 회사나 개발자분들이 만들어넣고 무료로 제공해주고 있다.
필요한 라이브러리를 다운로드 받고 (대표적으로 .jar 파일 등) 사용하면 된다.
프레임워크 (Framework)
내가 처음 배운 프레임워크에 개념은
특정문제 , 특정개념을 해결한 확장 , 재사용 가능한 library
개발회사들이 개발을 하면서 시간과 비용을 절약하기 위해 만들어놓은 것이었다.
이미 만들어진 구조물에서 제공하는 기능을 사용해서 개발 하는 것.
java web 을 공부할때 배운 대표적인 프레임워크가 Spring 이었다.
Spring 프레임워크를 사용하면서 보다 쉽고 간편하게 개발을 할 수 있었다.
하지만 Spring 프레임워크를 편하게 사용하기 위해서는 사용하는 방법을 알고 있어야 했다.
라이브러리 vs 프레임워크
다양한 라이브러리 와 프레임워크를 사용하면서 간혹 "이건 라이브러리인가 ? 이게 프레임워크라고?"
혼동되었을때가 많았다.
처음 jQuery를 사용할때 나는 javascript의 프레임워크 라고 배웠다.
하지만 jQuery는 React와 같이 프론트앤드의 대표적인 라이브러리라고 한다.
비슷한 맥락으로
누군가는 React를 프레임워크라고 말한다.
초창기보다 그 규모와 제공해주는 기능들이 방대 해졌기때문에 그렇다고 한다.
아직 명확하게 라이브러리와 프레임워크를 확실하게 나누라고 하면 잘 모르겠다.
하지만 결론을 내보자면
라이브러리는 부품이고 , 이 부품들을 모아서 하나의 묶음으로 만든 것이 프레임워크 인것 같다