Баннер мобильный (3) Пройти тест

Next.js: что это за фреймворк и как использовать его в работе

Разбираемся в нюансах фреймворка, которым пользуются в OpenAI, Netflix и Google

Разбор

20 ноября 2025

Поделиться

Скопировано
Next.js: что это за фреймворк и как использовать его в работе

Содержание

    Часто при разработке приложений на базе React можно столкнуться с трудностями. Например, иногда контент долго отображается на стороне пользователя или возникают ошибки маршрутизации. Устранить эти и другие недочёты React можно с помощью фреймворка Next.js. В статье рассмотрим его особенности и преимущества, а также дадим пошаговый план по созданию проектов. 

    Что такое Next.js и для чего он нужен 

    Next.js — это фреймворк для разработки веб-приложений на базе React. Компоненты React используются для построения пользовательских интерфейсов, а Next.js — для дополнительных функций и оптимизации. 

    Фреймворк предоставляет структуру и инструменты, которые помогают создавать быстрые, SEO-дружелюбные и масштабируемые веб-приложения. Благодаря этому разработка ПО становится менее хаотичной, а финальный продукт получается более стабильным. Также при проектировании приложений можно сосредоточиться на бизнес-логике, а не решать рутинные задачи и устранять ошибки. 

    Фреймворк относительно молодой: он вышел в 2016 году. При этом его почти сразу заметили и оценили крупные компании, такие как Google, Netflix, Uber и TikTok. 

    Next.js добавляет React такие возможности:

    • Рендеринг на сервере (SSR). Страницы могут формироваться на сервере ещё до загрузки JavaScript. Это ускоряет первый показ страницы и улучшает SEO: такая возможность особенно важна для интернет-магазинов, блогов и сервисов с публичным контентом. Веб-приложение выглядит динамичным, но остаётся быстрым и предсказуемым. 
    • Генерация статических страниц (SSG). Фреймворк умеет заранее собирать страницы в HTML-файлы. Они хранятся как статические файлы, и сервер отдаёт их моментально. 
    • Встроенный роутинг (маршрутизация). С Next.js не нужно подключать и настраивать внешние библиотеки маршрутизации. Фреймворк сам обрабатывает переходы, предварительную загрузку и оптимизацию страниц: это делает навигацию плавной и быстрой. Иными словами, не нужно настраивать роутинг вручную. 
    • Оптимизация изображений. Next.js подбирает нужный формат, меняет размер в зависимости от экрана и предотвращает скачки вёрстки. В результате страницы с иллюстрациями загружаются быстрее, и улучшается пользовательский опыт. 
    • API-маршруты внутри проекта. Можно встроить минимальный бэкенд прямо в проект. Это удобно для форм, работы с базами данных и интеграций. 
    OpenAI и Next.js
    По информации с официального сайта фреймворка, даже OpenAI создан с помощью Next.js. Источник

    Кому пригодится фреймворк Next.js

    Кто чаще всего пользуется фреймворком: 

    • Начинающие веб-разработчики. Next.js помогает стартовать без погружения в сложные настройки. В проекте сразу есть маршрутизация, оптимизация, работа с данными и понятная структура. Благодаря этому можно быстрее создать собственный проект и увидеть результат, а также понять, как устроены современные веб-приложения. Все это в том числе позволит собрать первое портфолио. 
    • Разработчики, которые используют React. Фреймворк превращает набор инструментов React в систему, в которой всё взаимосвязано и продумано. Можно меньше времени тратить на настройку и больше на разработку функций. Проекты становятся быстрее, а код — более структурированным. 
    • Команды, создающие коммерческие проекты. Next.js удобен для стартапов и компаний, которым важно быстро выводить новые функции и при этом поддерживать высокую производительность. Он хорошо работает на реальном трафике, масштабируется и поддерживает разные режимы рендеринга: это помогает строить гибкую архитектуру. 
    • SEO-специалистам. SEO-дружелюбность, быстрая загрузка и стабильность — ключевые особенности Next.js для e-commerce, каталогов и блогов. Так, благодаря SSR и SSG страницы индексируются лучше, контент отображается быстрее, а пользователи не уходят к конкурентам из-за долгой загрузки. 
    Обновления Next.js
    В своём блоге разработчик постоянно публикует перечень обновлений и пояснениями, для чего нужны те или иные функции при выполнении разных задач. Источник

    Создаём проект с помощью Next.js 

    Пошаговая инструкция, как использовать фреймворк Next.js в работе. 

    Установка Node.js 

    Next.js работает внутри среды Node.js — программы, которая позволяет запускать JavaScript вне браузера. 

    Чтобы  проверить наличие Node.js, откройте терминал (командную строку) и введите node-v. Если появится версия, например, 18.17.0, значит, всё в порядке.
    А если увидите ошибку — нужно установить Node.js с официального сайта

    Создание проекта 

    Next.js поставляется с удобной утилитой, которая разворачивает готовый каркас проекта. Это похоже на шаблон, где уже настроены все нужные папки и файлы.

    Команда для создания проекта: npx create-next-app@latest my-next-app:

    • npx — утилита для запуска пакетов из npm (менеджер пакетов Node.js).
    • create-next-app@latest — инструмент для создания приложения, всегда последней версии.
    • my-next-app — название вашего проекта и папки. Можете дать ему любое имя. 

    После запуска появится небольшая анкета, где нужно выбрать нужные пункты. На что стоит обратить внимание: 

    • TypeScript. Это надстройка над JavaScript, которая помогает избегать ошибок. 
    • ESLint. Инструмент для проверки качества кода.
    • Tailwind CSS. Популярный и простой фреймворк для стилей. 
    • src/ directory. Помещает код в отдельную папку src и упорядочивает его.
    • App Router. Новая модель маршрутизации в Next.js. 

    Чтобы упростить процесс разработки, стоит отметить галочкой эти пункты в анкете. 

    Запуск проекта 

    Перейдите в папку проекта: cd my-next-app. Теперь можно запустить сервер разработки: npm run dev. Через пару секунд проект откроется по адресу: http://localhost:3000. Это локальный сайт, который работает только на компьютере разработчика. Но именно на нём вносятся правки, пишется код и тестируется интерфейс

    Состав проекта 

    При создании проекта с помощью Next.js автоматически формируется структура папок. Вот некоторые из них: 

    • app/ или pages/ — папка со страницами. Файлы, которые станут страницами сайта. Например, app/page.js — главная страница. В старых версиях используется папка pages, в новых — app. Обе опции правильные, но App Router — это современный способ.
    • public/ — статические файлы. Здесь хранятся картинки, иконки, файлы, которые нужно передавать в неизменном виде. 
    • styles/ — стили. CSS-файлы, которые отвечают за внешний вид сайта.
    • package.json — список зависимостей. В нём указаны установленные библиотеки и доступные скрипты. 

    Полный список элементов есть в документации Next.js. 

    Создание первой страницы 

    Откройте файл  app/page.js. Вы увидите готовый код. Удалите всё содержимое этого файла и замените его на такой шаблон: 

    import { Metadata } from 'next';
    
    export const metadata: Metadata = {
    
      title: 'Главная',
    
    };
    
    export default function HomePage() {
    
      return (
    
        <div className="p-8">
    
          <h1 className="text-3xl font-bold text-blue-600">Добро пожаловать на мой сайт!</h1>
    
          <p className="mt-4 text-lg">Это моя первая страница на Next.js. Это так просто!</p>
    
          <button className="mt-6 bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
    
            Кнопка, которая пока ничего не делает
    
          </button>
    
        </div>
    
      );
    
    }

    Сохраните файл: можно использовать комбинацию Ctrl+S или Cmd+S. Вернитесь в браузер на http://localhost:3000. Страница должна мгновенно обновиться и отобразить ваш новый текст и кнопку. 

    В результате появился функциональный React-компонент HomePage. В нём использовали классы из Tailwind CSS для стилизации и сделали так, чтобы во вкладке браузера отображалось «Главная». 

    Создание второй и последующих страниц 

    Для примера рассмотрим, как создать ссылку «О компании». Для этого в папке src/app создайте новую папку с именем about. Внутри неё сформируйте файл с именем page.tsx. Добавьте такой код: 

    import { Metadata } from 'next';
    
    export const metadata: Metadata = {
    
      title: 'О компании',
    
    };
    
    export default function AboutPage() {
    
      return (
    
        <div className="p-8">
    
          <h1 className="text-3xl font-bold text-purple-600">О компании</h1>
    
          <p className="mt-4">Мы лучшие в своем деле! Наш сайт построен на Next.js.</p>
    
        </div>
    
      );
    
    }

    Сохраните файл. Теперь у вас есть страница по адресу http://localhost:3000/about. Перейдите по этому адресу и убедитесь, что всё работает исправно. По аналогии с разделом «О компании» можно создать и другие страницы сайта. 

    Создание ссылок внутри проекта 

    Теперь добавим ссылку с главной страницы на страницу «О компании». Для этого вернитесь в файл src/app/page.tsx. Импортируйте компонент Link из Next.js для навигации и добавьте ссылку. Обновленный код для src/app/page.tsx:

    import { Metadata } from 'next';
    
    import Link from 'next/link';
    
    export const metadata: Metadata = {
    
      title: 'Главная',
    
    };
    
    export default function HomePage() {
    
      return (
    
        <div className="p-8">
    
          <h1 className="text-3xl font-bold text-blue-600">Добро пожаловать на мой сайт!</h1>
    
          <p className="mt-4 text-lg">Это моя первая страница на Next.js. Это так просто!</p>
    
          <button className="mt-6 bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 rounded">
    
            Кнопка, которая пока ничего не делает
    
          </button>
    
             <div className="mt-8">
    
            <Link 
    
              href="/about" 
    
              className="text-blue-500 hover:text-blue-800 underline"
    
            >
    
              Узнать о нас больше →
    
            </Link>
    
          </div>
    
        </div>
    
      );
    
    }

    Сохраните файл. Теперь на главной странице есть ссылка, которая плавно переводит на страницу «О компании».

    Сборка проекта для запуска на сервере

    Выше мы рассмотрели, как работать в «режиме разработки». Чтобы выложить сайт в интернет, его нужно «собрать» — оптимизировать и подготовить все файлы: 

    1. В терминале нажмите Ctrl+C, чтобы остановить сервер.
    2. Выполните команду: npm run build. Она создаст оптимизированную версию вашего приложения в папке .next.
    3. Теперь можно запустить финальную версию сайта: npm start
    4. Сайт снова доступен по адресу http://localhost:3000, но теперь он работает так, будто находится на реальном хостинге.

    Next.js: коротко о главном 

    • Next.js — это полноценный фреймворк для React. Он предлагает готовые решения для маршрутизации, рендеринга, стилизации и сборки. Это позволяет разработчику сосредоточиться на логике приложения, а не на сложной настройке. 
    • Главная задача Next.js — создание высокопроизводительного и дружелюбного ПО. В отличие от обычных React-приложений, где контент загружается в браузере, Next.js может преобразовать код на сервере или сформировать страницу на этапе сборки, а пользователь получит готовый HTML. Благодаря этому страницы загружаются быстрее, а поисковые боты могут корректно проиндексировать контент. 
    • Фреймворк подходит для самых разных проектов: от простых статических сайтов и маркетплейсов до сложных интернет-магазинов и полнофункциональных SaaS-платформ. 

    Другие статьи по теме 

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии