1.1, Аноним (-), 22:06, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Uh-oh! WebAssembly isn't enabled in this browser. To get an early preview of this experimental technology, at your own risk:
on Chrome Canary, open chrome://flags/#enable-webassembly and enable the switch.
on Firefox Nightly, open about:config and set javascript.options.wasm to true.
See a preview of Microsoft Edge support and follow Safari support on WebKit's feature status page.
| |
|
|
|
|
5.41, Аноним (-), 10:47, 16/03/2016 [^] [^^] [^^^] [ответить]
| +17 +/– |
А тебе ещё нужно подучиться, чтоб знаки препинания не терять.
| |
|
|
|
|
1.2, Аноним (-), 22:15, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Мало того что сейчас всё больше сайтов состоят из нечитаемого JS, который в последствии добавляет элементы на страницу, хотя можно было бы без особых проблем вставлять в виде html сразу, так они теперь внедряют новый формат, в котором чтение человеком исходников затрудняется ещё сильнее.
| |
|
|
3.70, уупс (?), 15:00, 18/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Это такая стратегия отвлечения ресурсов конкурирующих групп на ненужные технологии
| |
|
2.5, Anonim (??), 22:35, 15/03/2016 [^] [^^] [^^^] [ответить]
| +9 +/– |
Есть функционал, а есть исходники. И это разные вещи. Доступность исходников - вопрос нравов людей.
А вот технически - код должен быть как можно более быстрым. И тут бинарь выигрывает у текста JS
| |
|
3.12, Аноним (-), 23:21, 15/03/2016 [^] [^^] [^^^] [ответить]
| +6 +/– |
Я не вижу особого смысла в веб приложениях. К примеру меня например целиком бы утраивала возможность скачать видео одной программой, а смотреть другой. Документы редактиовать в нативном редакторе. А так получается куча слоёв, где чем больше, тем медленнее.
| |
|
4.23, dev (??), 01:51, 16/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Я не вижу особого смысла в веб приложениях.
Кроссплатформенность?
| |
|
5.37, Аноним (-), 09:53, 16/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
У разработчиков нативных приложений морока с кроссплатформенностью, у веб-разработчиков -- с кроссбраузерностью. В этом плане принципиальной разницы нет, зато веб куда лучше подходит для реализации принципа "жрите, что дают" и вендор-лока "куда ж вы денетесь с подводной лодки".
| |
5.44, Аноним (-), 11:59, 16/03/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Кроссплатформенность?
Ответ неправильный. Один поддерживаемый браузер строго последней версии и ещё два в режиме "работает и ладно" (и всё это максимум на 3 ОС и на 1 аппаратной платформе) это не кроссплатформенность.
Правильный ответ - отсутствие необходимости устанавливать софт и отсутствие необходимости иметь админские права на своём компе для запуска софта. При терпимом уровне производительности.
| |
|
4.32, Илья (??), 06:13, 16/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
>Я не вижу особого смысла в веб приложениях.
продавать подписку в облаках
| |
|
3.31, Илья (??), 06:12, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> бинарь
универсальный низкоуровневый промежуточный код
| |
|
4.34, Аноним (-), 07:16, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
как резали в разметке - так и режьте.
с другой стороны, как резать рекламу в заведомо "орекламленых" материалах? Например какое-то время назад на ленте можно было с помошью марки чая включить только хорошие новости
| |
4.56, Аноним (-), 16:51, 16/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> и как в этом бинаре рекламу резать?
Ну вот так. Всегда можно придумать новый способ показа рекламы, который не берут существующие адблокеры. В ответ можно сделать новый адблокер, который справится и с такой рекламой.
| |
|
|
2.9, Crazy Alex (ok), 22:56, 15/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
Оно декомпилируется до текстового представления открытым общедоступным софтом. Результат - менее страшен, чем asm.js, так как костылей вроде |0 и подобного нет.
Но, конечно, суть любого веб-приложения - отобрать у пользователя/администратора контроль над кодом.
| |
|
3.38, Аноним (-), 10:11, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> суть любого веб-приложения - отобрать у пользователя/администратора контроль над кодом
Не только над кодом, но и, в некотором смысле, данными: нативное приложение можно изолировать от внешнего мира, бекапить что надо и когда надо, самостоятельно распоряжаясь своими данными; с веб-приложениями такое невозможно просто по определению, там всё держится исключительно на доверии к разработчикам/владельцам сервиса, которые могут втихаря делать всё, что им заблагорассудится.
| |
|
4.63, Ano (?), 18:03, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> суть любого веб-приложения - отобрать у пользователя/администратора контроль над кодом
> Не только над кодом, но и, в некотором смысле, данными: нативное приложение
> можно изолировать от внешнего мира, бекапить что надо и когда надо,
> самостоятельно распоряжаясь своими данными; с веб-приложениями такое невозможно просто
> по определению, там всё держится исключительно на доверии к разработчикам/владельцам сервиса,
> которые могут втихаря делать всё, что им заблагорассудится.
А ваше нативное приложение где находится ? Если у разработчиков сервиса, то чем "распоряжаюсь данными" отличается от веб ? Если приложение у вас, то и веб-приложение поставьте себе и не парьтесь. Если не хотите ставить, то зачем сравнивать приложения, когда надо сравнивать среду выполнения+хранения
| |
|
5.66, Crazy Alex (ok), 20:32, 17/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Есть такое понятие - "экосистема". Вот веб-приложение поставить себе, да ещё так, Чтобы оно не обновлялось само - довольно сложно. А вот нативные приложения в этом плане проще, и данные обычно в них проще хранить. Ну вот сложилось так. Да, теоретически можно и для веб-приложений сделать всё красиво - но вот не делают. А для натива - всё есть, как правило.
| |
|
|
|
|
|
2.14, anonymous (??), 23:24, 15/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Весь javascript - это с самого начала попытка изобрести JVM, проходящая под лозунгом "главное, что не джава", при том что задачи джавы всё больше пытаются решать на js. Хотя могли для скриптов взять common lisp или схемку, как это сделал GNU проект (guile), и не изобретать велосипед.
А вебасембли - это ещё один шаг к jvm. Народ заметил, что в яваскрипт умеют компилироваться сотни языков программирования, а значит парсить сгенерированный компилятором яваскрипт - лишняя работу, пусть лучше компилятор предоставляет сразу AST.
| |
|
3.18, Crazy Alex (ok), 00:23, 16/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Оно к джаваскрипту имеет примерно такое отношение, как Си - к Питону. WebAssembly - гораздо более никоуровневая штука, чем JVM. Тем и хорошо. Ну и тем, что, в отличие от JVM, по пять лет не надо новых фич ждать.
| |
|
4.26, h31 (ok), 02:51, 16/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> WebAssembly - гораздо более никоуровневая штука, чем JVM.
Эм, что?
Java-байткод - это почти ассемблер, только для абстрактной (виртуальной) машины.
WebAssembly - это просто готовое AST в бинарном виде. По сути те же исходники, только уже распарсенные и немного обработанные.
Грубо говоря, сравнивая с изображениями. Исходный код - это PostScript. WebAssembly - это PDF. Java-байткод - PNG. Ассемблер реальной машины - BMP.
| |
|
5.28, Crazy Alex (ok), 03:32, 16/03/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
Java-байткод оперирует объектами, ссылками, массивами и прочим высоким уровнем. вот практически первые попавшиеся из описания instruction set:
aaload - Load reference from array
aconst_null - Push the null object reference onto the operand stack.
anewarray - Create new array of reference
arraylength - Get length of array
Для сравнения - опкоды WebAssembly:
I32Store8 - записать int32 32 бита по 32-битному адресу
I32StoreOff8 - записать i32 значение по i32 адресу с i32 смещением
и так далее - их там куса похожих.
Там существующие на уровне опкодов сущности - инты, флоаты, смещения по адресу в куче - то есть куда более низкоуровневые штуки. Собственно, поэтому в WebAssembly без особого труда ложится Си и поэтому там можно, например, реализовать какое угодно управление памятью.
| |
|
6.30, Аноним (-), 05:30, 16/03/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ок, у JVM и WebAssembly разные "процессоры", и? Что из этого следует кроме того, что в WebAssembly проще реализовать переполнение буфера?
| |
|
7.39, Аноно (?), 10:12, 16/03/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
Следует то, что кроме переполнения там реализуется ещё и очистка неиспользуемой памяти без глючных сборщиков мусора и оптимизация кода вручную, что как показывает практика C/C++ ускоряет программы в разы. Часто - в десятки раз.
| |
7.49, Crazy Alex (ok), 14:36, 16/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Следует то, что у WebAssembly более низкий уровень абстракций, о чём я и говорил с самого начала. Ну и всё, что из этого следует - любые модели управления памятью, отсутствие необходимости привязываться к джавовским методам (в частности - можно иметь свободные функции) и так далее. Что означает, что туда проще портировать разнообразные языки и среды.
| |
|
|
|
|
|
2.47, None (??), 13:41, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
они изобрели НЕОТКЛЮЧАЕМЫЙ JVM, флэш и всё прочее в одном флаконе.
При том, что уже сейчас без NoScript ходить по страничкам невозможно.
| |
|
3.57, Аноним (-), 16:54, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> они изобрели НЕОТКЛЮЧАЕМЫЙ JVM, флэш и всё прочее в одном флаконе.
Почему же неотключаемый? Ставишь uMatrix какой-нибудь. Если даже не умеет - скоро научится.
> При том, что уже сейчас без NoScript ходить по страничкам невозможно.
Если ты разрешаешь выполнение кода - то уж разрешаешь. JS - тюринг полный, он может то же что и WASM и любой другой ЯП. Только криво, медленно и с огромным потреблением памяти.
| |
|
|
1.7, Аноним (-), 22:40, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Вы этим бинарником моделировать что-то собрались? Нет? Ах, да, Вы решили купить и поиграть в игрушку, которую ленивые разработчики поленились собрать в нормальный бинарник под вашу платформу... Но это уже никого, кроме покупателя не касается.
| |
1.8, EuPhobos (ok), 22:47, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Гугол хром завис, крикнул пару раз, что скрипт на странице жрёт и жрёт и его надо прибить, что и было сделано, но asmjs в режиме fallback заработал.
В файрфоксе всё заработало, и WebAssembly и asmjs, первый раз вижу встраиваемый Unity3D под линуксами:
https://youtu.be/QdG3-XrJjBo
| |
|
2.17, Dragonic (ok), 23:56, 15/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> первый раз вижу встраиваемый Unity3D под линуксами
Это вариант на WebGL, без плагина, которого без костылей не было под линукс
| |
|
1.11, Семен (??), 23:17, 15/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Это же суперкруто. Скоро не будет программулин под Винду и/или Линукс.
Конец всем спорам.
Хотя... А можно браузер под браузером в браузере запустить?)
| |
|
|
3.19, Crazy Alex (ok), 00:30, 16/03/2016 [^] [^^] [^^^] [ответить]
| +5 +/– |
Чего ради? Оно стаически типизированное и отлично компилируется в машинный код. Его проблемы (или преимущества - для кого как) связаны исключительно с отсутствием контроля пользователя над кодом, как и с JS. В остальном - вполне рабочий подход.
| |
3.27, Аноним (-), 02:57, 16/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не факт что сильно медленнее кода на java или .net исполняемого тоже виртуальной машиной, и скорее всего быстрее обычного жс, пайтона и прочих скриптовых языков.
| |
|
4.29, Crazy Alex (ok), 03:35, 16/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Быстрее - там, по факту, и виртуальной машины-то нет толком, просто промежуточное представление для AOT-компилятора. По идее, скорость должна быть на уровне NaCl - то есть практически натив.
| |
|
|
2.15, анонко (?), 23:29, 15/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Хотя... А можно браузер под браузером в браузере запустить?)
ну так запустили же вынь95 в браузере
| |
|
|
4.59, Аноним (-), 17:00, 16/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Очень тормозной, у меня на ARM малохольном линукс быстрее грузится чем это на огроменном восьмиядернике. А ASM.js еще и файрфокс подразумевает. Не портабельно.
| |
|
|
2.16, rshadow (ok), 23:51, 15/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Так их и сейчас нету. Вопрос только в используемых тулкитах и либах.
| |
|
3.21, pavlinux (ok), 00:31, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Так их и сейчас нету. Вопрос только в используемых тулкитах и либах.
Как запустить SolidWorks/AutoCAD под Linux?
| |
|
4.60, Аноним (-), 17:05, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Как запустить SolidWorks/AutoCAD под Linux?
Установить вайн и запускаешь. А чтобы нарисовать деталь в DXF, которую потом вырежет лазерный резак хватит и какого-нибудь librecad'а.
| |
|
|
|
1.43, Асушник (?), 11:39, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Среди основных задач WebAssembly выделяется обеспечение переносимости между браузерами,
Вообще-то подобные проблемы решаются стандартизацией, а не еще одной технологией, "которая-то уж точно будет всеми реализована 100% соответственно спекам, без своих дополнений и особенностей". Так бы сразу и сказали, что просто с веб-бинарей тяжелее будет рекламу вырезать ))
| |
|
2.46, Никто (??), 13:36, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Тут нет противоречия. Ведь не сказано, что технология разрабатывается только для этого, а является лишь одной из основных задач.
| |
2.50, Crazy Alex (ok), 14:41, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
Один хрен реклама вырезается либо на этапе загрузки из сети либо из DOM, в этом плане ничего не меняется.
Шансы на совместимость неплохие - потому что сама эта штуковина гораздо проще, чем 9/10 современных браузерных технологий. Различия, скорее всего, будут на уровне "инструкции процессора Intel vs инструкции AMD".
А стандартизацией, как показывает практика, в вебе мало что решается.
| |
|
1.45, Аноним (-), 13:26, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"Textual encoding will be standardized before stable release" это про кодировку текстовых данных, а не про текстуры.
| |
1.52, Онаним (?), 15:31, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Думаю скоро JavaScript перестанет быть "родным языком браузера", будет куча равноправных языков, компилируемых в этот WASM или что-то аналогичное.
| |
1.53, anonchik (?), 15:49, 16/03/2016 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
наконец-то можно будет выкинуть это недоразумение (javascript) и писать на нормальном c++ для браузера
| |
|
2.54, Аноним (-), 16:27, 16/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Тогда уязвимостей связанных с управлением памятью станет ещё больше.
| |
|
3.61, Аноним (-), 17:09, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Тогда уязвимостей связанных с управлением памятью станет ещё больше.
Если код в VM хочет сам себя хакнуть - он и с JS это может, document.write же есть, может поменять все что захочет в контексте документа, включая замену кода. А расхакать за пределами VM не позволит VM. Иначе зачем вообще VM нужна? Можно было просто качать и компилировать.
| |
|
|
3.62, Аноним (-), 17:10, 16/03/2016 [^] [^^] [^^^] [ответить]
| +/– |
> но зачем?
Затем что JS хорош только для совсем мелких проектов. А захочешь например игру написать - от JS одни проблемы уже.
| |
3.64, anonchik (?), 18:29, 16/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
в настоящее время, плюсы — единственный адекватный язык программирования
| |
|
4.65, _ (??), 12:45, 17/03/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Думаю уже нет. Появились более удобные языки Rust, D, Swift.
по поводу WASM: у RUST очень хорошие шансы стать самым подходящим для этой задачи:
на нём будет новый файрфокс(Servo), Luke Wagner, один из соавторов формата, разработчик mozilla Research
| |
|
5.67, Аноним (-), 22:10, 17/03/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Думаю уже нет. Появились более удобные языки Rust, D, Swift.
И где на них всех хоть 1 крупный проект, размером с современный 3D движок какой-нибудь игры? Почему-то игроделы дружно используют плюсы.
| |
|
|
|
|
|