Simon Willison’s Weblog

Subscribe
Atom feed for web-frameworks Random

28 posts tagged “web-frameworks”

2026

nascheme/quixote. A certain vintage if Python web nerd might be delighted to learn that the most recent commit to the Quixote web framework was six hours ago.

The oldest commit in that repo is from 21 years ago, and that was the initial import of Quixote 2.4 from Subversion into Git.

# 18th July 2026, 5:27 am / computer-history, python, web-frameworks

2025

Happy 20th birthday Django! Here’s my talk on Django Origins from Django’s 10th

Visit Happy 20th birthday Django! Here's my talk on Django Origins from Django's 10th

Today is the 20th anniversary of the first commit to the public Django repository!

[... 8,994 words]

2024

Python Developers Survey 2023 Results (via) The seventh annual Python survey is out. Here are the things that caught my eye or that I found surprising:

25% of survey respondents had been programming in Python for less than a year, and 33% had less than a year of professional experience.

37% of Python developers reported contributing to open-source projects last year - a new question for the survey. This is delightfully high!

6% of users are still using Python 2. The survey notes:

Almost half of Python 2 holdouts are under 21 years old and a third are students. Perhaps courses are still using Python 2?

In web frameworks, Flask and Django neck and neck at 33% each, but FastAPI is a close third at 29%! Starlette is at 6%, but that's an under-count because it's the basis for FastAPI.

The most popular library in "other framework and libraries" was BeautifulSoup with 31%, then Pillow 28%, then OpenCV-Python at 22% (wow!) and Pydantic at 22%. Tkinter had 17%. These numbers are all a surprise to me.

pytest scores 52% for unit testing, unittest from the standard library just 25%. I'm glad to see pytest so widely used, it's my favourite testing tool across any programming language.

The top cloud providers are AWS, then Google Cloud Platform, then Azure... but PythonAnywhere (11%) took fourth place just ahead of DigitalOcean (10%). And Alibaba Cloud is a new entrant in sixth place (after Heroku) with 4%. Heroku's ending of its free plan dropped them from 14% in 2021 to 7% now.

Linux and Windows equal at 55%, macOS is at 29%. This was one of many multiple-choice questions that could add up to more than 100%.

In databases, SQLite usage was trending down - 38% in 2021 to 34% for 2023, but still in second place behind PostgreSQL, stable at 43%.

The survey incorporates quotes from different Python experts responding to the numbers, it's worth reading through the whole thing.

# 3rd September 2024, 2:47 am / open-source, postgresql, python, sqlite, surveys, web-frameworks, pytest, psf, pydantic, starlette

2023

Several libraries let you declare objects with type-hinted members and automatically derive validation rules and serialization/deserialization from the type hints – Pydantic is the most popular, but alternatives like msgspec are out there too. There’s also a whole new generation of web frameworks like FastAPI and Starlite which use type hints at runtime to do not just input validation and serialization/deserialization but also things like dependency injection.

Personally, I’ve seen more significant gains in productivity from those runtime usages of Python’s type hints than from any static ahead-of-time type checking, which mostly is only useful to me as documentation.

James Bennett

# 7th April 2023, 2:19 am / james-bennett, python, web-frameworks, pydantic

2018

OWASP Top 10 2007-2017: The Fall of CSRF. I was surprised to learn recently that CSRF didn’t make it into the 2017 OWASP Top 10 security vulnerabilities (after featuring almost every year since the list started). The credited reason is that web frameworks do a good enough job protecting against CSRF by default that it’s no longer a top-ten problem. Defaults really do matter.

# 6th August 2018, 10:02 pm / csrf, owasp, security, web-frameworks

2015

Are traditional web frameworks and languages like RubyOnRail, Spring Boot and PHP dying now when new fast reactive pure JavaScript frameworks and services like Meteor, Node, Angular 2.0 and Firebase are breaking ground?

No.

[... 40 words]

2013

Why aren’t there any popular web frameworks in C/C++ even though they are more performance intensive languages?

Because it’s very hard writing secure code in them due to the way they handle memory management, and web applications have an enormous number of potential paths for malicious input. It’s much easier to write secure web application code in a higher level language (which isn’t to say it’s easy at all even then).

[... 77 words]

How do I choose between asynchronous web frameworks? My tech group is fairly language agnostic and we’re trying to standardize on some technologies.

Since they are all pretty close to each other and it sounds like your tech group’s skills would support any of them, I would suggest having your tram build a simple prototype in all three so you can compare them for your own particular team and situation.

[... 76 words]

2012

What is a development framework?

