Skip to content

Conversation

@tylerchilds
Copy link

Tag framework documentation
Tag TodoMVC Demo

This PR is a bit pre-mature based on the guidelines, but wanted to open this for visibility. Throughout 2020 and 2021, I've been working to try and make front-end more approachable. Tag is a framework I built at Netflix and is currently in use for one internal app.

The framework is relatively unopinionated and has a lot of the same footguns as React (like, never set state in a render). The main advantage is the close adherence to web apis (IndexedDB, MutationObserver) and getting them for free. Ultimately, once custom tags are written, then they can just be used in HTML naturally. In practice, this means HTML tags and attributes can be wired directly into GraphQL queries that will populate tags on response, while caching the data so it's immediately ready on page reload.

This app is built with a pattern that would work on a large scale app maintained by large teams of people with different goals (e.g. both enterprise software and open-source software). Features are built in stand-alone files with related logic that could be A/B tested or incrementally improved and/or deprecated.

The general approach is "the user is a function, show information and they act on it", everything else is hand-wavey magic, technical debt, or just a decision. As such, the index.html file contains everything the user can see and do, but all the business logic is tucked away inside feature functions.

  • The framework/stack you are using must have a version that is free and open source
  • The framework/stack you are using is at least 1 year old. (July 2021 at best)
  • The framework you are using should have at least 5k stars if it is hosted on Github or equivalent on other platforms. (currently 4 stars)
  • Your app should be able to work on recent versions of all major browsers.
  • Your app should bring something truly new to the table, minor variations of existing frameworks, languages or existing TodoMVC apps will not be accepted.

@tylerchilds tylerchilds marked this pull request as draft January 4, 2022 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant