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

Remove IE9/IE10 support and other legacy browser #829

Closed
13 tasks done
obiot opened this issue Nov 9, 2016 · 14 comments
Closed
13 tasks done

Remove IE9/IE10 support and other legacy browser #829

obiot opened this issue Nov 9, 2016 · 14 comments
Milestone

Comments

@obiot
Copy link
Member

obiot commented Nov 9, 2016

That includes :

@obiot
Copy link
Member Author

obiot commented Nov 9, 2016

nice list to start with, before proceeding, please have a quick review, and strike items that we need to keep, or add anything missing

@parasyte
Copy link
Collaborator

parasyte commented Dec 18, 2016

I was just looking over the Edge release history. Microsoft has already released 3 major (public) versions of the new browser. And since IE11 hasn't been updated in 3 years, I vote we drop support for it entirely.

For further evidence that retaining IE11 support is a bad idea, I point to Microsoft's IE End of Support article, which claims IE11 will stick around and remain supported for the lifetime of the OS on which it is installed. IE11 ships with Windows 10, which itself has a support lifetime lasting until at least October 2020.

We cannot hold ourselves back for the next 4 years because IE11. It's time to drop this piece of crap like the ... piece of crap it is!

Besides, if anyone really wants to use melonJS on IE11, they can just use an older version of melonJS...

@parasyte
Copy link
Collaborator

By the way, Android browser is dead (replaced by Chrome) and Opera Mini is a server-side browser, much like Amazon Silk. We shouldn't care about those platforms; they can't run games anyway. For more info, see: https://dev.opera.com/articles/opera-mini-and-javascript/

On iOS, Opera Mini does have an option called "Turbo Mode" which just changes the server-side rendering into a GUI for iOS WebKit. See: https://dev.opera.com/blog/opera-mini-8-for-ios/#turbo-mode So it has the same feature footprint as the native Mobile Safari.

Opera Mobile is a completely different browser altogether, and is powered by Blink and v8, the same rendering engine and JavaScript engine used in Chrome and Desktop Opera... And it is not supported on iOS because Apple's App Store guidelines explicitly disallows these engines. You can get Opera Mobile on Android and Windows Phone.

@obiot
Copy link
Member Author

obiot commented Dec 19, 2016

great, so let's drop all these shit for the next major release (aka 5.0), and for those that still need compatiblity with older platforms, they can still use any es5 shim :
https://github.com/es-shims/es5-shim

@obiot
Copy link
Member Author

obiot commented Dec 19, 2016

would be a nice anouncement on the blog by the way, 2017 we drop the dead bodies :)

@parasyte
Copy link
Collaborator

\o/

@obiot obiot added this to the 5.0.0 milestone Dec 19, 2016
@obiot
Copy link
Member Author

obiot commented Dec 19, 2016

we need to get this up-to-date as well, with the minimum version we then support :
http://melonjs.org/#compatibility

@obiot
Copy link
Member Author

obiot commented Jan 19, 2017

I spent some time looking at what would be our new browser version minimum requirements, and it then gives the following table :
image

as a reminder, the previous requirement was :

Browser Version Status
Chrome 12+
Safari 5.0+
Firefox 4+
Opera 11.00+
IE 9+
CocoonJS 2.0+
Chrome for Mobile 18
iOS Safari 6+

@parasyte
Copy link
Collaborator

FWIW melonjs/melonjs.org@b7759d7 😄

@obiot
Copy link
Member Author

obiot commented Feb 13, 2017

18 to 55 seems to be quite a jump for chrome mobile... I wonder if did not check the wrong chrome

@parasyte
Copy link
Collaborator

parasyte commented Feb 13, 2017

PointerEvent is a new standard, added in Chrome 55. Desktop Chrome and Mobile Chrome are released with the same version numbers.

@kibertoad
Copy link
Contributor

I can lend a hand with this. I presume we'd want unit tests running at least on Chrome and Firefox to make sure we didn't get regressions; #890 adds Chrome execution, Firefox would be easy too.

Probably a good place to start would be to add code coverage reports and check what places that use obsolete code are not under test, start with tests, proceed with replacement.

Comments?

@obiot
Copy link
Member Author

obiot commented Jul 4, 2017

that would be great, help is always appreciated/awesome :)

Probably they could be added in this test unit :
https://github.com/melonjs/melonJS/blob/master/tests/spec/shim-spec.js

i'm not sure though about the browser and browser version to use, as regression are more likely to happen WHEN using a polyfill ?

@obiot
Copy link
Member Author

obiot commented Jul 17, 2017

ticket closed. I doubt it's really useful actually, but I also added some test coverage for these es5 polyfills we removed.

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

No branches or pull requests

3 participants