A todo app simply isn't complex enough to give users any sort of insight into which framework to choose. There are so many other areas that are important yet completely uncovered in the code - things like authentication, ACL, mobile support, and plenty more examples that I just can't think of off the top of my head right now.
The idea behind this is fantastic, the execution is incredible, but the project choice is too limited in my eyes.
This sums it up. "Todo" examples are intended as a web/js-framework equivalent to the traditional "Hello World" example used to introduce a programming language. "Todo" defines a basic unit of usefulness that can be easily implemented to give the target audience an idea of what a given framework "looks like". It isn't perfect, but it is a starting point for framework comparison.
Something like Google contacts, or Gmail if you wanna push your luck, would be more appropriate.
I'm trying to choose a framework right now and TodoMVC is really helping in doing so.
I have one question though: Would you mind if I ported your apps over to CoffeeScript? I prefer CoffeeScript over JavaScript, but haven't done that much work in CoffeeScript. I think porting the apps would be a great learning experience and would help others too. Of course I would put it up on Github.
Be sure to add it to our wiki when it's done: https://github.com/addyosmani/todomvc/wiki/Other-implementat...
Are there any good JS libraries that take more Unix-like approach, i.e. they do one thing and they do it well? For example a library that would implement just the Model part: syncing data between server and client. Or another one that would implement for example a better abstractions for event handling (event-firing states, futures, etc.), but nothing more.
It's on TodoMVC as well in the labs section:
http://todomvc.com/labs/architecture-examples/stapes/
About 500 LOC, only the important parts you need in a MVC library (a flexible event system and models with change events), nothing else.
Have a look and tell me what you think :)
It's written by Alex McCaw, it's fantastic, and it even has a set of (again, modular) pieces to help develop mobile compatible interfaces.
<li ng-repeat="todo in todos | filter:statusFilter" ng-class="{completed: todo.completed, editing: todo == editedTodo}">
... which some may consider a bigger problem than size.
Four months and a lot of learning later, I am very happy with our choice. If I ever get some spare time I want to write some posts on angular from a rails perspective. I found the rails nomenclature I was used to didn't directly translate to angular.
One other reason we chose angular, it is backed by Google. The meetups I have attended in Seattle keep growing steadily and the mailing list is great.
I like Google for many things - there is no doubt they have some solid developers and have released great products - but they have a poor track record with frontend framework adoption. For example:
- GWT (not a lot of adoption and waning)
- Closure Tools (except for the great Google products that are built with this library and closure compiler it hasn't had a lot of adoption)
- Dart (verdict is still out on this one but it doesn't look good)
Edit: also, vis a vis Rails I'm curious whether and how it's possible to handle validations on the client side without having to duplicate everything in the Rails model.
For situations where I actually do want some kind of client-to-server data-binding, I generally prefer it to provide two-way view<->model binding so I've been leaning towards Angular (as heavy as it is) and Knockout.
http://backbonejs.org/#examples
The thing is that the TODO application is way too simple and does not require solving any meaningful problems. A much better and more realistic sample app would include at least handling basic relations between objects like users commenting under articles or voting on submissions. Say simple HN in JS MV* implementation would be a lot better resource.
Can anyone list their absolute favourite open source client side web based todo lists? It seems like there would be a lot as its everyones favourite personal project (I do have my own). however most seem to be extremely basic.
I am mostly judging by UX features and polish, something that works really well webbased + tablet + mobile would be a plus.
If anyone is interested in why, I am an author of pouchdb, a javascript library that aims to make syncing offline apps incredibly easy, I plan to take a standalone todo app and modify it to sync the data to see how easy it is / make a tutorial.
How many people are using each project, how active is development, that sort of thing.