Study: Next.js | 메타 프레임워크

Lumpen·2024년 1월 24일
0

Next.js

목록 보기
1/1

Next.js의 메타 프레임워크로서 특징과 다른 프레임워크와의 차별점

메타 프레임워크

전통적 프레임워크는 프로그래밍 언어 수준에서 제공되지 않는 기능들을 보완하여
컨벤션에 맞추어 사용할 수 있도록 제공하는 프로그램

자바스크립트는 자바의 Spring 이나 파이썬의 Django 처럼
특정 강력한 프레임워크를 사용하는 것이 아니라
여러가지 라이브러리와 프레임워크를 조합하여 사용하는 경우가 많다
웹 프론트엔드 개발이라면 더더욱 그렇다

메타 프레임워크는 프레임워크를 위한 프레임워크라고 할 수 있다
메타 프레임워크는 프레임워크를 효과적으로 사용하여 개발할 수 있도록 토대를 제공하는 역할을 한다

메타 프레임워크의 필요성

자바스크립트 진영에서 웹 프로젝트를 할 때 같은 용도의 비슷한 라이브러리가 너무 사용되고 있다
패키지 매니저에는 npm, Yarn, pnpm 등
번들링 도구에는 Webpack, Parcel, Vite 등
데스트 도구에는 Jest, Mocha, Jasmine 등

자신의 프로젝트에 맞는 조합을 골라 사용하는 것은
높은 숙련도가 필요할 뿐만 아니라 추후 변경도 쉽지 않기 때문에 매우 중요하다고 할 수 있다
위 도구들은 극히 일부분이고 라우팅, 데이터 페칭, 스타일링 등이 필요하다

메타 프레임워크는 이러한 어려운 결정이나 복잡한 설정을 피할 수 있도록
기반이 되는 UI 프레임워크 (React, Vue, Svelte 등)를 제외한 다른 프레임워크와 라이브러리를
결정해주어 프로젝트의 짜여진 틀을 제공한다고 볼 수 있다

메타 프레임워크는 개발에 참여하는 개발자의 학습 곡선도 낮추어줌을 기대할 수 있고
개발 생산성을 극대화시키는 효율적 웹 개발 도구와로 할 수 있다
사용자는 비즈니스 로직에 집중할 수 있지만 그만큼 자유도가 떨어지게 된다

React 진영의 메타 프레임워크

React 의 메타 프레임워크는 대표적으로 Next.js Gatsby, Remix 등이 있다
Next 는 SSR 을 위해 주로 사용되었지만 SSG 도 지원한다
Gatsby 는 SSG 를 지원하고 GraphQL 을 사용한다

다른 진영의 메타 프레임워크

리액트의 시장 점유율이 80% 에 육박하면서 다른 UI 프레임워크들은
처음부터 전략적으로 메타 프레임워크를 함께 선택하도록 했다
Vue.js 에는 Nuxt.js,
Sevelte 에는 SvelteKit 이 있다

중립 메타 플에임워크

Astro 는 거의 모든 UI 프레임워크와 함꼐 사용이 가능하다

Next.js 와 다른 프레임워크의 차이점

React 진영 내의 프레임워크와 비교

Gatsby 는 SSG 만을 위한 프레임워크지만
Next.js 는 SSR, CSR 등 다양하게 사용될 수 있다

Remix 는 SSR, CSR 을 위한 프레임워크로 SSG 는 할 수 없다
엣지 우선 방식으로 HTTP 요청을 처리한다 (엣지 컴퓨팅)

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글