리액트 쓸 필요 없습니다.

 

리액트(REACT)


React : A JavaScript library for building user interfaces.

 

 리액트는 다음 공식사이트 정의와 같이 사용자 인터페이스(UI)를 만들기 위한 자바스크립트 라이브러리입니다.

UI는 사용자와 프로그램을 연결해주는 매개체라고 볼 수 있습니다. User와 Program의 상호작용을 위해 입력과 출력을 제어해주는 것으로 볼 수 있는데요. 웹 상에서 자주 쓰이는 버튼이나 텍스트 입력창 등이 있겠네요.

라이브러리는 실제로 도서관이라는 뜻이죠. 프로그래밍에서는 자주 사용되는 기능을 모은 것이라고 볼 수 있습니다.

 

그럼 이 라이브러리는 어떤 기능을 주로 할까요?

 

리액트의 역할은 Web-App(웹앱)을 만드는 것이라고 생각하면 됩니다. (Web-App을 Mobile-Web으로 혼돈하지 않도록 주의합시다!!)

Web-App : Mobile을 기준으로 개발하는 방식입니다. 단일 페이지 방식(SPA)을 사용하여 속도를 높이고 페이지 전환이 부드럽습니다.

Mobile-Web : 단순히 PC에서 보는 브라우저 창을 Mobile로 보도록 줄여놓은 상태. 풀 브라우저 방식입니다.

 

※ SPA : Single Page Application. 하나의 페이지만 존재하는 웹 사이트.

사용자가 특정 페이지를 요청하면 그때그때 페이지에 해당 내용을 채워줌.

 

웹앱은 모바일앱과 겉모습이 비슷하지만 구동방식을 마치 앱처럼 꾸며놓아 Web-app이라는 이름이 붙여졌습니다. 웹 개발기술로  Native-App(우리가 구글스토어나 앱스토어에서 다운받는 네이티브앱)을 흉내냈다고도 볼 수 있습니다.

 

 

리액트, 쓸 필요 없습니다.


1. Github는 쌩 자바스크립트(Vanilla JS)로 개발합니다.

: 전 세계 수많은 개발자들이 사용하는 Github 페이지는 Vanilla JavaScript를 사용합니다. 바닐라 자바스크립트란 외부 라이브러리나 프레임워크를 쓰지 않는 순수, 다시 말해서 쌩 자바스크립트라는 말이죠. 사용자 정의된 라이브러리나 프레임워크를 일절 사용하지 않기 때문에, 보다 빠르고 호환성이 높으며 좀 더 많은 기능을 개발할 수 있습니다. (리액트를 완전히 대체하진 못하지만 리액트의 JSX Component를 바닐라JS의 Web Component화 해서 사용하는 등 비슷한 기법을 사용할 순 있습니다.)

 Front-End 분야는 워낙 라이브러리, 프레임워크의 교체 시기가 빠르기 때문입니다. 주권이 언제 바뀔지 모르는 라이브러리를 사용하기보다 쌩 자바스크립트로 개발하는 게 더 위험성 없다고 생각했을 거에요.(자바스크립트가 주권을 뺏기지 않는 한...)

 

2. Kakao는 Vue.js를 좋아합니다.

: 카카오는 React도 물론 사용하지만 새로운 서비스를 런칭할 때 Vue.js 프레임워크의 선호도가 더 높습니다. 그 이유는 아주 여러가지가 있겠지만 '리액트보다 쉬워서'입니다. 문법이 리액트보다 어렵지 않고, 수학과 같이 개발 공식(Right Way)이 있기 때문입니다. 예를 들어, <HTML>을 여러 개 만들 때 리액트에서는 여러 문법이 사용될 수 있지만 Vue에서는 v-for 문법으로 통일되어 있습니다.

 

 

그럼에도 쓰는 REACT


 

  1.  사람들이 가장 많이 사용한다.
  2.  Single Page Application을 만들 수 있다.
  3.  Component로 html 재사용이 편리하다.
  4.  State로 데이터가 html에 자동 반영된다.
  5.  React-Native 같이 모바일 앱으로 발행도 쉽다.

 사실 다른 이유를 다 제쳐두고서라도, 리액트를 사용하는 이유로 활발한 개발 생태계와 커뮤니티를 꼽을 수 있습니다.

구글 검색결과 수조차 남다른 react

 라이브러리나 프레임워크가 잊혀지는 경우는 크게 두가지 입니다. 더이상 업데이트가 되지 않거나, 찾는 사람이 줄어들거나. 게다가 개발은 사람이 하는 것이다보니 같은 문제, 같은 버그가 생길 확률이 높습니다. 아니면 모르는 것도 비슷하죠.

 리액트는 메타(페이스북)라는 거대 스폰서가 있어 꾸준히 버전 업데이트가 진행중입니다. 또 엄청난 크기의 커뮤니티가 개발에 있어 막히고 더디게하는 문제를 금방 해결해줄 수 있습니다. 

 언젠가 다른 라이브러리가 대세가 될 수도 있겠지만, 앞으로의 몇 년간은 REACT의 시대라고 봐도 과언이 아닐듯 합니다. 이런 이유로 REACT 개발을 시작해보려 합니다.

+ Recent posts