Со всеми популярными интерфейсными фреймворками, обсуждаемыми в наши дни, такими как Angular, ReactJs, VueJs, EmberJs, которые в большинстве своем облегчают нашу жизнь при создании одностраничных приложений, кажется, что более важный вопрос: «Должны ли мы вообще создавать наши веб-приложения?» приложение, SPA или нет» игнорируется

Я считаю важным понимать, что в некоторых случаях традиционный подход к веб-приложениям может оказаться лучшим подходом, поэтому я решил написать об этих двух подходах и их вариантах использования.

Сегодня существует два основных подхода к созданию веб-приложений: традиционные веб-приложения, в которых большая часть логики выполняется на стороне сервера, и одностраничные приложения (SPA), в которых большая часть кода пользовательского интерфейса находится в браузере, и мы сделать несколько вызовов API для операций CRUD.

Вот краткое изложение каждого подхода и вариантов использования для каждого из них в качестве краткой справки:

Варианты использования традиционных веб-приложений

  • Наше веб-приложение должно работать в браузерах, не поддерживающих JavaSctipt! (Это очень важно)
  • Наше веб-приложение очень простое и в основном предназначено только для чтения.
  • Ресурсы (разработчики) в нашей команде не знакомы с JavaScript, TypeScript или фронтенд-разработкой.

Примеры использования одностраничных приложений

  • Наш пользовательский интерфейс богат функциями и имеет сложную логику.
    SPA могут загружаться быстрее, извлекая данные в фоновом режиме, а отдельные действия пользователя более чувствительны, поскольку полная перезагрузка страницы происходит редко.
    SPA могут поддерживать добавочные обновления, сохраняя частично заполненные формы или документы без необходимости нажатия пользователем кнопки для отправки формы.
    SPA могут поддерживать многостороннее поведение на стороне клиента, такое как перетаскивание, гораздо легче, чем традиционные приложения.
  • Вам уже нужен веб-API, который будет использоваться другими приложениями или другими интерфейсами (такими как Alexa, телефонные приложения, чат-боты и т. д.).
    Если вы уже создаете веб-API для использования другими клиентами, создание приложения SPA определенно потребует меньше усилий, поскольку у вас уже есть все внутренние требования.
  • Наши специалисты должны быть знакомы с JavaScript/TypeScript. Написание SPA требует знакомства с JavaScript и/или TypeScript и навыков программирования со шрифтами.
    Наши специалисты должны быть уверены в написании современного JavaScript с использованием фреймворка SPA, такого как Angular или ReactJs.

Традиционное веб-приложение или одностраничное приложение

Подводя итог, вот матрица решений, которая поможет вам решить, по какому пути идти:

Ваше здоровье!