Здравствуйте, Mamut, Вы писали:
M>>>Языки без GC не спешат компилиться в wasm, вы все не поверите, потому что в wasm'е нет поддержки GC
M>Все слова на месте. Ты сядь. Почитай вдумчиво. Авось, поймешь. Можешь вслух прочитать, это помогает.
Хороший совет, попробуй применить на практике.
Дам подсказку — каким образом отсутствие GC может помешать языкам, которым GC и не нужен?
Здравствуйте, Masterspline, Вы писали:
M>Насчет скорости. Kotlin Native ориентировали для написания прикладных приложений, в первую очередь как замена Swift на iOS. Там скорость работы не приоритет (в разумных пределах).
Я так понимаю, там просто у них еще руки не дошли заняться оптимизацией, первая задача была — чтобы хоть как-то заработало. Потом если дойдут руки, займутся и скоростью.
Здравствуйте, alex_public, Вы писали:
_>Ого, вот это реально круто. Вообще несравнимо по скорости загрузки и работы с известными демками на Qt скомпилированной под JS. Правда тут и функционал GUI библиотечки пока очень ограниченный. Но думаю это только вопрос времени.
Нифига не круто. Только что выглядит получше чем AWT 1.0, или на чем там рисовали в 90-е, но тут надо учесть что железо стало круче на порядок.
Поразительное хождения по одним и тем же граблям в течении десятков лет. Это не Web 2.0, a апплеты 2.0 с абсолютно одинаковыми проблемами:
a) Медленно, очень медленно. Так медленно, что пользоваться нельзя от слова совсем и это на демке. Для реализации на нативном языке — позор.
б) Wеb-инфраструктура потеряна: хороших урлов нет, поиска нет, шорткаты не работают, скрэпинг не работает, кроулеры не индексирует
Но теперь есть еще и новая проблема: все преписывать на языках без gc и просадить продуктивность на порядок. Если что я знаю про блейзер, но тащить громадную и скорее всего плохо совместимую VM по проводу не есть гуд.
P.S. Последнее "круто", которое было в вебе у меня до сих пор гуглмэпс.
Здравствуйте, novitk, Вы писали:
N>a) Медленно, очень медленно. Так медленно, что пользоваться нельзя от слова совсем и это на демке. Для реализации на нативном языке — позор.
Что именно медленно? У меня всё потрясающе быстро и плавно. Причём даже на слабом андроиде, что особенно поразило. На котором тот же РСДН тормозит больше, чем этот редактор. Может у тебя тоже проблемы с драйверами? Собственно скорость меня тут и поразила. Я такую скорость в нативных приложениях далеко не всегда встречаю, а в вебе и подавно.
N>б) Wеb-инфраструктура потеряна: хороших урлов нет, поиска нет, шорткаты не работают, скрэпинг не работает, кроулеры не индексирует
Ничего не потеряно, всё на месте. Урлы прикручивай как душе угодно, апи никуда не девалось. Шорткаты прикручивай какие угодно. Кроулеры приложениям не нужны.
N>Но теперь есть еще и новая проблема: все преписывать на языках без gc и просадить продуктивность на порядок.
Зачем тебе переписывать на языках без GC? Пиши на чём угодно. Это же возможность, а не обязательство.
Здравствуйте, vsb, Вы писали:
vsb>Что именно медленно? У меня всё потрясающе быстро и плавно. Причём даже на слабом андроиде, что особенно поразило.
Слабом андроиде? Как ты там скорость мерил без клавы? Ессно с деревом все нормально, там рендерить нечего, а вот клавометания по файлу тормозят.
Google Chrome 78.0.3904.87 (Official Build) (32-bit)
Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 6
64GB
Графическая карта говно(NVidia NVS 310), но это же не Fortnight.
vsb>На котором тот же РСДН тормозит больше, чем этот редактор. Может у тебя тоже проблемы с драйверами? Собственно скорость меня тут и поразила. Я такую скорость в нативных приложениях далеко не всегда встречаю, а в вебе и подавно.
РСДН не тормозит, N++ не тормозит, Sublime не тормозит, Емакс не тормозит, IntelliJ не тормозит.
N>>Но теперь есть еще и новая проблема: все преписывать на языках без gc и просадить продуктивность на порядок. vsb>Зачем тебе переписывать на языках без GC? Пиши на чём угодно. Это же возможность, а не обязательство.
Затем, что если раст в демке тормозит, то что тогда говорить о Яве.
K>>Штука — огонь. Смешивать её и HTML5/Ангула можно? Это же можно напилить часть UI стандартно, а часть через WASM.
M>Нельзя. У wasm'а нет доступа к DOM'у
А если встроить его в html через тэг вроде <wasm></wasm>? Я далёк от всего этого, но всякие видео плееры или интерактивные графики было бы очень круто делать через васм когда остальной UI рисуется старндартным способом. У васм есть доступ к кодекам браузера, например, или к апи шифрования и т.п.
Здравствуйте, Ночной Смотрящий, Вы писали:
_>>Неполноценная — это построенная поверх html+js. НС>В чем неполноценность js+html?
JS+HTML — это вообще не GUI библиотека. Основная GUI библиотека в браузере — это грубо говоря большая часть DOM. По сути это абсолютно классическая ОПП библиотека, написанная на C++ (на все эти классы в стиле MFC можно легко глянуть например в исходниках Хрома). Но у неё есть два существенных отличия:
1. Дикая бедность. В этой библиотеке контролов выбор намного меньше, чем в какой-нибудь TurboVision под DOS!
2. Доступ к библиотеке ограничен убогими html+js. Точнее HTML убогий естественно не сам по себе, а именно в применение для создания GUI, т.к. изначально он создавался совсем для другого (презентации научных отчётов, ну и в современности отлично подходит для статических сайтов).
В сочетание этих факторов получаем современный ад в разработке под браузер. Базовых возможностей естественно никому не хватает и каждый пилит свой велосипед, причём убогими средствами (html+js). В итоге получаем современных зоопарк уродцев, меняющихся каждый год — уже давно даже разбираться лень, кто в этом году считается наименее уродливым...
Здравствуйте, novitk, Вы писали:
_>>Ого, вот это реально круто. Вообще несравнимо по скорости загрузки и работы с известными демками на Qt скомпилированной под JS. Правда тут и функционал GUI библиотечки пока очень ограниченный. Но думаю это только вопрос времени. N>Нифига не круто. Только что выглядит получше чем AWT 1.0, или на чем там рисовали в 90-е, но тут надо учесть что железо стало круче на порядок. N>Поразительное хождения по одним и тем же граблям в течении десятков лет. Это не Web 2.0, a апплеты 2.0 с абсолютно одинаковыми проблемами: N>a) Медленно, очень медленно. Так медленно, что пользоваться нельзя от слова совсем и это на демке. Для реализации на нативном языке — позор.
А где конкретно медленно? Я там особо не тестировал специально, так, полазил немного. Но вроде ни единого торможение не увидел. Может у тебя там тоже с OpenGL проблемы (например сидишь под Линухом и не ставил родные драйверы от карты)?
N>б) Wеb-инфраструктура потеряна: хороших урлов нет, поиска нет, шорткаты не работают, скрэпинг не работает, кроулеры не индексирует
Так оно вроде не для обычных сайтиков, а для приложений...
N>Но теперь есть еще и новая проблема: все преписывать на языках без gc и просадить продуктивность на порядок. Если что я знаю про блейзер, но тащить громадную и скорее всего плохо совместимую VM по проводу не есть гуд.
Как насчёт продуктивности скажем Питона? Он уже без проблема доступен в браузере именно через wasm...
Здравствуйте, Kernan, Вы писали:
K>>>Штука — огонь. Смешивать её и HTML5/Ангула можно? Это же можно напилить часть UI стандартно, а часть через WASM. M>>Нельзя. У wasm'а нет доступа к DOM'у K>А если встроить его в html через тэг вроде <wasm></wasm>? Я далёк от всего этого, но всякие видео плееры или интерактивные графики было бы очень круто делать через васм когда остальной UI рисуется старндартным способом. У васм есть доступ к кодекам браузера, например, или к апи шифрования и т.п.
Ой, да есть там весь доступ (wasm код может вызывать любую js функцию на странице и наоборот, можно вызывать wasm функции из js), только он пока не прямой (типа нормального нативного API, в стиле CreateWindow в WIN32), а через вызов функций JS. Именно это имел в виду Mamut. Ну и да, это плохо для случая потребности высокой производительности таких вызывов. Но если таких требований нет, то всё отлично работает и прямо сейчас. Я же кидал уже ссылку на пример.
Правда лично я считаю, что лучше бы полностью забывать про html и js (оставим им нишу статических сайтов) для подобных веб-приложений и рисовать целиком всю область экрана только через WebGL (как и сделано в обсуждаемом примере).
Здравствуйте, alex_public, Вы писали:
_>>>Неполноценная — это построенная поверх html+js. НС>>В чем неполноценность js+html? _>JS+HTML — это вообще не GUI библиотека.
Почему?
_> Основная GUI библиотека в браузере — это грубо говоря большая часть DOM.
Что в лоб, что по лбу.
_>1. Дикая бедность. В этой библиотеке контролов выбор намного меньше, чем в какой-нибудь TurboVision под DOS!
Это не так. Контролы вполне себе пишутся на JS на основе готовых примитивов.
_>2. Доступ к библиотеке ограничен убогими html+js.
Пошли по кругу. Почему он убогий?
_> Точнее HTML убогий естественно не сам по себе, а именно в применение для создания GUI, т.к. изначально он создавался совсем для другого
Это неважно для чего он создавался изначально, и не является ответом на заданный вопрос.
_>В сочетание этих факторов получаем современный ад в разработке под браузер.
В чем состоит этот ад?
_> Базовых возможностей естественно никому не хватает и каждый пилит свой велосипед
Количество велосипедов в итоге не так уж велико и сократилось до angular/react/vue.
_>, причём убогими средствами (html+js)
Они убоги потому что они убоги. Отличный ответ.
_>. В итоге получаем современных зоопарк уродцев
Здравствуйте, alex_public, Вы писали:
_>А где конкретно медленно? Я там особо не тестировал специально, так, полазил немного. Но вроде ни единого торможение не увидел. Может у тебя там тоже с OpenGL проблемы (например сидишь под Линухом и не ставил родные драйверы от карты)?
Текстовый редактор конечно, там больше и нет ничего. Винда, нормальное железо, видеокарта не топ.
_>Так оно вроде не для обычных сайтиков, а для приложений...
Граница имхо довольно тонкая. Например много умельцев сделают на этом таблички, которые будут красиво выглядеть и возможно даже быстро ездить, только в них будет не работать поиск, зум или буффер обмена, как у этого чуда.
_>Как насчёт продуктивности скажем Питона? Он уже без проблема доступен в браузере именно через wasm...
ppci? Никак, это наколенная поделка, которая такой и останется пока нет доступа к DOM-u.
_>>1. Дикая бедность. В этой библиотеке контролов выбор намного меньше, чем в какой-нибудь TurboVision под DOS! НС>Это не так. Контролы вполне себе пишутся на JS на основе готовых примитивов.
Каких таких примитивов?
_>>2. Доступ к библиотеке ограничен убогими html+js.
НС>Пошли по кругу. Почему он убогий?
Браузеры предоставляют только одну модель: однослойное 2D-окно с некоторыми хаками эмуляции многослойности (z-index, float и position: absolute/fixed). И все — в едином глобальном пространстве. Для создания банального модального диалога.
То есть даже такая простая операция, как «показать модальный диалог с анимацией при открытии и закрытии» становится танцами с бубном.
M>>Нельзя. У wasm'а нет доступа к DOM'у K>А если встроить его в html через тэг вроде <wasm></wasm>?
Что значит «встроить»? wasm выполняется в отдельном процессе, и у него нет ничего, кроме собственно выполнения кода. Весь доступ к окну браузера происходит через JS-заглушки.
K>У васм есть доступ к кодекам браузера, например, или к апи шифрования и т.п.
Здравствуйте, novitk, Вы писали:
N>a) Медленно, очень медленно. Так медленно, что пользоваться нельзя от слова совсем и это на демке. Для реализации на нативном языке — позор.
Что именно медленно? Я ничего медленного не заметил.
N>б) Wеb-инфраструктура потеряна: хороших урлов нет, поиска нет, шорткаты не работают, скрэпинг не работает, кроулеры не индексирует
Что нифига не мешает повальному распространению SPA.
N>Но теперь есть еще и новая проблема: все преписывать на языках без gc и просадить продуктивность на порядок.