Подтвердить что ты не робот

Существуют ли какие-либо веб-фреймворки для скомпилированных языков, таких как С++?

На нашем встроенном устройстве мы в настоящее время используем PHP для своего веб-интерфейса, и, к сожалению, он довольно медленный. Мы экспериментировали с Python, но по-видимому (по крайней мере, на архитектуре ARM без учета FPU) должны быть такими же медленными, как PHP.

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

Итак, мой вопрос: знаете ли вы о каких-либо хороших веб-фреймворках для C/С++? То, что сделало бы меня полностью счастливым, было бы чем-то вроде С++ Django, но я сомневаюсь, что такая вещь существует: -)

4b9b3361

Ответ 1

Если бы я был вами, я бы дал Wt попробовать. Я не думаю, что вы найдете другое решение, полное и удобное в использовании как Wt с аналогичной производительностью. Список рассылки активен и имеет регулярные сообщения людей, которые используют его на встроенных устройствах. Wiki (здесь) проекта упоминает некоторые номера для встроенного развертывания и производительности на ARM.

Ответ 2

В чем причина вашего сайта в PHP? Профилировали ли вы код, чтобы выяснить, что такое бутылочки? Замена всей базы кода на другой язык, вероятно, будет слишком большим инструментом для задания.

Возможно, если какая-то часть является вычислительно интенсивной, то, возможно, вы можете реализовать PHP-модуль на С++ для выполнения задания.

Ответ 3

Вы можете посмотреть CppCMS. Я не знаю, насколько зрел или хорош, но это похоже на то, что вы ищете.

Другой вариант - написать основное приложение в Python/PHP, а затем переписать критические части в C, что кажется мне более разумным.

Ответ 4

Я только что видел эту ссылку как реферер CppCMS. Несколько вопросов/ответов об этом.

Q. Как он созрел?
A. На основе этого есть Wiki 100%. Блог разработчиков также работает на CppCMS. Таким образом, вы можете видеть, что это работает.  Что ж. По крайней мере, для автора. В. "Что бы меня полностью порадовало, было бы что-то вроде С++ Django"
A. На самом деле это "С++ Django". Многие идеи были взяты непосредственно из Django, например  форм, наследования шаблонов и некоторых других. Таким образом, вы, вероятно, почувствуете себя как дома Q. Nanogear
О. Я взглянул на него... У него много планов, но не слишком много кода.
В. Сколько проектов использует это.
А. Не много. Это совершенно новый проект.
В. Кто я?
О. Честно говоря, я разработчик CppCMS.

Ответ 6

Одна вещь, на которую нужно обратить внимание, - использовать С++ для своего рода веб-службы вместо реальной среды разработки веб-приложений. В одном из моих текущих проектов мы создаем JSON (и анализируем запросы), а затем позволяем клиенту (веб-браузеру) разбираться с остальными. У вас есть много вычислительной мощности, доступной для вас на клиентской машине, в сочетании с маской и бумом javascripty, теперь ваше встроенное устройство может вернуться к тому, что оно должно делать. Я лично вроде как Wt и думаю, что это ваш лучший выбор, если вы хотите делить все "веб-приложение" на С++.

Что касается особенностей того, как вы получаете свой код на С++, чтобы начать обслуживать веб-службы, вы можете использовать потрясающую библиотеку boost.asio(у них есть пример для http-сервера) и json_spirit (я думаю, что это на codeproject)

Ответ 7

Как насчет Nanogear. Я не использовал его, поэтому я не уверен, что он подходит. Вот цитата с сайта.

С++ - отличная, общая цель язык программирования, но не современный, простой в использовании и мощный веб-сайт С++ в ходе этих года. Мы пытаемся заполнить пробел Nanogear. Вдохновленный Zend Рамки и рельсы, которые мы хотим С++ в Интернете, легко.

Вот ссылка на старый сайт googlecode Google Code Nanogear Похоже, там есть больше информации.

Ответ 8

Попробуйте Lua. В Xavante встроен веб-сервер где-то на LuaForge.

Он очень быстрый, очень маленький и очень расширяемый - как и все о lua.

У вас есть возможность использовать Lua, где скрипты подходят для betteer, и использовать функции С++, где требуется больше скорости и привязка к существующему собственному коду.

Ответ 9

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

Существуют ли какие-либо веб-фреймворки для скомпилированных языков как С++?

Ответ 10

Вы можете дать попробовать на внедренный версия CppCMS.

Это совершенно новое и экспрессивное развитие, но похоже, что это гораздо более подходящий, чем Wt, потому что он ориентирован на руду (ближе к Django) а не GUI.

Ответ 11

Проверьте ffead инфраструктуру приложения С++ (http://code.google.com/p/ffead-cpp/), ее разработано в строках Spring для JAVA.

Ответ 12

Вы можете посмотреть Tntnet. Он использует свой собственный язык шаблонов, который немного похож на PHP, только с гораздо большим количеством дополнительных тегов.