recoder: (Default)
recoder ([personal profile] recoder) wrote2012-04-02 01:38 am
Entry tags:

С++ Web Services

Возникла идея в рабочей системе вообще отказаться от интерпретируемых языков. Статику отдавать через Apache, клиента сделать на статическом JavaScript, а динамику отдавать через FastCGI из своего C++ приложения в XML/JSON.

В теории идея выглядит вполне работоспособной. Однако мысль о том, что придётся переизобретать маленькую роту велосипедов, которые в Rails/Django вылизывались годами, меня очень смущает. Гугление уже существующих решений (и их обсуждений типа - раз два три четыре) дало такие примеры:

CppCMS: похоже, довольно полная библиотека для написания приложения. Всё как у взрослых: кое-какие routes, контроллеры, темплейты+views+шкуры и всё прочее. Немного смущает что, как и другие фреймворки, у них свои строки, массивы и прочие базовые классы. Но в целом - кажется приемлемо.

Wt: любопытная widget-ориентированная библиотека для написания веб-систем. Оригинальная, но уж очень самобытная. А к самобытным системам ни Dojo не прикрутишь, ни программистов потом не найдёшь. Плавали - знаем.

TreeFrog: похоже на попытку аккуратного портирования Rails на плюсы, но результат непонятный: проект молодой, документация почти несуществующая.

ffead: занятная штука, судя по всему написанная сумасшедшим Java-программистом, который почему-то начал писать на C++. Посмотреть конечно прикольно, но не брать же это в production.

CPP SERV: уже другие безумные Javaнцы переписывали на C++ - на этот раз servlets. Однако года три назад вылечились и бросили это дело.

Есть ещё кучка библиотек помельче для разработки мини-сервисов: Klone, PoCo, NanoGear, REST CGI. Но с ними опять придётся выстраивать собственно архитектуру с самого начала. А не хочется.

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

Вот, сижу теперь, думаю... Записываться в экстремалы с такой системой или плюнуть и откопать PHP?

coding

[identity profile] vanxant.livejournal.com 2012-04-02 07:00 am (UTC)(link)
Так а задача какая?
Просто проверить параметры, взять данные из базы селектом и завернуть в json/html? Ну так в этом случае 80%-90% времени будет работать база, да и алгоритмы декорирования в том же пыхапе до блеска отлажены.
Или у вас там какая-то сложная математика, которую считать долго, и нужны какие-то хитрые алгоритмы? Ну и всё равно, джедаи в этом случае советуют считать на плюсах и складывать данные в базу в memory-таблицу. А отдавать апачу всё равно предназначенным для этого инструментом.