Helping you select an MV* framework

TodoMVC

Introduction

Developers have a number of choices today when it comes to selecting a JavaScript framework or UI library for building scalable web apps.

React / Next.js, Vue / Nuxt, Angular…the list of solutions continues to grow, but just how do you decide on which to use in a sea of so many options?

To help you understand the options, we created TodoMVC - a project which has offered the same Todo applications implemented in popular JavaScript frameworks for the last decade.

TodoMVC is useful for comparing syntax and solutions, is officially used in cross-browser benchmarks (e.g. Speedometer) and aims to stay up to date as trends change over time.

Examples

JavaScript Compile-to-JS Labs

Compare these to a non-framework implementation


  • New = New or updated app

Todo app screenshot

New in 1.4

Selecting a Framework

Once you've downloaded the latest release and played around with the apps, you'll want to decide on a specific framework to try out.

Study the syntax required for defining models, views and (where applicable) controllers and classes in the frameworks you're interested in and try your hand at editing the code to see how it feels using it first-hand.

Please ensure that if you're happy with this, you do spend more time investigating the framework (including reading the official docs, the source and its complete feature list). There's often a lot more to a framework than what we present in our examples.

Getting Involved

Is there a bug we haven't fixed or an MV* framework you feel would benefit from being included in TodoMVC?

If so, feel free to fork the repo, read our contribution guidelines, and submit a pull request — we'll be happy to review it for inclusion.

Make sure you use the template as a starting point and read the app specification.

Submit Pull Request »