Я унаследовал довольно интересный проект, в котором есть хорошая возможность взять существующее программное обеспечение и превратить его в веб-приложение SaaS. Поскольку проект наследуется, база кода / каркас уже определены как C ++ и MySQL. Само приложение компилируется и запускается как EXE на Windows Server. Пользовательский интерфейс веб-и приложение работает как своего рода сервер. Из того, что я знаю о современных веб-приложениях, это, возможно, необычный выбор. В наши дни большинство людей предпочитают PHP-фреймворк или Ruby on Rails. Конечно, такое впечатление я получаю от чтения блогов на эту тему. Итак, мне очень интересно узнать, является ли C ++ EXE, поддерживаемый MySQL, прочной основой для веб-приложения, или мы должны искать возможность построить по-другому?
источник
Ответы:
Можно создать веб-приложение с использованием C ++, ЕСЛИ преимущества, очевидно, перевешивают стоимость. Google, Amazon, Facebook - все это построено на C ++ для повышения скорости, памяти и энергопотребления, то есть затрат на серверы.
Однако, как вы уже догадались, у C ++ есть для этого недостатки. Это зависит от ваших инструментов, хотя.
Сначала позвольте мне процитировать сайт cppcms по этому поводу :
Недостатки, специфичные для C ++:
Может быть, взглянуть на CPPCMS? Или, может быть, если вы хотите сделать сайт в стиле GUI?
Также проверьте эти вопросы:
источник
Wordpress, работающий на PHP с несколькими установленными плагинами, ставит мой сервер Winders на колени. Поэтому у меня нет никаких проблем с идеей реализации веб-приложения на C ++. Скорость является важной частью веб-опыта.
Графический дизайн палаток для управления большинством веб-проектов. PHP - неясный язык сценариев, который работает внутри HTML. Позволяя авторам PHP выходить из HTML. В результате есть много преимуществ работы с HTML.
Тем не менее, вы можете реализовать любое количество шаблонов HTML-решений на C ++.
Можно было бы предоставить вам длинный список фреймворков Python и PHP, которые обеспечивают быструю разработку, но если у вас много времени, то C ++ определенно возможен.
То, что я не понимаю, это ваше решение сделать C ++ на Windows. лол
источник
Это, конечно, необычный выбор. C ++ не был разработан с учетом веб-приложений, и хотя существуют библиотеки для написания, скажем, приложений FastCGI с C ++, вам нужно проделать гораздо больше работы, чтобы запустить ваше основное приложение. «Веб-языки» обычно делают для вас много вещей, которые вы должны получить из других мест C ++, таких как реализация протокола HTTP, генерация HTML и т. Д.
Кроме того, веб-приложения в основном касаются строк, что не является самой сильной стороной C ++ - в самом языке нет встроенного типа строк, что приводит к нескольким изюминкам и делает обработку строк более неуклюжей, чем это было бы в более высокой степени. Языки уровня. Правильная обработка кодировки символов в C ++ граничит с черной магией. И C ++ может действительно очень сильно аварийно работать с довольно невинно выглядящим кодом, что гораздо менее вероятно при использовании языка более высокого уровня (они тоже могут аварийно завершаться, но в большинстве случаев веб-сервер может корректно восстанавливаться, особенно на платформах, использующих определенные - запрос модели жизненного цикла, как в PHP).
Тем не менее, если у вас уже написана большая часть кодовой базы, C ++ все еще может быть жизнеспособным выбором. Вам нужно будет найти некоторые библиотеки, чтобы охватить все виды веб-вещей (особенно, вы хотите иметь возможность либо интегрировать автономный HTTP-сервер в вашу программу, либо подключиться, скажем, к Apache, либо через FastCGI, либо скомпилировать в модуль; вам также понадобится какая-нибудь библиотека шаблонов, которая сделает рендеринг документов HTML безболезненным).
Наконец, есть проблема рынка разработчиков. Существует множество разработчиков на C ++ и даже больше веб-разработчиков, но перекрытие, вероятно, не так велико, поэтому, если вам когда-нибудь понадобится нанять людей для работы над этим, вам будет несколько сложнее, чем, скажем, PHP.
источник
Как уже говорили другие, концептуально C ++ является прекрасной средой для разработки веб-сервера. Есть, однако, несколько соображений, как вы принимаете это решение.
Популярность языков сценариев для дизайна веб-серверов оборачивается временем. Простые изменения могут быть сделаны легко с демонстрацией результатов почти сразу. Вы обнаружите, что любой хороший дизайн веб-сервера будет предлагать аналогичные возможности. Действительно, C ++ является отличной средой для достижения этой цели.
Ключом к созданию хорошей системы приложений веб-сервера является отделение пользовательского интерфейса от кода. Цель создания среды веб-приложений - избежать «ваш пользовательский интерфейс находится в моем коде, а ваш код - в моем пользовательском интерфейсе».
Я хотел бы тщательно в таких системах, как cppcms. Я ожидаю, что он предлагает что-то подобное.
Вам не нужен язык сценариев, чтобы предложить гибкость и производительность.
источник