끄적이는 공간

Tip/TipContent

[개발관련] 라이브러리와 프레임워크의 차이점.

Joroki 2022. 11. 19. 21:46

프레임워크와 라이브러리의 차이점

둘의 가장 큰 차이점은 '제어 흐름의 권한'이 어디에 있냐 라는 것.

라이브러리를 사용할 때 사용자는 애플리케이션 코드의 흐름을 직접 제어해야 한다.
개발 시 필요한 기능이 있을 경우 능동적으로 라이브러리를 호출하여 사용하거나 기존에 구성된 함수나 코드를 가져다 써야한다.

 

반면 프레임워크는 애플리케이션의 코드가 프레임워크에 의해 사용됩니다.
애플리케이션 코드는 프레임워크가 짜 놓은 틀에서 수동적으로 동작하기 때문에 제어의 흐름은 프레임워크가 가지고 있고 사용자가 그 안에 필요한 코드를 작성하게 됩니다. 


프레임워크와 라이브러리 정의

  • 프레임워크(Framework)

- 원하는 기능 구현에 집중하여 개발 할 수 있도록 이정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미.

- 앱&서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은 프레임워크가 관리하며 사용자는 프레임워크가 정해준 방식대로 클래스, 매서드들을 구분 하면 됨.

 

  • 웹개발 JS와 밀접한 프레임워크 
    • Vue.js
    • Angular

 

  • 라이브러리?(Library)

- 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임. 

- 즉 특정 기능을 모아둔 코드&함수의 집합체이며 코드 작성시 활용 할 수 있는 도구들을 의미.

- 작업자가 필요할때 부를 수 있는 것들의 모임.

 

  • 웹개발 JS로 만들어진 라이브러리
    • Jquery
    • React.js
TIP. React.js는 프레임워크가 아니다?

JS기반 프레임워크 3대장이 "React, Vue.js, Angular'로 알려져있고 나도 그런 줄 알았으나 React 공식 홈페이지에서 정의 한 것으로는 프레임워크가 아닌 JS 라이브러리로 분류 된다고 한다.

 

즉, React.js는 사용자 인터페이스 개발을 위해 사용되는 라이브러리가 맞다.

 

 

내용 출처- https://cocoon1787.tistory.com/745

반응형