|
1 | 1 | ---
|
2 |
| -title: Creating a React App |
| 2 | +title: 새로운 React 앱 만들기 |
3 | 3 | ---
|
4 | 4 |
|
5 | 5 | <Intro>
|
6 | 6 |
|
7 |
| -If you want to build a new app or website with React, we recommend starting with a framework. |
| 7 | +React로 새로운 앱이나 웹사이트를 구축하려면 프레임워크부터 시작하는 것이 좋습니다. |
8 | 8 |
|
9 | 9 | </Intro>
|
10 | 10 |
|
11 |
| -If your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app, you can [build a React app from scratch](/learn/build-a-react-app-from-scratch). |
| 11 | +앱에 기존 프레임워크에서 잘 제공되지 않는 제약 조건이 있거나, 자체 프레임워크를 빌드하는 것을 선호하거나, React 앱의 기본 사항만 배우려는 경우 [React 앱을 처음부터 빌드할 수 있습니다](/learn/build-a-react-app-from-scratch). |
12 | 12 |
|
13 |
| -## Full-stack frameworks {/*full-stack-frameworks*/} |
| 13 | +## 풀스택 프레임워크 {/*full-stack-frameworks*/} |
14 | 14 |
|
15 |
| -These recommended frameworks support all the features you need to deploy and scale your app in production. They have integrated the latest React features and take advantage of React's architecture. |
| 15 | +이러한 권장 프레임워크는 프로덕션에서 앱을 배포하고 확장하는 데 필요한 모든 기능을 지원합니다. 그들은 최신 React 기능을 통합하고 React의 아키텍처를 활용합니다. |
16 | 16 |
|
17 | 17 | <Note>
|
18 | 18 |
|
19 |
| -#### Full-stack frameworks do not require a server. {/*react-frameworks-do-not-require-a-server*/} |
| 19 | +#### 풀스택 프레임워크에는 서버가 필요하지 않습니다 {/*react-frameworks-do-not-require-a-server*/} |
20 | 20 |
|
21 |
| -All the frameworks on this page support client-side rendering ([CSR](https://developer.mozilla.org/en-US/docs/Glossary/CSR)), single-page apps ([SPA](https://developer.mozilla.org/en-US/docs/Glossary/SPA)), and static-site generation ([SSG](https://developer.mozilla.org/en-US/docs/Glossary/SSG)). These apps can be deployed to a [CDN](https://developer.mozilla.org/en-US/docs/Glossary/CDN) or static hosting service without a server. Additionally, these frameworks allow you to add server-side rendering on a per-route basis, when it makes sense for your use case. |
| 21 | +이 페이지의 모든 프레임워크는 클라이언트 측 렌더링([CSR](https://developer.mozilla.org/en-US/docs/Glossary/CSR)), 단일 페이지 앱([SPA](https://developer.mozilla.org/en-US/docs/Glossary/SPA)), 정적 사이트 생성([SSG](https://developer.mozilla.org/en-US/docs/Glossary/SSG))을 지원합니다. 이러한 앱은 서버 없이 [CDN](https://developer.mozilla.org/en-US/docs/Glossary/CDN) 또는 정적 호스팅 서비스에 배포할 수 있습니다. 또한 이러한 프레임워크를 사용하면 사용 사례에 적합한 경우 경로별로 서버 측 렌더링을 추가할 수 있습니다. |
22 | 22 |
|
23 |
| -This allows you to start with a client-only app, and if your needs change later, you can opt-in to using server features on individual routes without rewriting your app. See your framework's documentation for configuring the rendering strategy. |
| 23 | +이렇게 하면 클라이언트 전용 앱으로 시작할 수 있으며, 나중에 요구 사항이 변경되는 경우 앱을 다시 작성하지 않고도 개별 경로에서 서버 기능을 사용하도록 선택할 수 있습니다. 렌더링 전략을 구성하는 방법에 대한 프레임워크 설명서를 참조하세요. |
24 | 24 |
|
25 | 25 | </Note>
|
26 | 26 |
|
27 |
| -### Next.js (App Router) {/*nextjs-app-router*/} |
| 27 | +### Next.js (앱 라우터) {/*nextjs-app-router*/} |
28 | 28 |
|
29 |
| -**[Next.js's App Router](https://nextjs.org/docs) is a React framework that takes full advantage of React's architecture to enable full-stack React apps.** |
| 29 | +**[Next.js의 앱 라우터](https://nextjs.org/docs)는 React의 아키텍처를 최대한 활용하여 풀 스택 React 앱을 활성화하는 React 프레임워크입니다.** |
30 | 30 |
|
31 | 31 | <TerminalBlock>
|
32 | 32 | npx create-next-app@latest
|
33 | 33 | </TerminalBlock>
|
34 | 34 |
|
35 |
| -Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server. Vercel additionally provides opt-in paid cloud services. |
| 35 | +Next.js는 [Vercel](https://vercel.com/)에서 유지 관리합니다. [Next.js 앱을 빌드](https://nextjs.org/docs/app/building-your-application/deploying)해서 Node.js와 서버리스 호스팅 혹은 자체 서버에 배포할 수 있습니다. Next.js는 또한 서버가 필요없는 [정적 내보내기](https://nextjs.org/docs/app/building-your-application/deploying/static-exports)도 지원합니다. Vercel은 추가적으로 옵트인 유료 클라우드 서비스도 지원합니다. |
36 | 36 |
|
37 | 37 | ### React Router (v7) {/*react-router-v7*/}
|
38 | 38 |
|
39 |
| -**[React Router](https://reactrouter.com/start/framework/installation) is the most popular routing library for React and can be paired with Vite to create a full-stack React framework**. It emphasizes standard Web APIs and has several [ready to deploy templates](https://github.com/remix-run/react-router-templates) for various JavaScript runtimes and platforms. |
| 39 | +**[React Router](https://reactrouter.com/start/framework/installation)는 React에서 가장 인기인는 라우팅 라이브러리이며 Vite와 함께 사용하면 풀스택 React 프레임워크를 만들 수 있습니다**. 표준 Web API를 강조하고 다양한 자바스크립트 런타임과 플랫폼을 위한 [준비된 배포 템플릿](https://github.com/remix-run/react-router-templates)이 있습니다. |
40 | 40 |
|
41 |
| -To create a new React Router framework project, run: |
| 41 | +새로운 React Router 프레임워크를 생성하려면 다음 명령을 사용하세요. |
42 | 42 |
|
43 | 43 | <TerminalBlock>
|
44 | 44 | npx create-react-router@latest
|
45 | 45 | </TerminalBlock>
|
46 | 46 |
|
47 |
| -React Router is maintained by [Shopify](https://www.shopify.com). |
| 47 | +React Router는 [Shopify](https://www.shopify.com)에서 유지 관리합니다. |
48 | 48 |
|
49 |
| -### Expo (for native apps) {/*expo*/} |
| 49 | +### Expo (네이티브 앱용) {/*expo*/} |
50 | 50 |
|
51 |
| -**[Expo](https://expo.dev/) is a React framework that lets you create universal Android, iOS, and web apps with truly native UIs.** It provides an SDK for [React Native](https://reactnative.dev/) that makes the native parts easier to use. To create a new Expo project, run: |
| 51 | +**[Expo](https://expo.dev/)는 네이티브 UI를 사용하여 안드로이드, iOS, 웹을 위한 범용앱을 만들 수 있는 React 프레임워크입니다.** 네이티브 부분을 쉽게 사용할 수 있게 해주는 [React Native SDK](https://reactnative.dev/)를 제공합니다. 새로운 Expo 프로젝트를 생성하려면 다음 명령을 사용하세요. |
52 | 52 |
|
53 | 53 | <TerminalBlock>
|
54 | 54 | npx create-expo-app@latest
|
55 | 55 | </TerminalBlock>
|
56 | 56 |
|
57 |
| -If you're new to Expo, check out the [Expo tutorial](https://docs.expo.dev/tutorial/introduction/). |
| 57 | +Expo를 처음 사용하는 경우, [Expo 자습서](https://docs.expo.dev/tutorial/introduction/)를 참조하세요. |
58 | 58 |
|
59 |
| -Expo is maintained by [Expo (the company)](https://expo.dev/about). Building apps with Expo is free, and you can submit them to the Google and Apple app stores without restrictions. Expo additionally provides opt-in paid cloud services. |
| 59 | +Expo는 [Expo (the company)](https://expo.dev/about)에서 유지 관리합니다. Expo로 앱을 빌드하는 것은 무료이고 구글이나 애플 스토어에 제한없이 제출할 수 있습니다. Expo는 추가적으로 옵트인 유료 클라우드 서비스를 제공합니다. |
60 | 60 |
|
61 | 61 |
|
62 |
| -## Other frameworks {/*other-frameworks*/} |
| 62 | +## 다른 프레임워크 {/*other-frameworks*/} |
63 | 63 |
|
64 |
| -There are other up-and-coming frameworks that are working towards our full stack React vision: |
| 64 | +풀스택 React 비전을 향해 나아가고 있는 또 다른 떠오르는 프레임워크가 있습니다. |
65 | 65 |
|
66 |
| -- [TanStack Start (Beta)](https://tanstack.com/): TanStack Start is a full-stack React framework powered by TanStack Router. It provides a full-document SSR, streaming, server functions, bundling, and more using tools like Nitro and Vite. |
67 |
| -- [RedwoodJS](https://redwoodjs.com/): Redwood is a full stack React framework with lots of pre-installed packages and configuration that makes it easy to build full-stack web applications. |
| 66 | +- [TanStack STart (Beta)](https://tanstack.com/): TanStack Start는 TanStack Router를 기반으로 하는 풀스택 React 프레임워크입니다. Nitro나 Vite와 같이 전체 문서 SSR, 스트리밍, 서버 함수, 번들링과 많은 유용한 도구를 제공합니다. |
| 67 | +- [RedwoodJS](https://redwoodjs.com/): Redwood는 쉽게 풀스택 웹 애플리케이션을 만들 수 있도록 사전탑재된 패키지와 구성을 가진 풀스택 React 프레임워크입니다. |
68 | 68 |
|
69 | 69 | <DeepDive>
|
70 | 70 |
|
71 |
| -#### Which features make up the React team's full-stack architecture vision? {/*which-features-make-up-the-react-teams-full-stack-architecture-vision*/} |
| 71 | +#### React 팀의 풀스택 아키텍처 비전을 구성하는 기능은 무엇인가요? {/*which-features-make-up-the-react-teams-full-stack-architecture-vision*/} |
72 | 72 |
|
73 |
| -Next.js's App Router bundler fully implements the official [React Server Components specification](https://github.com/reactjs/rfcs/blob/main/text/0188-server-components.md). This lets you mix build-time, server-only, and interactive components in a single React tree. |
| 73 | +Next.js의 App Router 번들러는 공식 [React Server Components 명세]((https://github.com/reactjs/rfcs/blob/main/text/0188-server-components.md))를 모두 구현합니다. 이를 통해 빌드 시간, 서버 전용 및 대화형 구성 요소를 단일 React 트리에 혼합할 수 있습니다. |
74 | 74 |
|
75 |
| -For example, you can write a server-only React component as an `async` function that reads from a database or from a file. Then you can pass data down from it to your interactive components: |
| 75 | +예를 들어, 서버 전용 React 컴포넌트를 데이터베이스나 파일을 읽는 `비동기` 함수로 작성할 수 있습니다. 그런 다음 데이터를 대화형 컴포넌트로 전달할 수 있습니다. |
76 | 76 |
|
77 | 77 | ```js
|
78 |
| -// This component runs *only* on the server (or during the build). |
| 78 | +// 이 컴포넌트는 *오직* 서버에서만(혹은 빌드되는 동안만) 실행됩니다. |
79 | 79 | async function Talks({ confId }) {
|
80 |
| - // 1. You're on the server, so you can talk to your data layer. API endpoint not required. |
| 80 | + // 1. 서버에서라면 데이터 레이어와 대화할 수 있습니다. API 엔드포인트는 필요하지 않습니다. |
81 | 81 | const talks = await db.Talks.findAll({ confId });
|
82 | 82 |
|
83 |
| - // 2. Add any amount of rendering logic. It won't make your JavaScript bundle larger. |
| 83 | + // 2. 렌더링 로직이 추가되더라고도 자바스크립트 번들 크기를 크게 만들지 않습니다. |
84 | 84 | const videos = talks.map(talk => talk.video);
|
85 | 85 |
|
86 |
| - // 3. Pass the data down to the components that will run in the browser. |
| 86 | + // 3. 브라우저에서 싫행될 컴포넌트에 데이터를 전달합니다. |
87 | 87 | return <SearchableVideoList videos={videos} />;
|
88 | 88 | }
|
89 | 89 | ```
|
90 | 90 |
|
91 |
| -Next.js's App Router also integrates [data fetching with Suspense](/blog/2022/03/29/react-v18#suspense-in-data-frameworks). This lets you specify a loading state (like a skeleton placeholder) for different parts of your user interface directly in your React tree: |
| 91 | +Next.js의 App Router는 [Suspense와 데이터 조회](/blog/2022/03/29/react-v18#suspense-in-data-frameworks)를 통합합니다. React tree에서 서로다른 사용자 인터페이스를 직접적으로 로딩 상태(예: 스켈레톤 플레이스홀더)로 지정할 수 있게 해줍니다. |
92 | 92 |
|
93 | 93 | ```js
|
94 | 94 | <Suspense fallback={<TalksLoading />}>
|
95 | 95 | <Talks confId={conf.id} />
|
96 | 96 | </Suspense>
|
97 | 97 | ```
|
98 | 98 |
|
99 |
| -Server Components and Suspense are React features rather than Next.js features. However, adopting them at the framework level requires buy-in and non-trivial implementation work. At the moment, the Next.js App Router is the most complete implementation. The React team is working with bundler developers to make these features easier to implement in the next generation of frameworks. |
| 99 | +서버 컴포넌트와 Suspense는 Next.js 기능이 아닌 React 기능입니다. 그러나 프레임워크 수준에서 이를 채택하려면 참여와 사소하지 않은 구현 작업이 필요합니다. 현재 Next.js App Router는 가장 완벽한 구현입니다. React 팀은 차세대 프레임워크에서 이러한 기능을 더 쉽게 구현할 수 있도록 번들러 개발자와 협력하고 있습니다. |
100 | 100 |
|
101 | 101 | </DeepDive>
|
102 | 102 |
|
103 |
| -## Start From Scratch {/*start-from-scratch*/} |
| 103 | +## 처음부터 시작하기 {/*start-from-scratch*/} |
104 | 104 |
|
105 |
| -If your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app, there are other options available for starting a React project from scratch. |
| 105 | +앱에 기존 프레임워크에서 잘 제공되지 않는 제약 조건이 있거나, 자체 프레임워크를 구축하는 것을 선호하거나, React 앱의 기본 사항을 배우려는 경우 React 프로젝트를 처음부터 시작하는 데 사용할 수 있는 다른 옵션이 있습니다. |
106 | 106 |
|
107 |
| -Starting from scratch gives you more flexibility, but does require that you make choices on which tools to use for routing, data fetching, and other common usage patterns. It's a lot like building your own framework, instead of using a framework that already exists. The [frameworks we recommend](#full-stack-frameworks) have built-in solutions for these problems. |
| 107 | +처음부터 시작하면 더 많은 유연성을 얻을 수 있지만 라우팅, 데이터 가져오기 및 기타 일반적인 사용 패턴에 사용할 도구를 선택해야 합니다. 이미 존재하는 프레임워크를 사용하는 대신 자신만의 프레임워크를 구축하는 것과 비슷합니다. 저희가 [권장하는 프레임워크](#full-stack-frameworks)에는 이러한 문제에 대한 기본 제공 솔루션이 있습니다. |
108 | 108 |
|
109 |
| -If you want to build your own solutions, see our guide to [build a React app from Scratch](/learn/build-a-react-app-from-scratch) for instructions on how to set up a new React project starting with a built tool like [Vite](https://vite.dev/), [Parcel](https://parceljs.org/), or [RSbuild](https://rsbuild.dev/). |
| 109 | +자신만의 솔루션을 구축하려면, [Vite](https://vite.dev/), [Parcel](https://parceljs.org/) 또는 [RSbuild](https://rsbuild.dev/)와 같은 빌드 도구로 시작할 수 있도록 하는 [처음부터 React 앱 만들기](/learn/build-a-react-app-from-scratch) 가이드를 참조하세요. |
110 | 110 |
|
111 | 111 | -----
|
112 | 112 |
|
113 |
| -_If you're a framework author interested in being included on this page, [please let us know](https://github.com/reactjs/react.dev/issues/new?assignees=&labels=type%3A+framework&projects=&template=3-framework.yml&title=%5BFramework%5D%3A+)._ |
| 113 | +_만약 이 페이지에 포함되는데 관심있는 프레임워크 작성자라면, [저희에게 알려주세요](https://github.com/reactjs/react.dev/issues/new?assignees=&labels=type%3A+framework&projects=&template=3-framework.yml&title=%5BFramework%5D%3A+)._ |
0 commit comments