라이브러리 (library)

라이브러리 말 그대로 도서관, 소스코드를 가지고있고 필요하면 가져다 쓰는 개념이다.

개발자에게 가장 중요한 능력중에 하나도 라이브러리를 잘 이용하는 것이다.

이미 수많은 회사나 개발자분들이 만들어넣고 무료로 제공해주고 있다.

필요한 라이브러리를 다운로드 받고 (대표적으로 .jar 파일 등) 사용하면 된다.

프레임워크 (Framework)

내가 처음 배운 프레임워크에 개념은

특정문제 , 특정개념을 해결한 확장 , 재사용 가능한 library

개발회사들이 개발을 하면서 시간과 비용을 절약하기 위해 만들어놓은 것이었다.

이미 만들어진 구조물에서 제공하는 기능을 사용해서 개발 하는 것.

java web 을 공부할때 배운 대표적인 프레임워크가 Spring 이었다.

Spring 프레임워크를 사용하면서 보다 쉽고 간편하게 개발을 할 수 있었다.

하지만 Spring 프레임워크를 편하게 사용하기 위해서는 사용하는 방법을 알고 있어야 했다.

라이브러리 vs 프레임워크

다양한 라이브러리 와 프레임워크를 사용하면서 간혹 "이건 라이브러리인가 ? 이게 프레임워크라고?"

혼동되었을때가 많았다.

처음 jQuery를 사용할때 나는 javascript의 프레임워크 라고 배웠다.

하지만 jQuery는 React와 같이 프론트앤드의 대표적인 라이브러리라고 한다.

비슷한 맥락으로

누군가는 React를 프레임워크라고 말한다.

초창기보다 그 규모와 제공해주는 기능들이 방대 해졌기때문에 그렇다고 한다.

아직 명확하게 라이브러리와 프레임워크를 확실하게 나누라고 하면 잘 모르겠다.

하지만 결론을 내보자면

라이브러리는 부품이고 , 이 부품들을 모아서 하나의 묶음으로 만든 것이 프레임워크 인것 같다