라이브러리 vs 프레임워크

Blackeichi·2023년 1월 28일
0

📌라이브러리와 프레임워크란 ?

라이브러리 프레임워크는 흑/백처럼 또렷하게 나뉘어지는 개념은 아니다.

라이브러리, 프레임워크는 둘다 다른 누군가가 작성한 코드인데 우리의 프로젝트를 위해서 가져다가 쓰는 것들이다.

라이브러리와 프레임워크의 차이점은 아주 심플한 컨셉이다. 누가 누구를 컨트롤하는가.

내가 코드를 컨트롤하고 결정하는가?
아니면 누군가 정해준 규칙을 따라하고 있는가?

이 부분에서 라이브러리와 프레임워크가 차이가 있다.

📌라이브러리

라이브러리의 가장 좋은 예시가 jQuery이다.

제이쿼리는 웹사이트에 인터랙티브한 요소를 넣을 수 있는데 내가 코딩을 할 때 내가 필요할 때 제이쿼리를 소환한다.

즉 우리가 필요할 때 라이브러리를 사용할 수 있다. 또한 비슷한 걸로 쉽게 대체도 가능하다.

그 외에도 웹개발을 할 때, npm으로 설치한 패키지들이 라이브러리라고 볼 수 있다.

즉 라이브러리는 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임. 즉 특정 기능을 모와둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미한다.

📌프레임워크

하지만 프레임워크는 다르다. 프레임워크가 나를 부르는 것이다.

프레임워크로 일을 할때는 프레임워크의 규칙을 따라야한다.

어디에 템플릿을 넣고 컨트롤러를 넣고 뷰를 넣어야하는지 다 규칙이 정해져있다. 대표적으로 django, Spring가 있고, 웹 개발에서는 Next.js가 프레임워크라고 볼 수 있다.

즉, 프레임워크는 쉽게 설명하자면 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미한다.

그런데 리액트는 프레임워크라고 하기엔 조금 애매한 면이 있다. 처음에 말한 라이브러리, 프레임워크가 흑/백처럼 또렷하게 나뉘어지는 개념이 아니라고 한 이유가 여기에 있다.

리액트 공식 사이트에 가보면 ReactJs는 라이브러리라고 한다.

내가 앱의 ui를 만들때 리액트를 호출하므로 리액트가 라이브러리가 맞기도 한다. 정해진 규칙 폴더구조 컴포넌트명 이런것이 정해진 것이 없기 때문이다.

하지만 리액트는 우리의 컴포넌트를 부르므로 프레임워크라고 볼 수도 있다.(Vue도 마찬가지)

그러므로 리액트는 프레임워크이자 라이브러리.. 둘 다 맞다고 볼 수가 있다.

#REFERENCE

cocoon1787 - [개발상식] 프레임워크(Framework) 와 라이브러리(Library)의 차이
노마드코더 - 라이브러리? 프레임워크? 차이점 아직도 모름? 5분 순삭.

profile
프론트엔드 주니어 개발자 한정우입니다. 😁

0개의 댓글