The most useful distinction, in my opinion, is to think about the difference between a framework and a library.

[... 271 words]

What is the difference between a web server and a web framework?

A “web framework” offers a set of APIs for writing your own custom code in such a way that it can be called via the Web. Usually a framework will deal with common details such as HTTP header parsing, URL routing and so forth.

[... 272 words]

Which web frameworks should I focus on to make myself the most well rounded and to be able to solve the most problems as a web application developer/architect?

Being an expert web developer isn’t about which framework you know, it’s about the fundamentals. It’s important that you know how the tools you are using work, so you can fix things when they break—Joel Spolsky’s law of leaky abstractions is a great essay about this: http://www.joelonsoftware.com/ar...

[... 260 words]

Play Framework, Django or Rails? Which one do you recommend for  Social Networking Web applications.

Both Rails and Django have been used for a large number of high profile social networking web applications. Off the top of my head, Django is used by Instagram and Pinterest, Rails is used by Posterous and Ravelry. I don’t know what the largest sites built using Play are at the moment.

[... 149 words]

2010

What is the best license for a web framework (ex: Cake, Rails, Django): GPL, BSD, MIT, other? Why?

Not the GPL. The share-alike viral clause will prevent anyone from creating closed source proprietary projects on top of the framework.

[... 45 words]

What is the history of the Django web framework? Why has it been described as “developed in a newsroom”?

I was there!

[... 674 words]

2009

Node.js is genuinely exciting

Visit Node.js is genuinely exciting

I gave a talk on Friday at Full Frontal, a new one day JavaScript conference in my home town of Brighton. I ended up throwing away my intended topic (JSONP, APIs and cross-domain security) three days before the event in favour of a technology which first crossed my radar less than two weeks ago.

[... 2,025 words]

Play framework for Java. I’m genuinely impressed by this—it’s a full stack web framework for Java that actually does feel a lot like Django or Rails. Best feature: code changes are automatically detected and reloaded by the development web server, giving you the same save-and-refresh workflow you get in Django (no need to compile and redeploy to try out your latest changes).

# 25th October 2009, 11:21 pm / django, frameworks, java, play, rails, web, web-frameworks

djng—a Django powered microframework

djng is nearly two weeks old now, so it’s about time I wrote a bit about the project.

[... 1,501 words]

juno. An ultra-lightweight Python web framework inspired by Ruby’s Sinatra.

# 4th February 2009, 10:48 am / juno, python, ruby, sinatra, web-frameworks

Infrastructure for Modern Web Sites. Leonard’s thoughts on what the next generation of web frameworks should aim to provide.

# 29th January 2009, 1:36 pm / django, frameworks, infrastructure, leonard-lin, rails, sysadmin, web-frameworks

2007

Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears. Apparently published by Wrox in October 2007, beating the “official” Django book by just over a month. Has anyone seen this on bookshelves yet?

# 16th November 2007, 9:16 pm / books, django, python, web2, web-frameworks, wrox

The Shrinking Python Web Framework World. Python used to suffer from a paradox of choice with regards to Web frameworks; today things are considerably easier for new developers.

# 22nd August 2007, 10:06 pm / ian-bicking, python, web-frameworks

Python web development and frameworks in 2007. A fair and detailed look at the current main options for web development with Python.

# 25th March 2007, 5:30 pm / python, web-frameworks

2006

Python Web Developer Appliance. A VMWare virtual machine with Python web developer frameworks pre-installed for you.

# 29th June 2006, 6:58 pm / python, web-frameworks

2005

London Web Frameworks Night—Location Change! It’s now at Westminster Uni, New Cavendish Street. 200 signups already!

# 13th November 2005, 11:54 am / web-frameworks

London Web Frameworks Night. Talks on Django, Rails, Catalyst. I’m talking about Django.

# 28th October 2005, 10:22 am / rails, web-frameworks

Introducing Django

You may know that I spent a year working in Kansas for a local newspaper—the Lawrence Journal-World. I’m delighted to announce that a decent chunk of the software I worked on there is now available as open-source, in the form of the Django web framework.

[... 614 words]

2003

The Python Web SIG

Python now has a Web SIG. SIGs are Special Interest Groups, each with a target to develop and improve a certain aspect of the Python language, standard library or community. The Web SIG has two purposes: create a plan for improving Python’s web client abilities (including things like the ability to parse CSS) and work on improving Python’s server side capabilities.

[... 289 words]

2002

Pimping opportunity

Tip off for Stuart: The new Python Wiki includes an index of available web frameworks, but there’s no mention of Castalian yet.