반응형
난 지금까지 React가 Javascript 기반의 Frontend 프레임워크인 줄 알았다..
하지만 최근 React 공부를 시작하면서 프레임워크가 아닌 라이브러리라는 것을 알았다!
먼저 Framework와 Library의 차이점을 정리하자면,
Framework
뼈대나 기반구조.
Application 개발 시 필수적인 코드, 알고리즘, 데이터베이스 연동 등과 같은 기능들을 위해 어느정도 뼈대, 구조를 제공해주는 것이다.
프로그래머는 제공된 프레임워크의 구조에서 어플리케이션을 개발한다.
Library
특정 기능에 대한 API(도구, 함수)를 모은 집합.
프로그래머는 해당 기능을 사용하기위해 불러와서 호출한다.
이렇게 정리할 수 있는데, 여기서 중요하게 생각할 수 있는 것은 '제어의 역전'이다.
제어의 역전은 정보처리기사를 공부하면서 봤던 내용인데
Application의 Flow를 제어하는 권한이 어디에 있냐에 따라 프레임워크와 라이브러리로 나뉘어진다.
제어의 역전
라이브러리를 사용하는 코드는 애플리케이션의 흐름을 직접 제어한다.
반면, 프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용된다.
프레임워크에는 분명한 제어의 역전 개념이 적용된다.
결론!
React에는 어플리케이션의 흐름을 제어하는 권한, 즉 제어의 역전 개념이 없다.
단순히 UI를 렌더링하기 위한 '라이브러리'다.
반응형