LINUX.ORG.RU

Google представила конкурента JRE, Flash и Silverlight

 , , ,


0

0

Google Native Client - это технология, позволяющая встраивать непосредственно в браузер полноценные приложения, использующие ресурсы клиентской машины. В частности, в качестве примера была представлена игра в жанре 3D шутера. При этом, не смотря на то, что код компилируется в инструкции x86 (технология доступна только для x86, про x86_64 и другие архитектуры пока никто не говорил), этот код исполняется в закрытой виртуальной среде, гарантируя, с одной стороны, высокую скорость исполнения, а с другой — безопасность. Также GNC гарантирует кросс-платформенность. Клиент дает Web-разработчикам возможность использовать стандартную библиотеку С++ от GNU, но в числе прочих предоставляет собственные функции для обработки мультимедиа и пр.

В дальнейших планах выпуск GNC для других архитектур, включая PPC и ARM. Лицензия: BSD.

>>> Подробности

★★★★★

Проверено: JB ()
Ответ на: комментарий от Legioner

А вообще для убийцы флеша надо сделать так:
* Сделать очень маленький плагин (килобайтов 500), без библиотек
* Сделать развитый package management

Тогда с одной стороны можно будет хвастаться, что у нас плагин в 5 раз меньше флеша, с другой стороны не будет проблем с функциональностью.

Legioner ★★★★★
()
Ответ на: комментарий от cap838383

Гугль проспонсиловал молекулярных биологов? А они ещё нуклеотиды не переименовали в G, O, L, E?

anonymous
()
Ответ на: комментарий от los_nikos

> никогда не пользовался браузером от Google - как-то iceweasel всем устраивает

И не только Вас. Хром могут использовать только самые оголтелые фанатики.

> кто-то ещё ждёт эксклюзивный плугин flash для Konqueror?

Как раз Flash-плагин для Konqueror есть. Я спрашивал, появится ли подобный от Google.

Skull ★★★★★
()
Ответ на: комментарий от Skull

> Хром могут использовать только самые оголтелые фанатики.

Почему? Использую с релиза, очень уж понравился, до сих пор никаких претензий. Фанатом гугла я точно не являюсь.

Legioner ★★★★★
()
Ответ на: комментарий от Skull

>1. Эта штука такая же дырявая, как браузер от Google?

Грозятся что нет. В целях увеличения производительности(5% потерь) они используют системные вызовы, т.е. работают с целевой системой.

Из системных в чистом виде - только 46, многие эмулируются... Всё это как-то мегаразграничено и мегабезопасно.

wyldrodney
()

фу, отстой)
вот только всем бы в браузер приложения встраивать... ЗОЧЕМ?!
если там что-то серьёзное, кроме того что сделает сам гугл, заведётся - вся кроссплатформенность накроется медным тазом, имхо))) ну вы представьте если MS на этом что-нибудь сотворит? какая уж там кроссплатформенность...

vitalif ★★★★★
()
Ответ на: комментарий от Legioner

>Я не совсем понимаю, знатоки, объясните. Вот стоят два компьютера, x86_32 и x86_64. Как эта технология позволяет им запускать одно и то же приложение? 1. Сервер отдаёт два разных бинарника. Значит имеет все традиционные проблемы с кроссплатформенностью. 2. Сервер отдаёт x86_32 бинарник, который затем эмулируется при необходимости. 2.5 который затем транслируется в код на целевой платформе. 3. Сервер отдаёт некий промежуточный код, который потом транслируется в код на целевой платформе.

Часть этой платформы - GCC. Очевидно, код может компилироваться локально.

wyldrodney
()
Ответ на: комментарий от Legioner

>gcc используют разработчики, у клиента его нет (иначе это был бы какой то бред).

Значит бред.

"Разработчики Google представили открытый проект Native Client, позволяющий выполнять в окне web-браузера обычные бинарные приложения. Программа состоит из универсального плагина к браузеру и модифицированного компилятора на основе GCC."

Взято с opennet.ru, ссылка выше.

wyldrodney
()
Ответ на: комментарий от wyldrodney

Кстати, а ведь мысль - встраивать tcc...

anonymous
()

то есть можно писать на всем том к чему есть поддержка в gcc? всякие там ады и gcj? :) если запретят ассемблерные вставки и левые вызовы api то может и выйдет нечто, но что-то не верится что можно надежно верифицировать код на си и подобных.

anonymous
()
Ответ на: комментарий от anonymous

Они верифицируют машинный код, а из чего он компилируется - без разницы, хоть из джавы. Не совсем понимаю, как они запретят писать в любую память, но видимо можно.

Legioner ★★★★★
()
Ответ на: комментарий от cap838383

>гугл упорно пытается популяризировать С++

а чего популяризировать? очень многие из тех кто пишет server-side приложения используют именно его (ну или С, как вариант)... просто такой у них корпоративный стандарт.

shty ★★★★★
()
Ответ на: комментарий от Aceler

>> Им придется дооработать компилятор для этих ISA. Вряд ли это сильно трудно, у них всё равно основа - gcc.

> Ты не понял

А в данном случае неважно, понял я или нет %) Я прав - для поддержки новой ISA нужен доработанный компилятор (ну и верификатор, конечно).

> там предполагается, что ты выкладываешь один бинарник для всех платформ.

Хм, это 1) противоречит названию "_Native_ Client"; 2) ты можешь привести подтверждение из их research paper? Они говорят именно о "OS and browser-portable sandboxed x86 binary modules".

tailgunner ★★★★★
()
Ответ на: комментарий от Legioner

> Не совсем понимаю, как они запретят писать в любую память

Ну ты-то мог бы и прочитать :)

> но видимо можно.

Ога, запустить в отдельном процессе %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Ога, запустить в отдельном процессе %)

Ну там же всё равно будет какой-то "надсмотрщик", который будет перехватывать всякие нехорошие вещи. И в который можно писать. Хотя здесь видимо какие то принципы, аналогичные использующимся в отладчиках. В общем поверю :)

Legioner ★★★★★
()
Ответ на: комментарий от Nxx

> приложение будет работать только пока ты подключен к интернету и именно к сайту Гугла.

Больная фантазия ненавистников гугла рисует все более и более страшные картины. Интернет без гугла оказывается уже не работает.

> Отключил интернет - программа выдает "у вас нет прав использовать эту программу и бла бла бла".


ага И без плагина от гугл нельзя написать проприетарную программу которая выдаст такое окошечко при отключении интернета, ню-ню

szh ★★★★
()

Интересно, зачем вообще нужно встраивать в браузер "полноценные приложения"? Чем не угодили обычные gui-клиенты? Сдаётся мне, что лоровские параноики не так уж далеки от истины...

Hjorn
()

Мне от их недобраузера хром как-то не по себе, а тут еще и эта запускаловка приложений в броузере... Зачем? Уж лучше что-то знакомое, аля jre

anonymous
()
Ответ на: комментарий от fractaler

> Код, открытый под BSD в следующей версии можно и закрыть (пусть даже переименовать проект)

С GPL можно то же самое.

GFORGX ★★★
()
Ответ на: комментарий от Hjorn

>Интересно, зачем вообще нужно встраивать в браузер "полноценные приложения"?

Чтобы контролировать распространение, в основном.

>Чем не угодили обычные gui-клиенты?

Это ж кроссплатформанностью озаботиться надо, адское перенапряжение мозга для Ъ-Ынтерпрайз-разработчика.

>Сдаётся мне, что лоровские параноики не так уж далеки от истины...

Угу, крякнутый фотошоп не достать будет. Как жить дальше...

anonymous
()
Ответ на: комментарий от Legioner

> Не совсем понимаю, как они запретят писать в любую память, но видимо можно.

