Re[2]: что не так с WebAssembly?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 11.04.25 04:03
Оценка: 5 (2) -1 :)
Здравствуйте, karbofos42, Вы писали:

K>Будет тот же Microsoft дальше свой Blazor развивать и не кинет как с Silverlight — постепенно доля вырастет.


Silverlight жив под именем OpenSilver и работает как раз через We assembly.
Re[3]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 05:26
Оценка:
Здравствуйте, koenig, Вы писали:

K>так что осталась только ниша "скомпилировать сишный код который и так уже где-то работает"

K>что тоже неплохо, но от былой славы не осталось и следа

Не только С-шный, но и высокоуровневый C++ с умными указателями, которые в не слишком кривых руках не особо уступают GC.
=сначала спроси у GPT=
Re[4]: что не так с WebAssembly?
От: koenig  
Дата: 11.04.25 05:32
Оценка:
S>Не только С-шный, но и высокоуровневый C++ с умными указателями, которые в не слишком кривых руках не особо уступают GC.

глубочайшим образом побарабану
берешь с/с++ и компилишь
что там с мемори менеджментом тебе глубоко похрен, лишь бы не текло слишком быстро — смысл в том, чтобы готовый код использовать, а не в том, чтобы писать на каком-то там языке
Re[5]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 05:38
Оценка:
Здравствуйте, koenig, Вы писали:

K>глубочайшим образом побарабану

K>берешь с/с++ и компилишь
K>что там с мемори менеджментом тебе глубоко похрен, лишь бы не текло слишком быстро — смысл в том, чтобы готовый код использовать, а не в том, чтобы писать на каком-то там языке

И готовый код и так же универсальные библиотеки, которые работают:

1. В Windows 32|64|ARM.
2. Android 32|64|ARM32|ARM64.
3. iOS
4. MacOS 64|ARM
5. Linux 32|64|ARM.
6. WASM.

— на каком языке, кроме С++ ну и разве что Rust (и то не уверен) — можно написать код и собрать под все эти платформы, после чего подключать либу из любой платформы и использовать из любого ЯП?
=сначала спроси у GPT=
Re[6]: что не так с WebAssembly?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 11.04.25 09:01
Оценка: -1 :)
Здравствуйте, Shmj, Вы писали:


S>И готовый код и так же универсальные библиотеки, которые работают:


S>1. В Windows 32|64|ARM.

S>2. Android 32|64|ARM32|ARM64.
S>3. iOS
S>4. MacOS 64|ARM
S>5. Linux 32|64|ARM.
S>6. WASM.

S>- на каком языке, кроме С++ ну и разве что Rust (и то не уверен) — можно написать код и собрать под все эти платформы, после чего подключать либу из любой платформы и использовать из любого ЯП?


Ты не поверишь. C#!
Правда внутри он использует С++.

Для примера Unity, Native AOT, BLAZOR ...
и солнце б утром не вставало, когда бы не было меня
Отредактировано 11.04.2025 9:07 Serginio1 . Предыдущая версия . Еще …
Отредактировано 11.04.2025 9:05 Serginio1 . Предыдущая версия .
Re[6]: что не так с WebAssembly?
От: kov_serg Россия  
Дата: 11.04.25 09:19
Оценка:
Здравствуйте, Shmj, Вы писали:

S>- на каком языке, кроме С++ ну и разве что Rust (и то не уверен) — можно написать код и собрать под все эти платформы, после чего подключать либу из любой платформы и использовать из любого ЯП?


Ха,ха,ха. qt6 на c++ соберите его под любой winxp, или хотя бы под win7
Re[7]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 10:54
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Ты не поверишь. C#!

S>Правда внутри он использует С++.

S>Для примера Unity, Native AOT, BLAZOR ...


А какого размера минимальная библиотека получается для WASM?

Ну и второе, вроде нет поддержки то:

Windows x86 (32-bit) — ⚠️ поддержка есть, но экспериментальная/ограниченная

Android (x86, x64, ARM32, ARM64) ❌ официально — нет Native AOT ✔️ Но можно через .NET for Android (часть MAUI) — но это не Native AOT, а Mono AOT (интерпретатор + компиляция ahead-of-time).

iOS
❌ Нет официального Native AOT для iOS.
MAUI использует Mono AOT (LLVM) для iOS — это не .NET Native AOT, но тоже ahead-of-time компиляция.
Поддержка специфическая и в основном для UI приложений, а не CLI.

. WASM
❌ Native AOT не поддерживается.
Есть проект dotnet wasm и Blazor WebAssembly, но это не Native AOT, а Mono WASM + интерпретация/AOT.

