TODOMVC Examples#

For a long time (probably a decade or more), the todomvc application has been used as a way to get an idea of how a framework approaches a fairly straightforward model-view-controller problem in Javascript. If TODOMVC was adequate to demonstrate how a Javascript framework cleanly separates model, view and controller, then it only makes sense that a pure python web framework be able to demonstrate the same thing!

Once a pure python framework shows a good track record on TODOMVC and shows that A and A is possible, then it is good for most purposes. But here is where we see NiceGUI shine: “most purposes” does not include the wide array of devices that NiceGUI operates on, that few other frameworks can boast similar support for.

But let’s get back to the topic at hand. Glancing over these TODOMVC examples implemented in pure python web frameworks should give you an idea of whether or not you like the framework’s approach to software development. So, with no further adieu, let’s take a look at some TODOs!

TODOMVC in NiceGUI#

Actual code

TODOMVC in Panel#

https://discourse.holoviz.org/t/state-management-of-a-todo-list/2008/14

TODOMVC in Hyperdiv#

hyperdiv/hyperdiv-apps

TODOMVC in HTag#

Actual code

DEMO (repl) in a pyscript/html page.

TODOMVC in Solara#

Discussion

Actual code

An in-depth article breaks down TODOMVC and discussing the advantages of Solara over Streamlit.

TODOMVC in ReactPy#

reactive-python/reactpy#976

TODOMVC in Pynecone#

If you scroll down this page a bit, you will see a TODO example in Pynecone. I expressed some concerns about it.

TODOMVC in Flet#

This Youtube video covers the same ground. I’ve requested a link to source code.

TODOMVC in Shiny#

This Medium article covers the source code of a TODOMVC app in Shiny. Gordon Shotwell has also offered an alternative implementation which he feels is simpler.