Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

HTML5 and haXe: A Series of Instructive Experiments

DZone's Guide to

HTML5 and haXe: A Series of Instructive Experiments

· Web Dev Zone ·
Free Resource

Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.

Sometimes diving straight into a huge project is the best way to learn a new technology. (That's how I learned Visual Basic, ages ago.)

Sometimes a full, guided course is better, perhaps built around a textbook or tutorial -- especially if you're learning a whole new language.

But sometimes, when a new technology is similar but subtly different from something you already know; and when your goal is optimization as much as creation; a more problem-centered path of development can be best.

If you're thinking about WebGL development, and understand graphics a bit but worry about browser performance, then you might really benefit from Mike Cann's series of experiments (1,2,3,4,5) using HTML5 and WebGL with haXe.

His latest post caps months of spare-time labors with a pretty neat interactive demo of complex particle interaction, with source:

 


 


As a non-haXer, I found the project history helpful, especially Mike's careful work with stateless vs. state-preserving particles (starting with his third post).

Maybe take a moment to nod, impressed, at the (momentarily) final result, then trace the experiments all the way back to their (non-WebGL) original inspiration.

What’s the best way to boost the efficiency of your product team and ship with confidence? Check out this ebook to learn how Sentry's real-time error monitoring helps developers stay in their workflow to fix bugs before the user even knows there’s a problem.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}