Post

REACT 리액트의 장단점

리액트(React)의 장단점

장점

  1. 가독성과 유지 보수성
    리액트는 JSX 문법을 사용하기 때문에 JavaScript 코드 안에 마크업을 작성할 수 있습니다.
    이는 개발자가 UI를 더 직관적으로 이해하고, 코드를 읽고 수정하기 쉽게 만들어주며 코드를 더 쉽게 재사용할 수 있도록 도와줍니다.
  2. 컴포넌트 기반 아키텍처
    리액트는 컴포넌트를 사용하여 UI를 작성합니다.
    컴포넌트를 사용하게 되면 UI를 작은 조각으로 분할하고, 분할된 각 조각들은 독립적으로 개발하고 테스트할 수 있게 해줍니다. 때문에 코드의 재사용성이 증가하게 되면서 유지 보수는 쉬워지게 됩니다.
  3. 가상 DOM
    리액트는 실제가 아닌 가상 DOM을 사용하기 때문에 실제 DOM 조작을 최소화할 수 있습니다.
    가상 DOM은 메모리에 존재하는 가벼운 복사본이라 생각하면 되는데 실제 DOM과 동기화되기 때문에 동일하게 변경 사항이 적용되고, 효율적으로 반영할 수 있어 애플리케이션의 성능을 향상시킬 수 있습니다.
  4. 단방향 데이터 흐름
    리액트는 단방향 데이터 흐름을 따릅니다.
    즉, 데이터의 흐름이 한 방향으로만 흐르기 때문에 상태 관리가 예측 가능하고 디버깅이 쉽습니다. 또한 React의 상태 관리 라이브러리인 Redux를 사용하면 더욱 강력한 상태 관리가 가능합니다.
  5. 대규모 커뮤니티와 생태계
    리액트는 엄청난 규모의 개발자 커뮤니티를 보유하고 있으며, 이에 따라 많은 도구, 라이브러리, 플러그인 등이 개발되고 지속적으로 업데이트되고 있습니다. 이는 개발자가 문제를 해결하고, 새로운 기능을 구현하기 위한 자원을 풍부하게 활용할 수 있다는 장점을 제공합니다.

단점

  1. 러닝 커브
    JSX 및 컴포넌트 기반의 개발 방식은 처음 접하는 개발자들에게는 어려울 수 있어 기존의 프론트엔드 개발 경험이 없는 경우 이를 익히는 데 시간이 걸릴 수 있습니다.
  2. 상태 관리의 복잡성
    작은 규모의 애플리케이션에서는 상태 관리가 간단하지만, 큰 규모의 애플리케이션에서는 복잡해질 수 있습니다.
    Redux나 MobX와 같은 상태 관리 라이브러리를 사용하면 이러한 복잡성을 해결할 수 있지만, 지식이 없는 경우 추가적인 학습이 필요하기 때문에 이또한 해결에 시간이 걸릴 수 있습니다.
  3. 선택의 다양성
    리액트 생태계는 매우 다양하며 개발자는 프로젝트에 가장 적합한 라이브러리, 도구, 패턴 등을 선택해야 합니다.
    다만 이렇게 많은 선택지는 장점임과 동시에 처음 접하는 개발자들에게 혼란을 줄 수 있으며, 잘못된 선택으로 인해 프로젝트의 성능이나 유지 보수성에 영향을 줄 수 있는 단점이 되기도 합니다.
  4. SEO 최적화의 어려움
    리액트 애플리케이션은 클라이언트 측 렌더링을 사용하기 때문에 초기 로딩 속도가 빠르지만, 검색 엔진 최적화에는 추가적인 작업이 필요할 수 있습니다. 이를 위해 서버 사이드 렌더링을 구현하거나, 검색 엔진을 위한 메타 태그를 적절히 설정해야 합니다.


이렇게 오늘은 리액트(React)의 장점과 단점에 대해 알아봤는데요,
면접에서도 충분히 나올 수 있는 질문인만큼 미리 공부해두면 좋을 것 같네요! 그렇다면 저는 다음에 또다른 면접에 대비한 내용을 들고오도록 하겠습니다 😁!

This post is licensed under CC BY 4.0 by the author.