recoder: (Default)
[personal profile] recoder

Возникла идея в рабочей системе вообще отказаться от интерпретируемых языков. Статику отдавать через 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

Date: 2012-04-02 09:16 am (UTC)
From: [identity profile] avnik.livejournal.com
Погуглил. Мда, что блин люди не делают, чтоюы не пользоваться билдаутом.

Date: 2012-04-02 09:20 am (UTC)
From: [identity profile] netspyder.livejournal.com
не силен в питоне, не знаю, что такое билдаут, пардон)
просто клиент попросил поставить такой велосипед, пришлось ставить))

Date: 2012-04-02 09:38 am (UTC)
From: [identity profile] avnik.livejournal.com
Ну для питонизмов есть два традиционных способа:
1 -- virtualenv (типа чрута, но исключительно для интерпретатора -- влияет на его пути поиска, и яйцеустановку), бонус -- изоляция от "системных" питонопакетов
2 -- buildout -- строит песочницу с наполнением по формальному описанию, чем-то издалека похоже на bsd порты. Полной изоляции не делает, но может быть засунуто в virtualenv. Зато гарантирует возспроизводимость (особенно если ты прикопал за угол все скачаное в процессе).

Туториал по билдауту от автором джанги
http://jacobian.org/writing/django-apps-with-buildout/http://jacobian.org/writing/django-apps-with-buildout/
(впрочем телега тоже устарела, но как отправная точка сгодится)

http://buildout.org -- родная документация, которой хер знает сколько лет, внутри исходников она поактуальнее.

Если есть вопросы, могу ответить.

Date: 2012-04-02 10:00 am (UTC)
From: [identity profile] netspyder.livejournal.com
спасибо, пока не нужно, но прикопаю ссылки на всякий случай)

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 26th, 2026 07:36 am
Powered by Dreamwidth Studios