Pull to refresh
1
0
Кирилл @pkirill

User

Send message

Попробуйте найти мой доклад на YouTube по словам JPoint Праздников. Там как раз про то как делать веб на java

С моей колокольни было бы круто иметь доступ к WebGL например. И там по сути даже не нужны JSObjects, там по факту везде int типы (см Angle)

Ну а доступ к дому очень сложен, там есть доступ к JS объектам, а их лучше держать подальше от wasm

На а количество дыр и лазеек в Java Applets было огромное. Сам работал в Sun Microsystems :)

Хорошо что это изгнали из веба

Вот эта репа - самый отличный пример. Там очень понятный readme как собрать. Ещё немного примеров в репе самого teavm. Посмотрите мой доклад, там с пояснениями и картинками

https://youtu.be/QHbYXDobo3k?si=81ZNJleJ4nNuGI1u

В JS. Так же как и TS compiler перегоняет TS в JS

Ну да это же java код для веба. Но на JS этот самый пример не будет больше, скорее даже сильно меньше

Поверь, никаких хитростей, всё в репе, всё там, всё open source

Извините, телефон чудит

https://github.com/SuduIDE/sudu-editor/tree/master/wasm-test/src/main/java/org/sudu/experiments/demo/wasm

Много обвязок можно и не писать, если есть 5 мин вот посмотрите на мой пример. По моему там их почти нет :)

Это специально, чтобы нельзя было совмещать с java и сделать такой вендор Лок?

Именно так

почему может не взлететь WebAssembly

С моей точки зрения WebAssembly уже взлетел и его отлично применяют. А Java Applets и Silverlight не взлетели из за огромного числа дыр в безопастности, которые в WebAssembly изначально при проектировании были тщательно проработаны.

Ну а на замену Java Applets пришли отличные AOT компиляторы компилирующие приложения в JS: https://habr.com/en/articles/240999/ (а с тех пор это всё очень сильно развивается, почти 10 лет прошло)

Еще есть отличная статья про WebAssembly от автора TeaVM: https://habr.com/en/articles/757182/

Скорость очень хорошая

все равно нужно транслировать бинарный формат в инструкции процессора

Это, конечно, надо, беэ этого сложно. Но надо отдать должное что WASM именно так изначально проектировался чтобы эта трансляция была очень очень быстрой, в отличие от трансляции JS.

И в трансляция идёт тоьлко 1 раз на загрузке модуля, а потом модуль исполняется уже продолжительное время и никакой трансляции там уже нет.

В том смысле что для того чтобы собирать WASM таргеты именно clang входящий в emscripten не является обязательным условием, стандартный clang от llvm.org поддерживает WASM из коробки. emscripten - это именно набор библиотек и генератор обвязки JS, напирмер в нём реализован "void * operator new(unsigned);" и.т.д. Но и генереная обвязка JS тоже не есть обязательное условие, я например, на java декларирую API WASM модулей.

Например вот https://github.com/SuduIDE/sudu-editor/blob/master/wasm-test/src/main/java/org/sudu/experiments/demo/wasm/WasmTest.java#L19

2 и 3 это одно и тоже

clang в emscripten это просто релиз от llvm.org, тот что второй тоже умеет собирать Wasm таргеты

Да, там тоже clang, но другой. :)

Это clang от llvm.org, а у вас от Apple.

Да там он там весь типичный :)

эта политика чтобы больше покупали IDEA

так у меня в докладе есть пример

и мой новый проект, и старый

https://github.com/SuduIDE/sudu-editor

Я на самом деле копаю ещё глубже, я делаю такой фронт чтоб работал и на десктопе и на айфоне, везде. Просто писать фронт под DOM сильно проще.

Я могу рассказать зачем. Я в JB работал 10 лет. Но это очень долго. Например затем чтобы нельзя было использовать java. Kotlin не совместим с java: категорически нельзя использовать java в KT native или в KT JS. Понятно чтобы продвигать KT. Автор TeaVM тоже там работал :) но как узнал "политику" партии ушёл. Т.к. у него было желание сделать именно компилятор из байт кода, но это не совместимо с политикой KT.

Смыл использовать код на С, С++, и Rust огромный. Например переиспользование библиотек

1

Information

Rating
Does not participate
Location
Всеволожск, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity