Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: Create new example built with Tag #2163

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

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