Комментарии участников:
В конечном итоге исполняемые части сайта можно будет писать на JavaScript, C, C++, Rust, Go, C# и т.д. а после компилировать исходный код в исполняемый файл web-сайта.Интересно, а что в этом нового? Это и сейчас можно без проблем сделать? У меня целый сайт был написан на Pascal и работал достаточно шустро. Просто то, что заложено в эти языки и их идеология не соответствует идеологии вэб. За счет этого разработка более сложная и длительная
Такой подход заметно отличается от текущего метода, когда программы на JavaScript загружаются с веб-сервера на компьютер пользователя в виде текстовых файлов и затем интерпретируются браузером.Это ускорит загрузку только тех страниц, где преобладающая часть реализована на JavaScript-библиотеках. При обычных страницах, где JS или не используется или используется мало и в чистом виде выигрыш не очевиден.
Ключевая фраза в новости
Это позволит строить динамические монстрообразные ui =) Ваш КО.
Код на стороне клиента будет выполняться в 20 раз быстрее
Это позволит строить динамические монстрообразные ui =) Ваш КО.
Здесь более нормально описана эта технология. Видимо в СекьюритиЛаб сам автор публикации не совсем понимает о чем идет вообще речь.
Технология вообще относится лишь к той части, где сейчас используется JavaScript. И все заключается лишь в том, что бы скрипт компилировался не в браузере, а уже заранее скомпилированный хранился на сервере и таким передавался в браузер. Причем скомпилированный скрипт может быть написан не только на JavaScript, но и на других языках. Сейчас тестируется (или только планируется к разработке?) С/С++
Технология вообще относится лишь к той части, где сейчас используется JavaScript. И все заключается лишь в том, что бы скрипт компилировался не в браузере, а уже заранее скомпилированный хранился на сервере и таким передавался в браузер. Причем скомпилированный скрипт может быть написан не только на JavaScript, но и на других языках. Сейчас тестируется (или только планируется к разработке?) С/С++
Да нет, там много всякого другого. А через JavaScript это делали возможной использование основных тэгов html5 на старых браузерах.
На сколько я понимаю, он к html5 никакого отношения не имеет.
Еще раз — при упоминании html5 я только имел ввиду, что стандарт html5 разрабатывали более 10 лет!
Еще раз — при упоминании html5 я только имел ввиду, что стандарт html5 разрабатывали более 10 лет!
а, понятно) Ну да. Вон, всякие форматы сжатия изображений тоже более 10 лет разрабатывают, давно есть более эффективные чем jpeg, а все равно везде jpeg используют.
JavaScript именно как интерпретатор, разумеется, медленнее, чем переданный скомпилированный кусок кода. Но подумайте о безопасности — вы хотите, чтобы к вам сваливался кусок бинарника, который делает невесть что? JS давно изучен, вычищен, его даже поанализировать можно, а с бинарниками я думаю, это как с Applet'ами будет в свое время. Или типа технологии Flash — опять через плагин.
Да, иногда хочется чего-то новенького, чем JS, который стар как мамонт, но пока он свои задачи решает.
Да, иногда хочется чего-то новенького, чем JS, который стар как мамонт, но пока он свои задачи решает.
Прибавили работы для антивирусников и что хорошего? Как всё это будет анализироваться во время загрузки, или будет заранее создана проверенная, на безопасность, база? Поясните чайнику.
Т.е., ускоренная загрузка заранее заготовленных пирожков с учетом обязательной проверки и предварительного анализа антивируса, никакого ускорения не получится, так как антивирус не позволит загрузиться до окончания проверки. Так?
Ну типа того :) Правда и сейчас антивирусы анализируют трафик, немного снижая скорость загрузки сайтов. Блобы будут быстрее работать уже загрузившись. Но о мне так лучше и дальше бы пилили jit-компиляции всякие и быстрее переходили на HTTP/2. Очень много затупов у сайтов из-за несовершенства HTTP.
никак. бинарник по сути подразумевает передачу управления процессора самому коду.
интерпретатор — не совсем. Поэтому, интерпретатор безопаснее.
Да, можно сгородить «песочницу» под бинарник, или что-то виртуальной микро-машинки, но чем тогда это решение будет лучше интерпретатора?
В передаче управления процессора коду и кроется опасность.
Ибо как только я получил управление процессором — «тут-то мне карта и пошла!» :)
интерпретатор — не совсем. Поэтому, интерпретатор безопаснее.
Да, можно сгородить «песочницу» под бинарник, или что-то виртуальной микро-машинки, но чем тогда это решение будет лучше интерпретатора?
В передаче управления процессора коду и кроется опасность.
Ибо как только я получил управление процессором — «тут-то мне карта и пошла!» :)
На сколько я понял не совсем бинарника. Если будет исполняемый код, то это получается будет зависимость от процессора и кода. Скорее будет что-то на подобие Java
А для безопасности без возможности реассемблирования не очень получится.
А JavaScript при сжатии тоже особо не разберешь.
А для безопасности без возможности реассемблирования не очень получится.
А JavaScript при сжатии тоже особо не разберешь.
Сандбокс уже давно не понацея. ОС может защищена, а вот юзер как бултыхался, так и будет бултыхаться в вареве уязвимостей в этом сандбоксе…
чего? сэндбокс в том числе это и JVM к примеру. WebAssembly это виртуальная машина для исполняемого байт кода, этот байт-код может быть получен компиляцией с других ЯП. Будут там какие-то инструкции для I/O но только в рамках собственного окружения. Изолированные окружения лучше чем неизолированные, javascript по сути так и работает в браузере.
Я к тому, что если вы зашли на заражённый сайт, и расплатились там кредиткой, то никакой сандбокс вас не спасёт… Компалить все это новые приблуды придётся через задний проход с танцами и бубнами, как это обычно бывает, а разрабы и админы в последнее время довольно ленивые, возьмут скомпайленый блоб хрен знает от куда, хрен знает кем компиленый и захерачит себе на сайт. А если потом у пользователей все пароли или кредитки уведут, а с кем не бывает…
Парсеры делать будет сложнее несколько. На конфиденциальность браузеров я так думаю просто положат. А так один хрен. Закономерное развитие идеи о том, что твой ПК или телефон принадлежит не тебе.