라이브러리는 한 마디로, 누군가의 족보라고 생각한다.
누군가가 짜놓은 코드를 필요할 때 우리가 사용하는 형식이다.
하지만 이러한 코드들은 단지 활용될 뿐이지, 그 자체로 동작하지는 않는다. (또한 코드를 수정할 수 없다.)
결국 호출하는 프로그램이나 API를 사용해야 한다. 여기서 프레임워크와의 차이점이 드러난다.
라이브러리는 단순히 우리의 코딩 삶에 있어, 도움을 주는 것이고 우리는 사용해도 되고, 안해도 된다.
하지만, 프레임워크는 말 그대로 프레임을 제공한다. 즉 우리는 프레임워크가 주는 프레임 안에서 정해진 대로 코드를 짜야한다. 우리에게 일종의 제어권한이 없는 것이다.
대표적으로 예시를 들어보자.
라이브러리 | 프레임워크 | |
JavaScript | jQuery, Bootstrap, D3.js, React | React, Vue, Angular |
Python | NumPy, Pandas, PyTorch | Django |
리액트의 홈페이지에서는 리액트는 라이브러리라고 소개한다. 하지만 우리의 컴포넌트를 가져와서 사용하는 환경임을 고려하였을 때, 프레임워크로서의 기능도 하는 것 같다. 굉장히 모호한 회색의 영역이라고 볼 수 있다.
프레임워크는 라이브러리의 상위개념이다. 왜냐하면, 프레임워크에도 여러 기능을 가진 클래스들이 존재하기 때문이다.
그냥 주저리 주저리 써봤다.
사실 이런 개념보다는 리액트에 대해서 쓰는 게 더 좋을 것 같다.
'간단한 개발 정보' 카테고리의 다른 글
그래서 웹이란게 뭔데? (0) | 2023.01.02 |
---|---|
서버리스(Serverless) (0) | 2022.10.10 |