Monday 29 February 2016

Happy New Year - Behind the Scene

I was going to write this in March. However, Feb 29 does not come every year, so I couldn't help publishing this blog today.

When JavaFX was first released, I played with it and wrote a few e-cards including one for Luna New Year in 2009. After using JavaFX for a while, I had a lot of complaints about JavaFX in the past and now Java Web Start (JNLP) cease to work. So it's time for me to invest my time on something else - namely Javascript.

I re-wrote the e-card using Javascript for this LNY (year of the monkey).  This version was completely written using HTML5's Canvas feature. Only till then, I started to appreciate what JavaFX offers - vector graph, timelines, animation effects, ... which are must-haves if you are trying to write any decent animation.

So without all those features in Canvas, I had to compromise. No individual fire cracker explosions, no real fade-out of the smoke, no accurate timeline synchronisations, ... The upside is that there is no hassle of packaging and deploying JAR files since everything is Javascript; the performance is a lot better and less resource hungry.

I guess to do any sophisticated animation using plain old Canvas is asking too much (I am aware of awesome canvas demos, BTW). So some animation package built on top of Canvas may be necessary - e.g. CAKE? I welcome any suggestions.

No comments: