Contribute Media
A thank you to everyone who makes this possible: Read More

Anvil Full Stack Web with Nothing but Python


Building a modern web app requires so much: HTML, CSS, JS, Python, SQL, React, Bootstrap, Webpack...and Django, of course ;). What if we could build a better abstraction?

Our answer is Anvil: a full-stack Python environment where everything is a Python object, from your UI components to your database rows. In this talk, I'll walk you through how and why we constructed this new approach to the web.

We'll start with a question: Why is web programming hard? It's because your data takes so many forms: database rows, Python objects, JSON on REST, JS objects, HTML DOM, and finally pixels. Most of a web developer's job is translating between these awkwardly different representations. Frameworks like Django help, but now you have a stack of leaky abstractions: web frameworks, ORMs, JS frameworks, CSS frameworks, build tools... These frameworks help you go faster, but they double the amount you need to know!

So I'll show our stab at an answer: A framework where everything is a Python object, requests to the server are function calls, and Python is a browser-side language. I'll talk about running Python in the browser. I'll talk about full-stack autocompletion. There will even be live coding.

And then I'll talk about how it breaks. Because every abstraction breaks, and this abstraction is bigger than most. So I'll touch on what it means to go down with the ship, to use an ejector seat, or to open an escape hatch.

Join me for a rollicking tour of a new way to approach the web!


Improve this page