CNCF в сотрудничестве с сообществом Wasm выпустила первую версию среды Wasm, призванную помочь лучше понять масштабы экосистемы Wasm. «Оригинальный Cloud Native Landscape помог нам наметить обширную экосистему облачных технологий, и мы считаем, что по мере того, как экосистема будет расти и расти, Wasm понадобится то же самое».
Предварительный ландшафт Wasm включает 11 категорий и 120 проектов или продуктов общей экономической стоимостью 59,4 млрд долларов США; 11 категорий разделены на две основные области: Dev (разработка приложений) и Ops (развертывание приложений).
Для разработки приложений Wasm требуется собственная экосистема языков программирования и связанных с ними инструментов, таких как компиляторы, фреймворки, библиотеки, инструменты и среды выполнения. В категорию «Разработка» входят языки программирования, среды выполнения, платформы приложений Edge/Bare Metal, выводы искусственного интеллекта, встроенные функции и инструменты.
В сфере Wasm есть 4 категории языков программирования:
- Компилируемый язык. Первоклассные граждане — это языки, которые можно скомпилировать непосредственно в байт-код Wasm и запустить в среде выполнения Wasm без каких-либо зависимостей. В эту категорию попадают C, C++, Zig и Rust. Они создают самые быстрые и маленькие приложения Wasm.
- управляемый язык. Управляемые языки по-прежнему являются компилируемыми языками, но для правильной работы компилятора требуется «управляемая среда выполнения». Включая Kotlin, Dart, Go, Java и .Net и т. д.
- Язык сценариев. Языки сценариев, такие как JavaScript, Ruby, PHP и Python, могут работать в Wasm. Компилируя интерпретатор языка сценариев (обычно написанный на C) в Wasm, программа-интерпретатор на основе Wasm может затем выполнить сценарий.
- Язык « Компилировать в Wasm ». Новое поколение компилируемых языков, оптимизированных для целей Wasm, все еще находится на очень ранней стадии. Но если все сделать правильно, эти языки могут стать настоящими первоклассными гражданами в пространстве Wasm. Двумя выдающимися в этой категории являются Moonbit и Grain, разработанные с использованием современных языковых функций Go и Rust, оптимизированные для эффективной компиляции и выполнения Wasm. Хотя Moonbit он уже поставляется с полным набором инструментов: от динамического автодополнения кода до онлайн-IDE.
Следующим шагом после создания приложения Wasm является его развертывание и масштабирование в рабочей среде. Существует большое количество инструментов, платформ и сервисов для управления развертыванием приложений в облачных средах. Многие из них имеют встроенную поддержку Wasm. Категории Ops включают оркестровку и управление, управляемые платформы, децентрализованные платформы, отладку и возможность наблюдения, а также артефакты.
Более подробную информацию можно найти в официальном объявлении .