Существует ли C++ фреймворк для веб-разработки, аналогичный Laravel 4 для PHP или MVC фреймворк?

Вопрос или проблема

Я ищу C++ фреймворк, который будет управлять файлами, например, предоставлять JS-файл, включенный в HTML-документ.

Однако это будет не просто обслуживание статических страниц.

По сути, я хотел бы, чтобы он сначала отправлял статический HTML и JavaScript, затем JavaScript создаст сокетное соединение с сервером для запроса данных и получения обновлений.

Я прошу о чем-то подобном Laravel, потому что это то, с чем у меня больше всего опыта. И под «как Laravel» я имею в виду, есть ли способ маршрутизировать на основе URI, чтобы разные методы контроллеров обрабатывали разные запросы и одновременно автоматически обрабатывали URI запросов файлов для получения статических документов, таких как JavaScript и CSS.

Я смотрел на POCO, и я не верю, что у него есть эти возможности, если я не ошибаюсь. Я также видел рекомендации по CGI и CSP. Это хорошие идеи или есть что-то лучшее?

Спасибо за ваше время.

Может, попробуйте это? У меня нет личного опыта, но это может быть неплохо.
https://cutelyst.org/
C++ в целом не используется для веб-разработки, поэтому не так много хороших вариантов.

Ответ или решение

Вопрос о выборе фреймворка для веб-разработки на C++, аналогичного Laravel 4 для PHP, представляет собой интересную задачу. Несмотря на то, что C++ традиционно не используется в веб-разработке в той же степени, что и PHP или JavaScript, существуют некоторые фреймворки, которые могут удовлетворить ваши требования к разработке.

Обзор существующих фреймворков

  1. Cutelyst
    Cutelyst — это веб-фреймворк на C++, который разрабатывался с учётом концепций MVC (Model-View-Controller). Он позволяет управлять маршрутизацией на основе URI, что подразумевает возможность обработки различных запросов с помощью разных контроллеров, похожую на Laravel. Cutelyst также предлагает поддержку RESTful API и может управлять статическими файлами, такими как JavaScript и CSS. Это делает его отличным выбором для вашего проекта, где требуется и динамическое, и статическое содержимое.

  2. Wt
    Wt — это другая популярная библиотека для разработки веб-приложений на C++. Она также следует парадигмам MVC и может управлять как статическим, так и динамическим контентом. Wt позволяет создавать SPA (Single Page Applications) и имеет в своей основе концепции, подобные фреймворкам для Javascript. Однако, стоит отметить, что Wt может быть сложнее для освоения по сравнению с тем же Laravel.

  3. POCO C++ Libraries
    Несмотря на то, что вы упомянули POCO в своем запросе, стоит отметить, что POCO действительно предоставляет инструменты для построения веб-приложений, включая обработку HTTP-запросов и управление маршрутизацией. Однако, возможно, вам придётся реализовать больше функционала вручную, по сравнению с использованием более специализированных фреймворков, таких как Cutelyst или Wt.

Возможности работы с WebSocket

Для создания соединений по WebSocket, которые необходимы для запроса данных и получения обновлений, как вы описали, Cutelyst и Wt также имеют соответствующую поддержку. Это позволит вам настроить обмен данными в реальном времени между клиентом и сервером, что является важной частью вашего проекта.

CGI и CSP

Использование CGI и CSP может рассматриваться как альтернатива для работы с веб-приложениями на C++, однако эти технологии менее гибкие и могут не обеспечивать ту функциональность, которую вы ищете:

  • CGI (Common Gateway Interface) является устаревшей технологией для генерации динамического контента и требует больше ручного вмешательства в управление HTTP-запросами и ответами.
  • CSP (C++ Server Pages) можно использовать для генерации HTML, но это также менее популярный подход.

Заключение

Исходя из изложенного, рекомендуется рассмотреть Cutelyst как наиболее полнофункциональный фреймворк, который лучше всего соответствует вашим требованиям, предоставляя все необходимые инструменты для работы с маршрутизацией, обработкой статических файлов и поддержкой WebSocket. В то же время, Wt также может стать хорошей альтернативой, особенно если вы ищете более комплексное решение для создания веб-приложений.

Таким образом, разработка на C++ — это не самый традиционный выбор для веб-разработки, но доступные фреймворки могут предложить необходимые решения для ваших задач.

Оцените материал
Добавить комментарий

Капча загружается...