Skip to content

Instantly share code, notes, and snippets.

@kod3r
Forked from freakboy3742/beyond-web-2.0.rst
Created December 22, 2015 00:19
Show Gist options
  • Save kod3r/27d01d3422067f42998e to your computer and use it in GitHub Desktop.
Save kod3r/27d01d3422067f42998e to your computer and use it in GitHub Desktop.
Beyond Web 2.0 - Django and Python in the modern web ecosystem

Beyond Web 2.0 - Django and Python in the modern web ecosystem

Django is over 10 years old; but the web that it was built for - the world of "Web 2.0" - doesn't really exist any more. Yes, we still need to rapidly develop database-backed websites, AJAX-enabled, but the modern web is faced with new problems, and new challenges. Many of those challenges involve interacting with devices that aren't desktop machines, and platforms that aren't a traditional browser - places where Python isn't a first-class citizen.

Does this mean we have to abandon Django and Python for other frameworks and languages? Can we keep using Python and Django on the server side and interact with independent client side frameworks? Or can we push Python and Django into these new environments?

In this talk, Dr Russell Keith-Magee will explore the problems, and some potential solutions, to these problems.

Detailed abstract

The purpose of this talk is to look at the way our industry is evolving, and provide some practical answers to the question of how Django and Python can adapt to these changing requirements. Some of the projects mentioned are early alpha and prototype projects, some are more mature; but they all point in the direction of a major shift in our industry that, as web developers, we would be foolish to ignore.

This talk is a backed up by my experience developing a number of mobile data gathering applicaitons, including TradesCloud, a web site that has a significant mobile component in an environment with highly intermittent data connection availability. I'm also deeply involved in a number of projects bringing Python to mobile (Rubicon, VOC), and to the browser (Batavia).

Talk summary:

  • Introduction - 1 minute
    • Who am I?
  • The problem - 5 minutes
    • The traditional website model
    • Requirements for a modern web project
      • Realtime
      • Mobile
    • Rethinking the structure of a web app
  • Writing isomorphic web apps - 10 minutes
    • What the isomorphic approach provides
    • The place of Python in Isomorphic web apps
    • Django support libraries for React, Ember, etc
    • Dual implementation of validation logic
    • Browser scripting in Python
      • Brython
      • Skulpt
    • Pushing pure logic to the server
      • Using Batavia to ship form validation
  • Dealing with intermittent data connections - 5 minutes
    • Tradeoffs that are available
    • Solution in practice: TradesCloud
  • Python on Mobile platforms - 5 minutes
    • Running Django servers on mobile
    • Native apps
      • Reusing web server logic
    • Options for cross-platform development
      • Kivy
      • Toga
  • The future? - 2 minutes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment