todomvc icon indicating copy to clipboard operation
todomvc copied to clipboard

Unify and update Angular examples

Open lyndseypadget opened this issue 5 years ago • 3 comments

The Angular 2 version written by @samccone was once cutting edge (based on 2.0.0-beta.0, no less) but now, it no longer represents the way Angular apps are built. My goal is to eliminate confusion around Angular and head toward best practices by:

  • [ ] unifying the Angular 2 examples (angular2 and angular2_es2015)
  • [ ] updating that one example project to a version of Angular that at least has Angular CLI (4 or higher)
  • [ ] relabeling typescript-angular as typescript-angularjs (or angularjs_typescript?)
    • [ ] (optional) adding a disclaimer to explain that AngularJS is for learning/archival purposes?
  • [ ] doing something with angular-dart ? I'm a bit ignorant about Dart so not sure what to do here

The Angular 2+ evolution...

examples/angular2

  • uses 2.0.0-beta.0
  • issue #1836 still exists
  • Feature issues
    • After editing an item, local storage is not updated
    • missing All / Active / Completed filters
    • missing the down arrow to "complete all"

examples/angular2_es2015

  • Better (2.0.1), but uses a now EOL'd version of Node (6)
  • Not listed on the todomvc.com site???
  • Feature issues
    • missing circle style
    • Todos h1 should not be capitalized

https://github.com/addyosmani/todomvc-angular-4

  • Even better, a newer but still "base line" version of modern angular (4.2.5)
  • angular-cli is available, yay!!!
  • Feature issues
    • missing circle style
    • Todos h1 should not be capitalized
    • missing the down arrow to "complete all"
    • missing All / Active / Completed filters
    • no local storage
    • no inline editing

https://github.com/lyndseypadget/todomvc-angular

  • No changes to dependencies from the above version, only started to tackle some missing features
  • Feature issues
    • missing the down arrow to "complete all"
    • missing All / Active / Completed filters

I have not invested any time beyond a basic run/serve (meaning, I have not yet looked at tests). Clearly, this can be taken further, both with respect to the version of Angular and other dependencies, as well as functionality and finishing.

IMO, it would be better to have this version 4 app listed than the current one[s]. Then discussion could ensue about whether later versions of Angular would be beneficial, as was suggested in https://github.com/tastejs/todomvc/pull/1833. While I see the value in upgrading 2 -> 4, I don't necessarily see the value in upgrading 4 -> n. (There may be some value, but I haven't come across a case for it.) Moreover, I don't get the impression that this project is meant to keep up with every release of every framework. Of course I'm not opposed to using the latest and greatest, I'm just trying to leverage the work @addyosmani has already done.

If the team agrees that these changes are a step in the right direction, I am willing to be assigned the tasks therein. And/or, add more checkboxes as needed so we know when this issue is "done". Logistically, I could make a PR into @addyosmani's repo, and then bring them back to this repo... or any other workflow you might prefer.

lyndseypadget avatar Jun 24 '19 20:06 lyndseypadget

I think this is an excellent idea. The site is completely lacking any up-to-date version of Angular (not AngularJS). As that is one of the most common frameworks used, I think this is a huge missing for the project.

scott-macdonald-imprev avatar Aug 13 '19 18:08 scott-macdonald-imprev

Note that my repo (https://github.com/lyndseypadget/todomvc-angular) now contains branches with baseline upgrades up to Angular version 8.

lyndseypadget avatar Aug 13 '19 20:08 lyndseypadget

Thank you!

scott-macdonald-imprev avatar Aug 13 '19 20:08 scott-macdonald-imprev