Я могу рассказать зачем. Я в JB работал 10 лет. Но это очень долго. Например затем чтобы нельзя было использовать java. Kotlin не совместим с java: категорически нельзя использовать java в KT native или в KT JS. Понятно чтобы продвигать KT. Автор TeaVM тоже там работал :) но как узнал "политику" партии ушёл. Т.к. у него было желание сделать именно компилятор из байт кода, но это не совместимо с политикой KT.
Я пишу фронт на java (sudu-editor), и там у меня тоже есть примеры интеропа с Wasm, но я там не использовал ни обвязок ни библиотек emscripten. В целом это опционально. А без компилятора никак
Я последнее время делаю протируемые проекты и тема мне хорошо знакома.
Например sudu-editor. Даже на JPoint выступил с докладом.
Я сам очень полюбил jni, и его брата @CFunction в граале и в TeaVM. Но обший тренд - никто это делать не любит. Наше все JNA, а он страшен и медленный.
Я всегда использую delete для массивов примитивов (ну и unique_ptr a = new int[10]). По моему единственный смысл в delete[] только в вызове vector_deleting_destructor, что не применимо для базовых типов.
В отсутствие конструкторов и деструкторов new и delete аналогичны вызовам
operator delete(operator new(17));
Исключением может быть гипотетическая система в которой new int; и new int[2] реализованы разными алгоритмами, что, по моему, лишено смысла.
Нет не верно. Например из NDK можно вызвать функции OpenGL напрямую, а из webAsm нельзя вызывать. В webasm можно вызвать метод на JavaScript (вывалиться назад из Webasm в JS), а уже из JS вызывать webGl.
Да, там тоже 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 огромный. Например переиспользование библиотек
Я пишу, вот мой доклад
https://www.youtube.com/watch?v=QHbYXDobo3k
Я пишу фронт на java (sudu-editor), и там у меня тоже есть примеры интеропа с Wasm, но я там не использовал ни обвязок ни библиотек emscripten. В целом это опционально. А без компилятора никак
Ну понятно что вызов синхронный, как и обратный вызов JS из Wasm. Все в одном стеке
Webassembly прекрасно исполняется и не только в основном потоке, а так же на любых других (Worker) потоках.
Emscripten это же не компилятор, компилятор там llvm. Emscripten это набор библиотек напоминающих stdlib + обвязка на JS упрощающая.
Только он умеет и котлин и java, в отличии от kotlinJS, в котором java запрещена
Я последнее время делаю протируемые проекты и тема мне хорошо знакома.
Например sudu-editor. Даже на JPoint выступил с докладом.
Я сам очень полюбил jni, и его брата @CFunction в граале и в TeaVM. Но обший тренд - никто это делать не любит. Наше все JNA, а он страшен и медленный.
Но проекты пишут на java, С#, JS.
В отсутствие конструкторов и деструкторов new и delete аналогичны вызовам
operator delete(operator new(17));
Исключением может быть гипотетическая система в которой new int; и new int[2] реализованы разными алгоритмами, что, по моему, лишено смысла.
Нет, не убили, см GWT, TeaVM.
Все верно. WebGL, WebAudio, Video, Network в WebAsm не доступны. Можно только складывать и умножать и писать в массив.
Нет не верно. Например из NDK можно вызвать функции OpenGL напрямую, а из webAsm нельзя вызывать. В webasm можно вызвать метод на JavaScript (вывалиться назад из Webasm в JS), а уже из JS вызывать webGl.