Если вы работаете с HaxeNME то возможно вы замечали, что время от времени собранные приложения работают на JS/HTML5 не так как на остальных платформах. Или не работают вовсе. Или даже не собираются из-за какого-то недостающего кода.
Причины, в принципе, понятны - само по себе воссоздание Flash API на JavaScript+HTML5 не выглядит слишком легкой задачей, так как многие из функций существуют немного в другом виде или изначально не существуют вовсе, требуя некоторых ухищрений для реализации.
А состоящая из ухищрений кодовая база, конечно, не будет такой уж и стабильной, особенно при воссоздании функционала на основе "тестирования черного ящика".
К примеру, если вы решили на каждом кадре очищать какой-то буфер размером 640х480 пикселей с помощью BitmapData.fillRect, вы совершаете большую ошибку, так как данная функция делает это не просто попиксельно, а еще и с использованием ImageData.
В общем, данная статья посвящена замене в NME проекте browser/jeash библиотеки на свою при компиляции в JS.