Google гнет свою линию

20 май, 2013 - 13:14Игорь Дериев

Хотя исторически Google была активным поборником веб-стандартов, в какой-то момент она фактически стала на путь Microsoft, начав изобретать собственные технологии, такие как NaCl (Native Client). Что из этого выйдет?

Напомню, что идея NaCl состоит в использовании машинного кода и, соответственно, компилируемых языков (прежде всего С и С++, но в перспективе, возможно, и других) для создания клиентских веб-приложений. Цель преследуется двоякая: машинный код должен быть намного производительнее JavaScript, но главное – существенно упростится преобразование традиционных (существующих) приложений в веб-. Грубо говоря, интерфейс переделывается на HTML5/JavaScript, а бизнес логика остается as is.

Конечно, NaCl – технология открытая, что можно было бы считать оправданием Google, если бы ее поддержал хоть кто-то из видных участников индустрии. Однако, этого не произошло, все решили или, по крайней мере, сделали вид, что их полностью устраивает JavaScript. Между тем, Google несомненно делает на NaCl большую ставку, а дополнительным козырем может стать популярность Android.

В частности, близка к финалу технология PNaCl (Portable Native Client), призванная обеспечить переносимость кода между различными программными и аппаратными платформами. Для этого PNaCl основывается на LLVM, низкоуровневой виртуальной машине. Т.е. программные модули распространяются в промежуточном байт-коде, а окончательно в машинный транслируются уже в браузере . Последняя операция, конечно, означает некоторую задержку на старте приложения, но за все нужно платить.

На данный момент инструментальные средства доступны для Windows, Mac, Linux, а генерация машинного кода возможна для x86 и ARM. Впрочем, пока PNaCl поддерживается только в десктопном Chrome, причем, начиная с его будущей версии 29. Тем не менее, прицел на мобильный сегмент очевиден, хотя и не очень ясно насколько технология окажется эффективной в архитектуре Android.