Fork me on GitHub
14/8/2006

Сетевые приложения: twisted vs core python

Хотя я слежу за новостями по Python-тематике, как-то проглядел хорошую статью по Twisted Python на OnLamp. Но, благодаря OpenNet не прошел мимо. Восполняю пробел и рассказываю про статью. Статья мне понравилась. Идея очень хороша: берутся простые задачи (например, отправка почты по smtp, получение почты по pop3, управление telnet-сессией) и решаются при помощи стандартных модулей (smtplib, poplib, telnetlib), а затем эти же задачи - но на Twisted. При этом объясняются коренные различия между двумя подходами. Не удержусь и процитирую:
Две функционально эквивалентные программы, одна использует стандартные модули Python, а другая - Twisted, принципиально отличаются друг от друга по стилю программирования и количеству кода. Так когда использовать каждый из подходов? Для простых программ, таких как CLI-клиенты нашего примера, стандартные модули Python предпочтительны в силу простоты и производительности. Тем не менее, большинство реальных сетевых программ очень сложны, и асинхронная модель Twisted более эффективна.
Рекомендую статью всем начинающим разбираться с Twisted.

Комментарии

Все статьи