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

해버니·2022년 12월 14일
0

TIL

목록 보기
1/9
post-thumbnail

"내가" 라이브러리를 부르는 것이고
"프레임워크"가 나를 부르는 것이다.




공통점

라이브러리와 프레임워크는 누군가에 의해 쓰여진 코드이다.
우리가 프로젝트를 진행할 때 좀 편리하고, 빠르게 완성하기 위해서 가져다 쓰는 도구들을 말하는 것이다.




차이점

"누가 누구를 컨트롤 하는가"

내가 코드를 통제하느냐   vs   누군가의 정해진 규칙을 따르고 있느냐

코딩을 하다가 내가 필요할 때! JQuery를 부를 수 있다. (내가 통제) -> 라이브러리
정해진 규칙을 따른다 → 프레임워크



라이브러리

내가 필요할 때 가져다 쓰는 것.
라이브러리는 대체될 수 있다.
(내가 가져다 쓰는 것이기 때문에 이 라이브러리를 가져와도 되고 저 라이브러리를 가져와도 된다. 그렇다고 프로젝트가 망가지지 않는다.)


라이브러리의 종류

  • 자바 클래스 라이브러리
    (java.lang, java.util, java.io, java.net...)
  • 파이썬 (Datetime, Pandas)
  • JQuery



프레임워크

프레임워크는 불러서 사용하는 것이 아니라 프레임워크가 나를 부르는 것이다.
프레임워크로 일을 할 때는 프레임워크의 규칙을 반드시 따라야 한다.
내가 컨트롤하는 건 없다. 그저 규칙을 따라야 할 뿐


프레임워크의 종류

  • Java → Spring 프레임워크
  • Python → Django 프레임워크
  • JavaScript → Node.js 프레임워크




그럼 리액트는.. 라이브러리야? 프레임워크야?

리액트JS 웹사이트에 가면 "리액트는 라이브러리"라고 말한다.

애플리케이션의 UI를 빌드할 때는 리액트를 부르는 것이다.
이 경우 "내가" 리액트를 부르는 것 → 라이브러리

하지만 "리액트가" 우리의 컴포넌트를 부르긴 한다. → 프레임워크
내가 컴포넌트를 쓰면 리액트가 그걸 불러와서 스크린에 보여준다.
(리액트가 states, props 같은 걸 컴포넌트에게 준다.)

그래서 두 개의 특성을 갖고 있다고 볼 수 있다.
(이건 Vue도 마찬가지)




https://www.youtube.com/watch?v=t9ccIykXTCM

0개의 댓글