본문 바로가기

REACT4

[React Native] react native 작동 원리 2018년에 가시화된 리액트네이티브의 새로운 아키텍쳐가 2022년 3월에 발표되었다. 따라서 기존 아키텍처의 한계점을 알아본 후, 새롭게 바뀐 아키텍처 도입으로 인한 이점과 RN플랫폼과 Thread에 대해 알아보자. 기존 아키텍처의 한계점 기존 아키텍처는 js계층에서 네이티브 계층으로 전달해야 하는 모든 데이터를 'Bridge'를 이용해 직렬화하여 작동했다. 이에는 몇가지 한계가 존재했다. 1. 비동기: 한 계층이 'Bridge'로 데이터를 제출하고 다른 계층이 이를 처리하기를 비동기적으로 '대기'하였다. 2. 단일 스레드: js 단일 스레드에서 모든 계산이 수행되어야 한다. 3. 부가적인 오버헤드 발생: 한 계층이 다른 계층을 사용해야 할 때마다 일부 데이터를 json으로 직렬화, 역직렬화해야만 했다... 2024. 4. 5.
[Next.js] Server Components 서버컴포넌트를 이용하여 data fetching 방식을 사용할 때의 장점 1. 클라이언트 단에서 돌아가지 않는 데이터베이스 및 api 등의 백엔드 서비스에 접근이 가능하다. 2. 보안 상 노출되면 안되는 키값들을 클라이언트 단에 드러나지 않게 할 수 있다. 3. data fetching 과 렌더링을 동일한 환경에서 수행할 수 있다. 4. 서버에 렌더링 캐싱이 가능하다. 5. 번들링할 자바스크립트 양이 줄어든다. 일반적으로 리액트에선 모든 작업이 클라이언트 단에서 이루어진다. Next.js 는 이러한 컴포넌트들을 서버에서 부분적으로 렌더링되는 페이지로 만들어서 클라이언트에서 모든 것을 부담하지 않아도 되게 개선하였다. 하지만 이 방식은 이렇게 서버단에서 생성된 HTML에 결국 클라이언트 단에서 hydrat.. 2023. 12. 4.
[Next.js] SSR, SSG, ISR SSR SSR은 Server Side Rendering 의 약자로 서버에서 페이지를 렌더링해서 클라이언트에 전달해주는 방식이다. Next.js 에서 SSG 와 ISR 와 구분되는 이유는 렌더링 되는 시점이다. SSR는 사용자가 요청할 때 마다 페이지를 새롭게 렌더링한다. 따라서 Fetching 해야하는 데이터가 빈번할 때 사용된다. Next.js 12 에서는 이를 getServerSideProps라는 이름의 함수를 통해 값을 SSRPage에 렌더링한 후 클라이언트에 전달한다. export default function SSRPage({ dateTime }: SSRPageProps) { return ( ); } export const getServerSideProps: GetServerSideProps =.. 2023. 12. 4.
[Next.js] SSR과 CSR의 차이 SPA 여기서 SPA란, Single Page Application의 약자로, 하나의 페이지로 구성된 웹 애플리케이션이다. SPA로 개발된 웹사이트에서는 카테고리에 있는 각 메뉴를 선택하면 보통 헤더는 고정되어 있는 상태로 메인화면 혹은 클릭한 부분만 바뀐다. MPA 반면 MPA란, Multi Page Application의 약자로, 탭을 이동할때마다 서버로부터 새로운 HTML을 새로 받아와서 페이지 전체를 렌더링 하는 전통적인 웹 페이지 구성 방식이다. SSR과 CSR 알아보기 SPA는 웹 애플리케이션에 필요한 정적 리소스를 한꺼번에 모두 다운로드하고, 이후 새로운 페이지 요청이 왔을 때 필요한 데이터만 전달받아서 클라이언트에서 필요한 페이지를 갱신하기 때문에 CSR로 렌더링하고, MPA는 새로운 요청.. 2023. 12. 4.