{"action":"created","issue":{"url":"https://api.github.com/repos/trueadm/container-node-proposal/issues/1","repository_url":"https://api.github.com/repos/trueadm/container-node-proposal","labels_url":"https://api.github.com/repos/trueadm/container-node-proposal/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/trueadm/container-node-proposal/issues/1/comments","events_url":"https://api.github.com/repos/trueadm/container-node-proposal/issues/1/events","html_url":"https://github.com/trueadm/container-node-proposal/issues/1","id":178597893,"number":1,"title":"Why? TODO","user":{"login":"jakearchibald","id":93594,"avatar_url":"https://avatars.githubusercontent.com/u/93594?v=3","gravatar_id":"","url":"https://api.github.com/users/jakearchibald","html_url":"https://github.com/jakearchibald","followers_url":"https://api.github.com/users/jakearchibald/followers","following_url":"https://api.github.com/users/jakearchibald/following{/other_user}","gists_url":"https://api.github.com/users/jakearchibald/gists{/gist_id}","starred_url":"https://api.github.com/users/jakearchibald/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakearchibald/subscriptions","organizations_url":"https://api.github.com/users/jakearchibald/orgs","repos_url":"https://api.github.com/users/jakearchibald/repos","events_url":"https://api.github.com/users/jakearchibald/events{/privacy}","received_events_url":"https://api.github.com/users/jakearchibald/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2016-09-22T12:34:06Z","updated_at":"2016-09-22T14:52:32Z","closed_at":null,"body":"I'm concerned that the solution is being developed before stating the problem. Stating the problem is the most important part.\r\n\r\nTaking the description in the readme, you can already do this via:\r\n\r\n```js\r\nvar elements = [document.createElement('div'), document.createElement('span')];\r\nappendChildren(document.querySelector('main'), elements);\r\n// ...\r\nappendChildren(document.body, elements);\r\n```\r\n\r\n…where `appendChildren` works like this…\r\n\r\n```js\r\nfunction appendChildren(parent, elements) {\r\n  for (const element of elements) parent.appendChild(element);\r\n}\r\n```\r\n\r\nHere `elements` still contains the nodes, but they're also in the body. What does the proposal do that the above doesn't, and most importantly, why?"},"comment":{"url":"https://api.github.com/repos/trueadm/container-node-proposal/issues/comments/248927098","html_url":"https://github.com/trueadm/container-node-proposal/issues/1#issuecomment-248927098","issue_url":"https://api.github.com/repos/trueadm/container-node-proposal/issues/1","id":248927098,"user":{"login":"lhorie","id":1637573,"avatar_url":"https://avatars.githubusercontent.com/u/1637573?v=3","gravatar_id":"","url":"https://api.github.com/users/lhorie","html_url":"https://github.com/lhorie","followers_url":"https://api.github.com/users/lhorie/followers","following_url":"https://api.github.com/users/lhorie/following{/other_user}","gists_url":"https://api.github.com/users/lhorie/gists{/gist_id}","starred_url":"https://api.github.com/users/lhorie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lhorie/subscriptions","organizations_url":"https://api.github.com/users/lhorie/orgs","repos_url":"https://api.github.com/users/lhorie/repos","events_url":"https://api.github.com/users/lhorie/events{/privacy}","received_events_url":"https://api.github.com/users/lhorie/received_events","type":"User","site_admin":false},"created_at":"2016-09-22T14:52:32Z","updated_at":"2016-09-22T14:52:32Z","body":"My 2 cents: in terms of semantics, I agree w/ @jakearchibald that this looks a lot like an array. It strikes me as counter-intuitive that the main reasons for this proposal are performance and code complexity considerations when a) the whole point of having a virtual dom abstraction is that, for various legitimate reasons, the DOM is slow, and b) performance considerations for more esoteric node types like fragments in such libraries usually add complexity (due to perf characteristics across browsers, etc), rather than remove it.\r\n\r\nIMHO, the why section needs to provide either an algorithmic or empirical argument as to how a native implementation could outperform an array-based implementation, *despite* the overheads from the various existing integrity checks and whatnot built into the DOM API spec."}}
{"actor":{"display_login":"lhorie"}}