Как видите — когда реально коснешься — ничего не работает. А C++ реально работает и на нем есть библитеки, которые работают и используются под все платформы на самом деле, а не в мечтах.
=сначала спроси у GPT=
Отредактировано 11.04.2025 10:57 Shmj . Предыдущая версия .
Re[7]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 10:59
Оценка:
Здравствуйте, kov_serg, Вы писали:

S>>- на каком языке, кроме С++ ну и разве что Rust (и то не уверен) — можно написать код и собрать под все эти платформы, после чего подключать либу из любой платформы и использовать из любого ЯП?

_>Ха,ха,ха. qt6 на c++ соберите его под любой winxp, или хотя бы под win7

А причем тут QT6? Речь про стандартный C++ и его стандартную библиотеку. Ну и для старых версий — придется использовать C++ старой версии — который будет работать даже на самых современных ОС.
=сначала спроси у GPT=
Re[6]: что не так с WebAssembly?
От: rudzuk  
Дата: 11.04.25 11:53
Оценка:
Здравствуйте, Shmj, Вы писали:

S> И готовый код и так же универсальные библиотеки, которые работают:


S> 1. В Windows 32|64|ARM.

S> 2. Android 32|64|ARM32|ARM64.
S> 3. iOS
S> 4. MacOS 64|ARM
S> 5. Linux 32|64|ARM.
S> 6. WASM.

S> — на каком языке, кроме С++ ну и разве что Rust (и то не уверен) — можно написать код и собрать под все эти платформы, после чего подключать либу из любой платформы и использовать из любого ЯП?


На паскале
avalon/3.0.2
Re[3]: что не так с WebAssembly?
От: rudzuk  
Дата: 11.04.25 12:11
Оценка:
Здравствуйте, novitk, Вы писали:

n> K>Будет тот же Microsoft дальше свой Blazor развивать и не кинет как с Silverlight — постепенно доля вырастет.


n> Blazor и через websocket прекрасно работает, если сетка нормальная, а она теперь почти всегда нормальная. WASM он вряд ли спасет.


Не понял, причем тут вебсокеты, нормальная сетка и как оно все связано с блазором
avalon/3.0.2
Re[7]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 12:18
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>На паскале


Ну вроде не так просто:

aarch64-win64 — ⚠️ экспериментально, с ARM64 компилятором — доступно, но требует настройки.

WASM В FPC есть экспериментальный бэкенд WebAssembly (начиная с 3.2.x), но он ограничен

— это Free Pascal Compiler

Ну и главное — сравните количество библиотек на C++ и на Pascal. Вам придется все писать самому с нуля
=сначала спроси у GPT=
Re[8]: что не так с WebAssembly?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 11.04.25 12:22
Оценка: -1 :)
Здравствуйте, Shmj, Вы писали:


S>>Для примера Unity, Native AOT, BLAZOR ...


S>А какого размера минимальная библиотека получается для WASM?


S>Ну и второе, вроде нет поддержки то:


S>Windows x86 (32-bit) — ⚠️ поддержка есть, но экспериментальная/ограниченная


S>Android (x86, x64, ARM32, ARM64) ❌ официально — нет Native AOT ✔️ Но можно через .NET for Android (часть MAUI) — но это не Native AOT, а Mono AOT (интерпретатор + компиляция ahead-of-time).


S>iOS

S>❌ Нет официального Native AOT для iOS.
S>MAUI использует Mono AOT (LLVM) для iOS — это не .NET Native AOT, но тоже ahead-of-time компиляция.
S>Поддержка специфическая и в основном для UI приложений, а не CLI.

S>. WASM

S>❌ Native AOT не поддерживается.
S>Есть проект dotnet wasm и Blazor WebAssembly, но это не Native AOT, а Mono WASM + интерпретация/AOT.

S>Как видите — когда реально коснешься — ничего не работает. А C++ реально работает и на нем есть библитеки, которые работают и используются под все платформы на самом деле, а не в мечтах.


Все работает! C# это же не только MS — Mono WASM + интерпретация/AOT, Unity IL2CPP это все C#!
https://discussions.unity.com/t/coreclr-and-net-modernization-unite-2024/1519272

We’re extending .NET 8 support to IL2CPP across all major platforms. Initially, we’re bringing the .NET 8 BCL to core platforms, with plans to expand this over the next few months. Later, we’ll work on optimizing IL2CPP with .NET hardware intrinsics support and addressing the increase in C++ code generation as more .NET code is written in C#. IL2CPP will continue to rely on the Boehm GC.



