Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python non-mainstream web

Python non-mainstream web

My speech at DevPro TechTalk about pythonic web

Dd577613da0f8941fba3932e713f6789?s=128

Yehor Nazarkin

August 14, 2013
Tweet

Transcript

  1. Python, Web - непопулярные решения Егор Назаркин

  2. Если скучно • http://kharkivpy.org.ua • mailto: jobs@mediasapiens.co

  3. что такое py-web? CGI mod_python WSGI (PEP 3333)

  4. Среда исполнения • Собственное решение • IaaS • PaaS (GAE,

    Heroku, dotCloud, etc.)
  5. Custom и IaaS Задача формирует потребности Любой формат системного I/O

  6. PaaS Платформа диктует ограничения Высокий уровень абстракции I/O

  7. PaaS платформы dotCloud, Heroku... — sys.env GAE — набор собственных

    API
  8. GAE webapp vs workers async datastore memcache channels (comet) cloudSQL

    Blobstore OAuth XMPP Mail logs images task queues sockets search URL fetch users (google id)
  9. GAE Большинство full-stack решений Отдельные сервисы придется поддерживать самостоятельно

  10. WSGI middleware CherryPy Werkzeug WebOb gunicorn свой собственный?

  11. Неблокирующие tornado twisted.web circuits.web gunicorn gevent

  12. Frameworks • NIH (not invented here) • На основе компонентов

  13. Zope • Дедушка современных веб-решений • Пришел из CGI-only времен

    • Enterprise подход • Много концепций используется последователями
  14. Plone • CMS фреймворк поверх Zope2 • oDesk - одна

    вакансия
  15. Turbogears • paster, repoze.who, zope.sqlalchemy • scaffolding • предлагает структуру

    • почти настоящий MVC
  16. Turbogears • вакансий — ноль • встречается в поддержке •

    о новых проектах не слышно
  17. Pyramid • Последователь pylons/bfg • базируется на paster и webob

    • почти full-stack (scaffolding, etc.) • подробная документация
  18. bottle • похож на попытку облегчить Flask • расширяется плагинами

    • однофайловые микроприложения • поддерживает 17 адаптеров для запуска (9 sync, 8 async)
  19. wheezy . web • Щірий український • Предоставляет wsgi application

    • “почти” full-stack (нет orm)
  20. Flask • самый большой hype 2012-2013 • построен на werkzeug

    • разные модели использования • есть api для расширения • рекомендации, документация, community - all inclusive
  21. Nagare • Stackless Python! • строится из автономных компонентов •

    страница — композиция из представлений • нет управляемого цикла request/ response
  22. Nagare

  23. GIL

  24. twisted . web • twisted — матерь всея протоколов •

    HTTP — протокол, twisted — сервер
  25. twisted . web • соглашения, компоненты, ресурсы • вложенные ресурсы

    • XML-RPC, SOAP • Nevow, Mantissa
  26. tornado • Неблокирующий http/comet сервер • Компоненты, характерные для web-framework

  27. gevent • Синхронный API поверх libevent • TCP/SSL и WSGI

    • stdlib monkey-patching
  28. Вопросы? follow @nimnull speakerdeck.com/nimnull