React 쓰는 이유
React 쓰는 이유
React 장점
React로 웹을 만들지만 앱 처럼 동작하기 때문에 wep-app 이라고 부릅니다.
웹앱을 쉽게 만들 수 있는 라이브러리는 총 세 가지가 있습니다.
- React
- Angular
- Vue
저 세가지 중에서 가장 많이 쓰이고 있는 것이 React 입니다.
React-native로 모바일 앱으로 발행이 쉽고 앱 처럼 빠른 동작 덕분에 쇼핑몰 같은 곳에서는 일반 웹 사이트보다 구매율이 더 높다고 합니다. 그래서 요즘은 React로 웹앱을 많이 만들기 때문에 웹 개발자들의 필수 스킬이 되어버렸습니다.
React 단점
React는 문법이 좀 어렵습니다. hook 함수를 외워야 하고 작동 원리를 배워야 합니다.
옛날에는 class문법을 써서 많이 복잡했는데 요즘은 함수형으로 나와서 많이 간편해졌지만 React를 처음 접하는 사람에게는 생소하기 때문에 좀 어렵습니다.
자바스크립트 기초와 HTML/CSS를 알아둬야 하기 때문에 공부하는 기간이 늘어 공부만 하다가 언제 취업하지 하고 포기 하실 수도 있습니다.
저는 퍼블리싱을 1년정도 했었기 때문에 HTML/CSS는 수월했지만 자바스크립트를 잘 몰랐기 때문에 시간이 조금 걸렸습니다.
React와 같이 공부 하면 좋은것들
Redux-Toolkit
Redux-Toolkit은 Redux를 좀 더 간편하게 쓰기 위해 나온 상태 라이브러리입니다. Redux 말고도 요즘엔 recoil도 많이 쓰이는것 같습니다.
Redux-Toolkit(상태라이브러리)을 쓰는 이유
Next.js
React는 프레임워크가 아닌 라이브러리 입니다. 이 라이브러리를 좀 더 간편하게 쓰기 위해 Next.js 프레임워크가 나왔습니다.
그러나 Next.js가 프론트엔드 기술스텍이 아닙니다. 요즘은 인건비 때문에 풀스텍 개발자를 많이 찾는 추세라 프론트엔드 기술만으로 롱런하기가 조금 어렵습니다.
그래서 나온것이 Next.js 프레임워크입니다. 이 프레임워크는 풀스텍개발용으로 나왔습니다.
Next.js의 장점은 서버사이드렌더링입니다. React는 클라이언트사이드렌더링입니다.
client-side Rendering이란?
서버가 아니라 유저 브라우저에서 실시간으로 데이터를 만들어줍니다.
그러면 앱처럼 부드럽게 동작을 하게 됩니다.
client-side Rendering의 단점
- 구글 검색노출이 오래 걸려서 어려움
- 첫페이지 로딩속도 느림
server-side Rendering이란?
서버에서 html을 미리 다 만들어서 유저 브라우저에 보내주기 때문에 조금 더 가볍고 구글 검색 노출이 잘되며 페이지 로딩 속도도 빠릅니다. 그리고 원하는 페이지에서 client-side rendering이 가능합니다.
Next.js의 장점
- 자동 라우팅 기반 - 프로젝트에 폴더를 만들면 그 폴더를 기반으로 페이지가 만들어집니다.
- 클라이언트 사이드 렌더링이 가능합니다.
- 캐싱이 쉽습니다.
- 최적화된 이미지를 쓸 수 있습니다.
Next.js의 단점
폴더기반 라우팅 때문에 자바스크립트 파일이 많아집니다.
React의 미완성 기능들이 도입되어서 언제 지원이 되는지 모릅니다.
서버사이드컴포넌트에서는 자바스크립트 문법을 쓸 수 없어서 클라이언트 컴포넌트를 따로 만들어야 하기 때문에 js 파일이 많아져서 복잡해집니다.
websocket, webRTC 등등 같은 것들은 서버를 하나 더 만들어야 합니다.
React를 공부 해보고 Next.js도 공부해두면 좋을것 같습니다.
댓글
댓글 쓰기