https://jethrojeff.com/
https://github.com/KING-UTKARSH/Il2cpp_Resolver_Android
и солнце б утром не вставало, когда бы не было меня
Отредактировано 11.04.2025 12:38 Serginio1 . Предыдущая версия . Еще …
Отредактировано 11.04.2025 12:37 Serginio1 . Предыдущая версия .
Отредактировано 11.04.2025 12:24 Serginio1 . Предыдущая версия .
Re[8]: что не так с WebAssembly?
От: rudzuk  
Дата: 11.04.25 12:52
Оценка:
Здравствуйте, Shmj, Вы писали:

S> aarch64-win64 — ⚠️ экспериментально, с ARM64 компилятором — доступно, но требует настройки.


Настройки оно не требует, если использовать fpcupdeluxe для установки.

S> WASM В FPC есть экспериментальный бэкенд WebAssembly (начиная с 3.2.x), но он ограничен


https://wiki.freepascal.org/WebAssembly:

FPC supports three Wasm compilation targets: WASIp1 (WASI 0.1, also known as WASI Preview 1), WASIp1threads (WASI 0.1 with the wasi-threads proposal) and Embedded. See WebAssembly/Compiler on how to build and install FPC for Wasm.


S> Ну и главное — сравните количество библиотек на C++ и на Pascal. Вам придется все писать самому с нуля


Не придется. На паскале просто дофигища доступных библиотек.
avalon/3.0.2
Re[9]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 13:15
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Все работает! C# это же не только MS — Mono WASM + интерпретация/AOT, Unity IL2CPP это все C#!


Ну если вы найдете хотя бы одну библиотеку на C#, которая умеет собираться под все платформы — будет о чем говорить. Я таких не встречал. Пионером быть не хочется.
=сначала спроси у GPT=
Re[8]: что не так с WebAssembly?
От: kov_serg Россия  
Дата: 11.04.25 13:26
Оценка:
Здравствуйте, Shmj, Вы писали:

S>А причем тут QT6? Речь про стандартный C++ и его стандартную библиотеку. Ну и для старых версий — придется использовать C++ старой версии — который будет работать даже на самых современных ОС.

Ага а у вас уже везде auto constexpr concept-ы корутины и std::filesystem и приехали только новый с++, старый не собирает.
Re[9]: что не так с WebAssembly?
От: Shmj Ниоткуда  
Дата: 11.04.25 13:35
Оценка:
Здравствуйте, kov_serg, Вы писали:

S>>А причем тут QT6? Речь про стандартный C++ и его стандартную библиотеку. Ну и для старых версий — придется использовать C++ старой версии — который будет работать даже на самых современных ОС.

_>Ага а у вас уже везде auto constexpr concept-ы корутины и std::filesystem и приехали только новый с++, старый не собирает.

В каком смысле? g++ и clang++ — собирают C++98. Вам мало 98? Пишите изначально на более низкой версии C++, если нужны старые системы
=сначала спроси у GPT=
Отредактировано 11.04.2025 16:23 Shmj . Предыдущая версия .
Re[10]: что не так с WebAssembly?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 11.04.25 13:54
Оценка: -1 :)
Здравствуйте, Shmj, Вы писали:

S>>Все работает! C# это же не только MS — Mono WASM + интерпретация/AOT, Unity IL2CPP это все C#!


S>Ну если вы найдете хотя бы одну библиотеку на C#, которая умеет собираться под все платформы — будет о чем говорить. Я таких не встречал. Пионером быть не хочется.


Ну вот Unity IL2CPP чем тебя не устраивает?
https://docs.unity3d.com/6000.0/Documentation/Manual/scripting-backends-il2cpp.html
и солнце б утром не вставало, когда бы не было меня
Re[5]: что не так с WebAssembly?
От: novitk США  
Дата: 11.04.25 14:58
Оценка: +1
Здравствуйте, bnk, Вы писали:

bnk>Почему нет? Вполне.

Дак, я же не спорю, что можно. Просто не понятно зачем. Blazor позволяет забыть про js, хотя и через костыли, a чистый wasm нет.
Re[4]: что не так с WebAssembly?
От: novitk США  
Дата: 11.04.25 15:09
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>Не понял, причем тут вебсокеты, нормальная сетка и как оно все связано с блазором

В Blazor есть interactive server. Он не требует wasm.
Re[5]: что не так с WebAssembly?
От: rudzuk  
Дата: 11.04.25 15:47
Оценка:
Здравствуйте, novitk, Вы писали:

n> R>Не понял, причем тут вебсокеты, нормальная сетка и как оно все связано с блазором


n> В Blazor есть interactive server. Он не требует wasm.


А вебсокеты и нормальная сетка, это о чем?
avalon/3.0.2
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.