Запретить писать надо только в сегмент кода. А внутри данных -- делай что хочешь (поймаешь сегфолт -- ССЗБ). Это же не джава.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Legioner

> 1. Сервер отдаёт два разных бинарника.

Да.

> Значит имеет все традиционные проблемы с кроссплатформенностью.

Нет.

www_linux_org_ru ★★★★★
()

гугль представил кроссплатформенную технологию доставки вредоносного контента. Пока поддерживается только x86, но другие платформы на подходе. Технология переводит вредоносный контент на принципиально новый, кроссплатформенный виток развития.

annoynymous ★★
()
Ответ на: комментарий от Skull

>1. Эта штука такая же дырявая, как браузер от Google?

Бета-версия - безусловно.

>2. Когда ждать этот плагин для Konqueror?

Андрей, ты чего? У всех браузеров под Linux один и тот же API для плагинов.

Aceler ★★★★★
() автор топика
Ответ на: комментарий от szh

>А что они технологию под лицензией BSD открыли анонимус не удосужился обдумать. Впрочем чукча не читатель.

Умник, ты дальше своего носа нихрена не видишь, а уже другим оценки ставишь. Тут много ума не надо, чтобы понять почему BSD а не GPL. Альфа, бета версии будут откатаны на леммингах, а потом, когда популярность платформы перевалит барьер в 50%, можно смело закрывать и начинать драть бабло с лохов за раскрученную торговую марку и запаришься ты форкать старые версии, пытаясь догнать лидера на его же поле.

anonymous
()

Гугль идёт правильной дорогой, только так с вас, мартышек, можно будет снова брать деньги. И так вы чересчур оборзели со своим опенсорцем, пора вас к ногтю брать.

anonymous
()
Ответ на: комментарий от anonymous

> Умник, ты дальше своего носа нихрена не видишь, а уже другим оценки ставишь. Тут много ума не надо, чтобы понять почему BSD а не GPL. Альфа, бета версии будут откатаны на леммингах, а потом, когда популярность платформы перевалит барьер в 50%, можно смело закрывать и начинать драть бабло с лохов за раскрученную торговую марку и запаришься ты форкать старые версии, пытаясь догнать лидера на его же поле.

А зачем им его закрывать? Оно будет вечно открытое, свободное, и я не удивлюсь, если они ещё и доплачивать будут за его установку. Лишь бы красноглазики радостно юзали их проприетарные сервисы и похрюкивали от анального удовольствия.

anonymous
()
Ответ на: комментарий от Aceler

>Ну для запуска на ARM и PPC им придётся сделать виртуальную машину :)

Неа. Они будут опрашивать, типа, шо у тя за платформа, потом у ся компилить, потом те бинарник по сети... Этакий троянчек :)

vada ★★★★★
()

я рыдаю. дебилы "изобрели" недо-juice.

anonymous
()
Ответ на: комментарий от vada

Мда.. Кодить программы прикладного уровня на Си - интересно, почему не на Асме? Сделали бы высокоуровневый язык Googlang, как Ericsson в своё время - Erlang, а воевать с сишными строками и массивами ради браузерной апликухи - изврат.

anonymous
()
Ответ на: комментарий от anonymous

появятся всякие надстройки над этой хренью, содержащие в себе исходники интерпретаторов всяких питонов (компилируемые 1 раз, коды будут храниться в специальном кэше компиляции, как в генте), а грузиться будут только скрипты .. в общем ОС в браузере нас ждет.

капча fifects :)

anonymous
()
Ответ на: комментарий от anonymous

*вас* — может и да. а нас — нет: нафига это поделие ставить?

anonymous
()
Ответ на: комментарий от tailgunner

>Хм... это ж типа всему подряд капец.

С чего это? Ты что думаешь все резко под веб на Си писать начнут?

Читаю пейпер:

Трастед код (то есть код который имеет доступ к локальным ресурсам): must be installed as a native browser plugin; it can’t be implemented as a Native Client module.

И дальше:

