{"action":"opened","issue":{"url":"https://api.github.com/repos/krausest/js-framework-benchmark/issues/89","repository_url":"https://api.github.com/repos/krausest/js-framework-benchmark","labels_url":"https://api.github.com/repos/krausest/js-framework-benchmark/issues/89/labels{/name}","comments_url":"https://api.github.com/repos/krausest/js-framework-benchmark/issues/89/comments","events_url":"https://api.github.com/repos/krausest/js-framework-benchmark/issues/89/events","html_url":"https://github.com/krausest/js-framework-benchmark/issues/89","id":192670560,"number":89,"title":"Solution to tracking or non-tracking (keyed vs. non-keyed)","user":{"login":"krausest","id":3374055,"avatar_url":"https://avatars.githubusercontent.com/u/3374055?v=3","gravatar_id":"","url":"https://api.github.com/users/krausest","html_url":"https://github.com/krausest","followers_url":"https://api.github.com/users/krausest/followers","following_url":"https://api.github.com/users/krausest/following{/other_user}","gists_url":"https://api.github.com/users/krausest/gists{/gist_id}","starred_url":"https://api.github.com/users/krausest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krausest/subscriptions","organizations_url":"https://api.github.com/users/krausest/orgs","repos_url":"https://api.github.com/users/krausest/repos","events_url":"https://api.github.com/users/krausest/events{/privacy}","received_events_url":"https://api.github.com/users/krausest/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-11-30T20:29:00Z","updated_at":"2016-11-30T20:29:00Z","closed_at":null,"body":"I'd like to ask for feedback to fix the tracking or non-tracking (keyed vs. non-keyed) issue. Please keep all general discussion out of this issue and put it into issue #22 instead.\r\n\r\n**Problem**: Non tracking / non-keyed frameworks are faster than those which track / use keys. Regarding this benchmark non tracking is a correct solution. The \"big\" frameworks like react and angular can also perform much faster if track by if is disabled as can be seen [here](https://cdn.rawgit.com/krausest/js-framework-benchmark/232d09a20dfb9e5a5c2ef8dcf7da58db4642e4c4/webdriver-ts/table_trackby.html). \r\nThe real problem is that for real life applications there's a big chance that non-tracking will cause wrong results (e.g. for transitions or dom manipulation outside of the framework).\r\n\r\n**Goal**: Require all frameworks to use a tracking implementation.\r\n\r\n**Proposal**: Add a simple functional requirement: The button to remove a row shall show a zoom transition when holding the mouse button. After releasing the button the transition must be stopped immediately, the next row must not show a zoom effect. \r\nThis is a very simple change that just needs an update of the css (74e7436f4dfc649ef09e079f0a56cc30b6d97ef9) and might make the results a bit less biased and shouldn't influence the measurement via webdriver.\r\n\r\nThe following frameworks currently appear to be non-tracking :\r\n*  aurelia\r\n* cycle.js\r\n* dio\r\n* domvm\r\n* inferno\r\n* riot\r\n* TSERS\r\n* vanillajs\r\n* vue\r\n\r\n(please note that kivi is not included in that list)\r\n\r\nBobril and ember seem to create a different html. I'll examine them later.\r\n\r\nWhat do you think? "}}
{"actor":{"display_login":"krausest"}}