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.)
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.
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).