фреймворки для C++
https://codelab.pro/luchshie-frejmvorki-dlya-c-v-2023-godu/
SFML - Простая и быстрая мультимедийная библиотека
SFML предоставляет простой интерфейс к различным компонентам вашего компьютера, облегчая разработку игр и мультимедийных приложений. Она состоит из пяти модулей: системного, оконного, графического, звукового и сетевого.
Подробнее об их возможностях можно узнать из учебников и документации по API.
https://www.sfml-dev.org/tutorials/2.6/start-linux.php
https://www.sfml-dev.org/download/sfml/2.6.1/
Компилировать с параметрами линковки:
Код: Выделить всё
g++ -std=c++11 -o web-curl.0.0.3 web-curl.0.0.3.cpp -lcurl -lsfml-graphics -lsfml-window -lsfml-system -lxml2
Qt
Qt — это кроссплатформенный фреймворк, который позволяет разработчикам создавать приложения для различных операционных систем, таких как Windows, Linux и macOS. Qt предоставляет богатый набор модулей, включая графический интерфейс, сеть, мультимедиа и многое другое, что делает его отличным выбором для разработки сложных приложений. Его платформа пользовательского интерфейса позволяет разработчикам с легкостью создавать красивые и современные интерфейсы.
Boost
https://www.boost.org/users/history/version_1_74_0.html
https://www.boost.org/users/history/version_1_85_0.html
Boost — это широко используемая библиотека C++, которая предоставляет широкий спектр функциональных возможностей, включая алгоритмы, структуры данных и контейнеры. Boost известен своей производительностью и экономичностью, что делает его популярным выбором для разработки высокопроизводительных приложений. Кроме того, Boost обладает отличной документацией, облегчающей разработчикам его изучение и использование.
boost.beast
https://github.com/boostorg/beast
Подготовка к установке
Установка буста
Код: Выделить всё
sudo ./b2 variant=debug link=shared threading=multi runtime-link=shared address-model=32 stage install
sudo ./b2 variant=release link=static threading=multi runtime-link=shared address-model=32 stage install
Код: Выделить всё
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
/home/gt/Downloads/boost_1_85_0
The following directory should be added to linker library paths:
/home/gt/Downloads/boost_1_85_0/stage/lib
Код: Выделить всё
export LIBS="-L/home/gt/Downloads/boost_1_85_0/stage/lib"
export CPPFLAGS="-I/home/gt/Downloads/boost_1_85_0"
Код: Выделить всё
CC -I/home/gt/Downloads/boost_1_85_0 -L/home/gt/Downloads/boost_1_85_0/stage/lib yourprogram.cpp
Poco
Poco — это облегченный фреймворк на C++, который предоставляет набор библиотек для разработки сетевых приложений. Его модульная архитектура позволяет разработчикам использовать только необходимые компоненты, уменьшая общий размер кода и повышая производительность. Poco также обеспечивает кроссплатформенную поддержку, что делает его отличным выбором для разработки приложений для нескольких платформ.
Wt
https://github.com/emweb/wt
https://www.webtoolkit.eu/wt/doc/reference/html/InstallationUnix.html
https://www.webtoolkit.eu/wt/download
Код: Выделить всё
sudo apt-get install witty witty-dev witty-doc witty-dbg witty-examples libboost-filesystem1.74-dev
Wt — это фреймворк веб-приложений, который позволяет разработчикам создавать веб-приложения с использованием C++. Его встроенные виджеты и компоненты позволяют легко создавать сложные веб-приложения с минимальными усилиями. Кроме того, Wt предоставляет модель событий на стороне сервера, которая позволяет разработчикам писать веб-приложения, обладающие высокой отзывчивостью и интерактивностью.
Wt - это библиотека C++ для разработки веб-приложений. Она состоит из:
- libwt, библиотека виджетов/рендеринга
- libwthttp, сервер HTTP/WebSockets (асинхронный ввод-вывод)
- libwtfcgi, библиотека коннекторов FastCGI (Unix)
- libwtisapi, библиотека коннекторов ISAPI (Windows)
- libwttest, среда тестовых коннекторов.
Он также содержит ORM на C++, который может быть использован в веб-приложении
(очевидно), но может быть использован и сам по себе:
- libwtdbo, C++ ORM
- libwtdbopostgres, бэкенд PostgreSQL
- libwtdbosqlite3, бэкенд Sqlite3
- libwtdbomysql, бэкенд MySQL и MariaDB
- libwtdbomssqlserver, бэкенд Microsoft SQL Server
- libwtdbofirebird, бэкэнд Firebird.
Дополнительную информацию можно найти на [домашней странице](
http://www.webtoolkit.eu/wt
cppcms
http://cppcms.com/wikipp/en/page/main
http://cppcms.com/wikipp/ru/page/main
CppCMS - это бесплатный высокопроизводительный фреймворк для веб-разработки (не CMS), предназначенный для быстрой разработки веб-приложений. Он отличается от большинства других фреймворков веб-разработки, таких как: Python Django, Java Servlets следующими способами:
Он разработан и настроен для работы с чрезвычайно высокими нагрузками.
Для достижения первой цели в качестве основного языка разработки используется современный C++.
Он предназначен для разработки как веб-сайтов, так и веб-сервисов.
Инструкция по сборке
http://cppcms.com/wikipp/en/page/cppcms_1x_build
Conan
Conan — это менеджер пакетов C++, который позволяет разработчикам легко управлять библиотеками C++ и совместно использовать их. Conan упрощает процесс интеграции сторонних библиотек в проекты, что делает его отличным выбором для управления зависимостями. Кроме того, Conan поддерживает кроссплатформенную разработку, позволяя разработчикам управлять зависимостями на нескольких платформах.
Советы по выбору фреймворка для C++
Вот конкретные рекомендации по выбору фреймворка C++ в зависимости от требований вашего проекта:
Если вам нужен кроссплатформенный фреймворк для разработки сложных приложений с богатым пользовательским интерфейсом и мультимедийными функциями, выберите Qt. Qt обладает обширной библиотекой модулей, которые предоставляют широкий спектр функциональных возможностей и поддерживают разработку для нескольких платформ.
Если вы ищете ориентированную на производительность библиотеку C++, которая предоставляет целый ряд алгоритмов, структур данных и контейнеров, выберите Boost. Boost известен своей производительностью и экономичностью, что делает его популярным выбором для разработки высокопроизводительных приложений.
Если вы разрабатываете сетевые приложения и вам нужен легкий фреймворк с модульной архитектурой, выберите Poco. Poco предоставляет набор библиотек, которые могут быть использованы для разработки сетевых приложений, а его модульная архитектура позволяет разработчикам использовать только необходимые компоненты.
Если вы разрабатываете веб-приложения с использованием C++ и вам нужен встроенный набор виджетов и модель событий на стороне сервера, выберите Wt. Wt — это платформа веб-приложений, которая позволяет разработчикам создавать веб-приложения с использованием C++ и предоставляет набор встроенных виджетов и компонентов, облегчающих создание сложных веб-приложений.
Если вам нужен менеджер пакетов, чтобы легко управлять библиотеками C++ для вашего проекта и совместно использовать их, выберите Conan. Conan упрощает процесс интеграции сторонних библиотек в проекты и поддерживает кроссплатформенную разработку, позволяя разработчикам управлять зависимостями на нескольких платформах.