If you want to learn more about Phaser, you can check out my Flappy Bird tutorial here: http://blog.lessmilk.com/how-to-make-flappy-bird-in-html5-1/
I also wrote and self-published the first book about Phaser: https://www.discoverphaser.com/
Let me know if you have any questions! :-)
* Impact is a lot more low-level. If your game is complicated, you will have to get into the weeds of the canvas API.
* Phaser supports canvas and WebGL. Impact supports canvas exclusively.
* Impact costs $99. Phaser is open source.
* Impact rarely ever receives updates. Apparently the creator is working on 2.0, but nobody knows if or when that will be released. Phaser is updated very frequently.
* Phaser has the edge in terms of popularity. You will find a lot more articles and books for it.
* Phaser has batteries included. Impact is more bare-bones.
* It can be a pain to keep your local changes synced with upstream changes in Impact unless you go through a bit of hassle. (You will -probably- need to modify Impact's core if your game is complicated.)
* Impact has a level builder and some other tools out of the box. I personally don't use it. Tiled is better, and Phaser has good support for Tiled. Actually, I've had better luck using Tiled in Impact, but it required writing a lot of custom code. Most people will probably have more luck using Tiled with Phaser.
* Impact is a lot faster in my experience, even with WebGL enabled in Phaser. YMMV.
* Impact has far superior support for high DPI screens last time I checked. (Disclaimer: was a year ago.) Getting stuff to look good on retina screens in Phaser was hellish and things would randomly break.
* The learning curve of Impact is extremely low. However, you will feel constrained for bigger projects, which may require lots of custom visual and audio handling.
* Impact uses its own module system. Using browserify or webpack with it isn't really feasible.
Regarding Impact (canvas) being faster than WebGL in Phaser. It's not the first time I hear canvas being faster.
two.js had the same problem, and from what I gathered it had to do with not caching something. Maybe you know more about it than I do.
Again, thank you!
I have just created a small game and exported it to an android .apk and easily runs at 60fps on Nexus 7 (2013) at 1920×1200 resolution.
A nice thing about it too, is that it is very easy to make something that is compatible with both desktop web browsers and smartphones. When presenting at a game jam or hackathon, it's nice to be able to push what you've done onto GitHub pages and encourage your audience to try things themselves.
The only problem is type definitions have a habit of lagging behind releases.
If you want free, a Github page is a good option.