LINUX.ORG.RU
ФорумTalks

Техническое. Веб-фреймворки


0

0

Доброго вечера,

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

Эта неприязнь у меня проявляется в том, что я сначала смотрю документацию по тому, «как нарисовать виджеты в нестандартных местах», «как сделать, чтобы фреймворк не мешал вставить обработчик jQuery на поле», «как поставить вменяемые tabindex», потом страшно ругаюсь, бросаю талмудом об стену и пишу форму простой простыней, а на серверном конце просто проверяю приходящие параметры, как мне нравится.

О том, чтобы заставить меня писать XML на питоне или перле, не может быть речи. Если там у меня разметка, я ее прямо на XML'е и пишу.

Вот и сейчас, вроде как Nevow/athena/formless/stan все из себя красивые, а я делаю свою обертку над twisted.web — просто потому, что мне от всего этого добра надо, чтобы по урлу был определен правильный обработчик, и управление было передано ему. Заказчик готов подождать на продукт, у которого будут две морды, на ncurses и на вебе.

Скажите, я один такой больной?

★★★★★

Скажите еще, а вы все можете править свои сообщения? А то я чужие новости править могу, а свой топик — нет. Привет, макском.

shimon ★★★★★
() автор топика

Я вообще данные с форм отсылаю по ajax, точнее я даже не использую сам тег <form/> а только виджеты для ввода. C django оно работает не так гибко как хотелось бы, решение всёравно выглядит черезжопным :(

Вообще мне больше нравиться webpy для таких целей.

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

Ну вот, а я этого дзена не понимаю. Я вообще думаю, что то, как запрос формируется, должно решаться на клиенте клиентскими же средствами. Чтобы работала та же формочка на Ext, мне надо знать только Javascript и как работают формы. На серверной стороне мне достаточно знать, в каком виде приходит запрос. Когда я питоном начинаю рисовать фрагменты яваскрипта, это становится чудовищно, и хотя вроде все в одной кучке, хрен продебажишь. Как его? Tight coupling antipattern...

shimon ★★★★★
() автор топика
Ответ на: комментарий от shimon

Не надо рисовать фрагменты JS! Код отдельно, данные отдельно.

Есть пакет simplejson который почемуто существует как отдельный, а так же входит в django(внезапно!). Словари и масивы, строки цифры и логические значения передаются легко и просто. Тем более синтаксис жабоскрипта и питона аналогичен.

SV0L0CH
()
Ответ на: комментарий от shimon

>А если тебе надо COMET устроить, чем пользуешься?

COMET так и ниасилил, не нашел описание реализации клиентской части.

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

Я думал Athena заюзать, говорят, можно отдельно от Mantissa и проч.

Но. Вся штука именно в серверном коде — посылать keepalive'ы, чтобы клиент не отвалился. А механика такова: создаешь XMLHttpRequest, и он ждет, пока сервер что-то не пришлет. Как только получаешь ответ, тут же ставишь точно такой же запрос. Если есть события от тебя, то шлешь их параллельным аяксом.

shimon ★★★★★
() автор топика

Никогда в жизни не использовал эти ваши генераторы форм. Форма тоже часть разметки и место ей в шаблоне.

iSage ★★★★
()
Ответ на: комментарий от shimon

Просто при отваливании надо заново посылать запрос.

iSage ★★★★
()
Ответ на: комментарий от iSage

>Никогда в жизни не использовал эти ваши генераторы форм. Форма тоже часть разметки и место ей в шаблоне.

Кстати, да. Пусть даже практически все современные фреймворки предоставляют возможность генерить формы автоматом, я не встречал такого, чтобы традиционным способом нельзя было бы пользоваться.

Но это речь именно о рендере шаблона. Обрабатывать формы на серверной стороне средствами ОРМ очень даже и удобно.

YogSagot ★★☆
()
Ответ на: комментарий от SV0L0CH

ХЗ. Мне-то в повседневном быту COMET не приходилось создавать. Но если бы и пришлось, то это точно будет не апач и не CGI/FastCGI/WSGI.

Кстати, omegle.com, самая первая чат-рулетка, и написан на twisted.web. На не-совсем-дохлике в Linode (4 ядра + почти 3 гига ОЗУ, хотя нахрена ему столько ядер — твистед жужжит в один поток) держит 7500 юзеров только так.

shimon ★★★★★
() автор топика

Веб - это сплошные костыли.

Mrxrrr
()

Надо бы в тематический раздел перенести, что это в толксах делает?

SV0L0CH
()

да, ты один такой. Все остальные этот этап уже прошли в начале карьеры и написали свой велосипед, потом увидели, что готовые лучше и перешли на них. Ты тоже рано или поздно придешь к фреймворкам

JFreeM ★★★☆
()
Ответ на: комментарий от SV0L0CH

Зависит от. На питоне есть готовый CometD и есть Tornado, но к нему сам комет еще надо докручивать.
Я для комета использую realplexor перепиленый (но у меня и фреймворк перловый).

Вообще вот: http://cometdaily.com/maturity.html

iSage ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.