Создатели проекта XMLVM, распространяемого под лицензией GPL, нашли способ выполнения Java программ на iPhone, без нарушения лицензионного соглашения на iPhone SDK, запрещающего создание программ на языках отличных от Objective-C. XMLVM представляет собой кросскомпилятор, позволяющий транслировать байткод Java приложения в универсальное XML-представление, которое затем может быть преобразовано в код на языке Objective-C и запущено на iPhone как родное приложение.
XMLVM не ограничивается Java и Objective-C, на вход могут приниматься программы написанные для .NET (CLR) или на языке Ruby (байткод YARV), и транслироваться в Python, Java, .NET, C++ или запускаемый в браузере JavaScript код. В отличии от других кросскомпиляторов, XMLVM работает на уровне преобразования байткода, не требуя наличия исходных текстов. По словам создателей проекта, транслировать инструкции байткода, подготовленного для выполнения в виртуальной машине, значительно проще, чем заниматься парсингом исходных текстов.
|