We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Butter smooth, interactive applications with Django and Websockets

Formal Metadata

Title
Butter smooth, interactive applications with Django and Websockets
Title of Series
Part Number
40
Number of Parts
48
Author
Contributors
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date2017
LanguageEnglish

Content Metadata

Subject Area
Genre
Abstract
Web applications have changed significantly over the years – from simple static pages, to sprinkling interactiveness with JQuery/AJAX, to full dynamic single page apps. Through each evolution, we’re adding more complexity, more data and more asynchronous behavior to our applications. In this new world, where does the synchronous nature of Django’s request-response cycle fit in? My talk will focus on the topics around asynchronous Django applications. I’ll be sharing some lessons we learnt while building and scaling an interactive web application within the confines of Django and django-channels. This topic is interesting because there’s been a lot of interest with meteor-like frameworks that have synchronized state between the frontend and backend. My intention is to show the audience that you can accomplish the same end-result with Django, without the need to learn and deploy a brand new framework. An outline I have in mind: What does asynchrony mean, and why you need it. Traditional methods of achieving asynchrony (delayed jobs using worker queues like celery, long-polling for messaging, etc.) Why django-channels changes the game. How to architect your state. What are the available options for deployment. Gotchas, and what to do when things go wrong. Just a basic knowledge of Django is required, as the topics are transferable to other frameworks. We did not have to monkey-patch any of the drivers to achieve asynchrony, so what you’ll learn at my talk will apply cleanly to a stock Django.