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

The elephant in the web application

Summary

Developing a web application today is an unnecessarily cumbersome and error prone task. It is time for web frameworks to evolve and become more like graphical user interface (GUI) frameworks

Description

In this talk, I'd like to convince you that developing a web application today is an unnecessarily cumbersome and error prone task. It is time for web frameworks to evolve and become more like graphical user interface (GUI) frameworks: these provide abstractions called "windows" or "widgets" that let a programmer write an application using terms that describe what is being built, with less (if any) focus on the underlying technologies needed to accomplish drawing these items on a screen. A web application programmer (in contrast to a GUI programmer) needs to know quite a few different technologies and a fair bit of effort is required to orchestrate these tools into achieving an end result: a template language, HTML, HTTP, CSS, JavaScript, etc. Reusing something substantial is especially difficult, which means in a sizeable web application the same dragons need to be fought several times over. If a programmer has to constantly deal with all this subject matter, it takes focus away from what actually needs to be built: the application itself. Why are we putting up with having to know HTML and similar low-level technologies? Is it an elephant in the room? Something we pretend not to see, yet we accept the burden of having to work around it? I will show you what it takes to build a web application; what repetitive tasks there are and what a programmer needs to be aware of. I hope to convince you that there's a better way, and that what was perhaps an idealistic dream a decade ago can now be done - not only by our own fully-featured Python web framework (Reahl), but also by a small number of others beyond the realm of Python.

Details

Improve this page