Многие библиотеки python, даже недавно написанные, используют httplib2 или интерфейс сокета для выполнения сетевых задач.Закручивается замена httplib2/socket?
Это, очевидно, легче кодировать, чем Twisted из-за их блокирующего характера, но я думаю, что это недостаток при интеграции их с другим кодом, особенно с графическим интерфейсом. Если вы хотите масштабируемость, параллелизм или интеграцию с графическим интерфейсом, избегая многопоточности, то Twisted является естественным выбором.
Так что я был бы заинтересован во мнениях в этих вопросах:
- Если новый сетевой код (за исключением небольших утилит командной строки) записывается с Twisted?
- Вы бы смешали Twisted, http2lib или код сокета в том же проекте?
- Является витой pythonic для большинства библиотек (это сложнее, чем альтернативы, ввести зависимость от нестандартного пакета ...)?
Редактировать:, пожалуйста, позвольте мне рассказать об этом по-другому. Считаете ли вы, что новый код библиотеки с Twisted может добавить барьер для его принятия? У Twisted есть очевидные преимущества (особенно переносимость и масштабируемость, как указано в gimel), но тот факт, что он не является базовой библиотекой python, может рассматриваться некоторыми как недостаток.
-1. Пункт 1: скручивание отлично подходит для любого масштаба сетевого кода, ваше ограничение не применяется. Код с резьбовой оболочкой имеет худшую производительность, и его сложно отладить. Пункт 2: Нет. Если у меня есть полный скрученный стек в моем распоряжении, зачем использовать http2lib или socket? Pont 3: Асинкор/асинчат, серьезно? :( – nosklo
@nosklo: Пункт 1: вы говорите о витой зилоте. Нет никаких споров о том, что скрученный сложнее. Оборот в оболочке кода легко получить право, если вы используете Queue для interthread общения, я очень сомневайтесь, что производительность будет важна для большинства приложений. Пункт 2: вы думаете о создании веб-сервера? Думаю, что нет. Пункт 3: Асинкор/Асынчат серьезно ... См. пункт 1. – Unknown
Ребята, YMMV, особенно в зависимости от вашего опыта работы с инструментарий или другой. Я боюсь, что мой первоначальный вопрос был слишком субъективным. Меня не так беспокоит воспринимаемая трудность Twisted (это моя проблема, чтобы изучить ее, и я думаю, что она достаточно документирована, чтобы возможные сопровождающие этого кода не будет потеряна), чем тот факт, что он может ограничить его приемлемость для других кодеров. – oparisy