DEV/React

React(리액트) 개념과 사용성 : 리액트는 라이브러리 인가 ....? 프레임워크 인가....?

김슈가 2024. 11. 11. 16:57
728x90
반응형
React란?

  • 오픈 소스 자바스크립트 라이브러리중 하나이다.

But, 현재 보고 있는 Do it책에는 프런트엔드 '프레임워크'라고 되어있는데 리액트의 레거시 홈페이지에도 '자바스크립트 라이브러리'라고 소개 되어있기에 일단은 나도 저렇게 정의해 보았다. 관련해서 논란...?이 조금 있기에 찾아보니 사용되는 방식에 따라서 라이브러리로 사용이 되느냐, 프레임워크로 사용이 되느냐를 두고 이중적 정체성을 가지고 있는 듯 했다. 아마 해당 책에서는 create react app이라는 틀이 잡힌 프로젝트를 설치 후 예제를 실행하는 방식이라 프레임워크라고 적은건가 싶기도 한데...자료를 찾아보다 보니 더더 헷갈리는데...😀 ( 책을 다 보고 나면 왜 프레임워크로 정의한 것인가... 가닥이 잡힐것 같기도 하고...??_?? 이건 책보기 끝나면 다시 한 번 더 생각을 정리해 보는 걸로...) 

무튼 지금은 찾아보니 원래 리액트 레거시 홈페이지(https://ko.legacy.reactjs.org/docs/create-a-new-react-app.html)에서는 CRA(Create React App)을 사용해서 자습서를 따라하는 예제가 있었는데, 이제 업데이트 되지 않는다는 정보와 새로 바뀐 홈페이지 안내 문구가 있다. 현재 운영중인 리액트 홈페이지(https://react.dev/learn/start-a-new-react-project) 에서는 CRA에 관련된 내용은 없고 다른 회사의 프레임워크 사용으로 리액트 라이브러리를 사용할 것을 권장하고 있는듯 하다. ( 이럼 리액트는 라이브러리라는 개념으로 사용할 것을 권장하고 있으며 ) 

소프트웨어 개발 에서의 프레임워크와 라이브러리에 대한 이런 저런 정의들을 찾아봤는데 아래와 같이 정리 할 수 있었다...(나무위키 링크참조)

  • 라이브러리 : 완전한 프로그램으로 혼자서는 동작할 수 없다. 미리 작성된 코드의 집합으로 이미 작성 된 코드에 추가해서 사용할 수 있다. (예를 들면 Lombok, Gson...)
  • 프레임워크 : 라이프 사이클이나 일종의 상태를 가지고 있는데 이를 일정한 틀이라고도 말할 수 있겠다. 대부분의 프레임워크들은 다양한 기능 지원을 위해서 라이브러리들이 포함되어있다. 이런 상태로 존재하며 개발자들에게 제공되기에 가져다 쓰기만 하면 돼서 개발자들의 피로도가 줄어든다는 장점이 있다. (예를 들면 Spring boot)

IoC : Inversion of Control(제어의 역전 : 개발자가 직접 흐름을 제어하는 것이 아니라 외부 프레임워크나 라이브러리에게 제어를 위임하는 것.)의 여부로 라이브러리와 프레임워크의 차이를 설명하는 사람들도 있던데...찾아보니 리액트에도 IoC 패턴을 적용해서 사용할 수 있는거 같은데 사용법이나 관점에 따라 다르게 적용 되는거 같아서...(참고링크)저것도 확실하고 정확한 설명은 아닌것 같다는 판단이 든다.

파면 팔수록 모호해지는 이 경계...지만 그냥 지금 느껴지는건 현재 리액트 공식페이지에서는 라이브러리처럼 사용하기를 바라는 것 같으니 라이브러리라고 답을 해야 하는 걸까....

➡️참고하였음...

 

라이브러리

API 를 기반으로 대상 환경(플랫폼: Linux , macOS , Windows )에서 바로 실행될 수 있도

namu.wiki

 

 

프레임워크

Framework 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조로, 소프트웨어 개발에

namu.wiki

 

리액트에서 라이브러리와 프레임워크의 차이점

리액트가 라이브러리인지 프레임워크인지에 대한 논의는 그것이 제공하는 제어의 역전(IoC) 특성과 개발자가 직접 제어할 수 있는 유연성 때문입니다. 이 글에서는 리액트의 이중적 정체성을 이

f-lab.kr

 

 

라이브러리와 프레임워크, 이렇게 구분하세요.

라이브러리와 프레임워크 라이브러리(library)와 프레임워크(framework)는 모두 소프트웨어 개발에서 자주 사용되는 용어입니다. 그러나 라이브러리와 프레임워크는 목적과 사용 방식에서 차이가

njobber.tistory.com

 

 

라이브러리(Library) vs 프레임워크(Framework)

1) 내가 다 결정해서 코드를 컨트롤 하는가 . . . . . 라이브러리 2) 누군가가 정해준 규칙을 따르고 있는가 . . . . . 프레임워크 내가 코딩을 하다가 필요(시간절약/편의 등)해서 불러오는 것개발자

velog.io

 

 

[React] 리액트는 프레임워크? 라이브러리?

리액트에 대해서 알아보자

velog.io

 

 

Create React App (CRA) 이제 안쓰나요?

과거 React 프로젝트를 간단하게 진행해보신 경험이 있다면 다들 Create React App (CRA) 를 활용하여 React 프로젝트를 생성한 경험이 한번쯤은 있으실 것 같습니다. 그 이유는 React 공식 문서상 가장 처

velog.io

 

 

이제부터 이 컴포넌트는 제 겁니다 | 카카오엔터테인먼트 FE 기술블로그

김규재(novell) 판타지 소설, 그 중에서도 사이버펑크나 아포칼립스 장르를 아주 좋아하는 개발자입니다. 언젠가는 나도 한번 글을 써보겠다는 꿈을 가지고 있으며, 현재는 카카오엔터테인먼트에

fe-developers.kakaoent.com

 

Inversion of Control

Stay up to date Stay up to date All rights reserved © Kent C. Dodds 2024

kentcdodds.com

 

728x90
반응형