I prefer Unity 3d. I do love javascript though so HTML5 would be my choice for 2d. Unity can output flash too if you have a license, it's awesome. Has native Chrome support, other browsers have to install a plugin similar to shockwave to play badass 3d games in browser. I have mobile licenses and can publish apps for either android or iOS format from the same C# code.