service must assume that the image library is untrusted. The service is responsible for insuring that it only services requests consistent with the implied contract with the user.

То есть трастед апликейшен надо писать как плугин для бровзера (для каждого? под каждую ос?) который к тому же и сам себе режисер в обеспечении безопасности пользователя.

We allow 46 system calls, and disallow the rest. Ага. Да, KDE4.

The service runtime provides sbrk() and mmap(), malloc()/free(), subset of the POSIX threads, common POSIX file I/O interface

To prevent unintended network access, network system
calls such as connect() and accept() are simply omitted.

A partial list of opcodes disallowed by NaCl includes:
• syscall and int. Untrusted code cannot invoke the operating system directly.
• all instructions that modify x86 segment state, including lds, far calls, etc.
• ret. Returns are implemented with a sandboxing sequence that ends with an indirect jump.

we disallow memory addressing modes on indirect jmp and call
we disallow all other privileged/ring-0 instructions

Note that NaCl modules are 32-bit 80386 executables. The more recent 64-bit executable model is not supported.

outer sandbox using ptrace adds overhead since every system call, even if whitelisted, causes two context switches and a table lookup to determine if the system call is allowed.

Hardware exceptions (segmentation faults, floating point exceptions) and external interrupts are not allowed.

Windows Structured Exception Handling [42] is not supported.

....

Короче это такой занимательный аквариум который своим байткодом считает x386 инструкции и где есть процессор его поддерживающий - тем повезло.

Применение вижу скорее не в RIA, а в узкой области проигрывания видео во флешахсильверлайтах и других подобных штуках. Отсутствие возможности исполнения трастед кода очень ограничивает его применение.


r ★★★★★
()
Ответ на: комментарий от r

> Отсутствие возможности исполнения трастед кода очень ограничивает его применение.

Думаю, со временем возможности untrusted-кода будут расширены.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Думаю, со временем возможности untrusted-кода будут расширены.

Тогда появятся окошки те же самые мол "плугин лезет на вашу локальную FS - разрешить или ну его нафиг?"

r ★★★★★
()

В референсах ихней pdf-ки порадовало: "K. Kaspersky and A. Chang. Remote code execution through intel cpu bugs. In Hack In The Box (HITB) 2008 Malaysia
Conference."

имхо, google все же симпатичней m$ и adobe.

ktotuta
()
Ответ на: комментарий от r

> Тогда появятся окошки те же самые мол "плугин лезет на вашу локальную FS - разрешить или ну его нафиг?"

а потом появятся спец. папки в локальной ФС, куда плугины могут писать без разрешения.

anonymous
()

Google Native Client нужно будет ставить под каждую платформу? Тогда чем оно отличается от JRE?

anonymous
()
Ответ на: комментарий от r

> появятся окошки те же самые мол "плугин лезет на вашу локальную FS - разрешить или ну его нафиг?"

И что? NaCl не обязан быть плагином к браузеру - из него можно сделать небольшую ОС или обычное локальное приложение.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>NaCl не обязан быть плагином к браузеру - из него можно сделать небольшую ОС или обычное локальное приложение.

А от этого разве возможности трастед кода появятся? Как я понял из бумажки запрет там на трастед код не флажок в конфиге, а архитектурная особенность.

Что-то у меня подозрение, что основной мотив гугла в этом проекте - это разогнать свои медиасайты.

r ★★★★★
()
Ответ на: комментарий от r

К стати по поводу риа - разве что там появиться другой язык ( к стати возможно это будет жаба или жабаскрипт или что-то подобное) который будет компилится в эти "нативные" модули :)

Интересно как у них с перфомансом на менее x86 архитектурах.

r ★★★★★
()
Ответ на: комментарий от anonymous

Ещё один недоконкурент Rebol?

anonymous
()
Ответ на: комментарий от GFORGX

>С GPL можно то же самое.

Только в том случае, если нет сторонних включений под gpl

AVL2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.