{"action":"created","issue":{"url":"https://api.github.com/repos/PistonDevelopers/piston/issues/927","labels_url":"https://api.github.com/repos/PistonDevelopers/piston/issues/927/labels{/name}","comments_url":"https://api.github.com/repos/PistonDevelopers/piston/issues/927/comments","events_url":"https://api.github.com/repos/PistonDevelopers/piston/issues/927/events","html_url":"https://github.com/PistonDevelopers/piston/issues/927","id":94588250,"number":927,"title":"Do we still need the window abstractions?","user":{"login":"mitchmindtree","id":4587373,"avatar_url":"https://avatars.githubusercontent.com/u/4587373?v=3","gravatar_id":"","url":"https://api.github.com/users/mitchmindtree","html_url":"https://github.com/mitchmindtree","followers_url":"https://api.github.com/users/mitchmindtree/followers","following_url":"https://api.github.com/users/mitchmindtree/following{/other_user}","gists_url":"https://api.github.com/users/mitchmindtree/gists{/gist_id}","starred_url":"https://api.github.com/users/mitchmindtree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitchmindtree/subscriptions","organizations_url":"https://api.github.com/users/mitchmindtree/orgs","repos_url":"https://api.github.com/users/mitchmindtree/repos","events_url":"https://api.github.com/users/mitchmindtree/events{/privacy}","received_events_url":"https://api.github.com/users/mitchmindtree/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/PistonDevelopers/piston/labels/discussion","name":"discussion","color":"bfe5bf"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-07-12T18:16:07Z","updated_at":"2015-07-22T11:17:32Z","closed_at":"2015-07-22T11:17:32Z","body":"I've been wondering about this for a while now so just thought I'd start a discussion!\r\n\r\nSpecifically, I want to discuss the following crates:\r\n- [window](https://github.com/PistonDevelopers/window/blob/master/src/lib.rs)\r\n- [glutin_window](https://github.com/PistonDevelopers/glutin_window)\r\n- [glfw_window](https://github.com/PistonDevelopers/glfw_window)\r\n- [sdl2_window](https://github.com/PistonDevelopers/sdl2_window)\r\n- [piston_window](https://github.com/PistonDevelopers/piston_window)\r\n\r\nFrom what I understand, Piston's window abstraction story stems from a time (just over a year ago?) when glutin was barely usable and there was only sdl2 and glfw C bindings to choose from. This lead to a lot of different people wanting to use different window libs while still wanting access to other piston libs (graphics, etc), thus `window` (along with glfw_window, sdl2_window and later glutin_window) was born.\r\n\r\nSince then, glutin has matured a lot, builds to all major platforms (mobile is getting there), has the support of servo and from my understanding is becoming a pretty clear choice as the go-to purely rust window crate. Obviously it is nowhere near being fully stable, but it seems clear that it will continue to improve and afaik it remains the only pure rust option.\r\n\r\nMy thought process is this: Piston has spent a fairly significant amount of time maintaining its window abstractions and will probably continue to do so - perhaps we'd be better off just focusing on glutin, and use all the time saved on the rest of the Piston ecosystem and contributing to getting glutin into better shape in whatever areas it may currently lack? \r\n\r\nAre people still using SDL2/GLFW and if so, what are the specific reasons you use those over glutin?"},"comment":{"url":"https://api.github.com/repos/PistonDevelopers/piston/issues/comments/123671899","html_url":"https://github.com/PistonDevelopers/piston/issues/927#issuecomment-123671899","issue_url":"https://api.github.com/repos/PistonDevelopers/piston/issues/927","id":123671899,"user":{"login":"bvssvni","id":1743862,"avatar_url":"https://avatars.githubusercontent.com/u/1743862?v=3","gravatar_id":"","url":"https://api.github.com/users/bvssvni","html_url":"https://github.com/bvssvni","followers_url":"https://api.github.com/users/bvssvni/followers","following_url":"https://api.github.com/users/bvssvni/following{/other_user}","gists_url":"https://api.github.com/users/bvssvni/gists{/gist_id}","starred_url":"https://api.github.com/users/bvssvni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvssvni/subscriptions","organizations_url":"https://api.github.com/users/bvssvni/orgs","repos_url":"https://api.github.com/users/bvssvni/repos","events_url":"https://api.github.com/users/bvssvni/events{/privacy}","received_events_url":"https://api.github.com/users/bvssvni/received_events","type":"User","site_admin":false},"created_at":"2015-07-22T11:17:32Z","updated_at":"2015-07-22T11:17:32Z","body":"I'll implemented the idea and then we'll see how it goes.\r\n\r\nClosing."}}