是否可以将现有的 C# 代码编译为 WebAssembly (.wasm),以便无需或几乎无需更改代码?
我必须为此使用 Blazor 还是其他可能性?
我想在网络中使用 Java 代码。为此,我想将 Java 转换为 WASM 并在 JavaScript 中使用此 wasm 文件。为了将 Java 转换为 WebAssembly,我使用 TeaVM。
首先,我使用以下命令创建了一个原型:mvn archetype:generate -DarchetypeGroupId=org.teavm.flavour -DarchetypeArtifactId=teavm-flavour-application -DarchetypeVersion=0.2.0
另外,我添加了这两个依赖项(根据http://blog.dmitryalexandrov.net/web assembly- for-java- developers/):
<dependency>
<groupId>org.teavm</groupId>
<artifactId>teavm-jso-apis</artifactId>
<version>${teavm.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.teavm</groupId>
<artifactId>teavm-interop</artifactId>
<version>${teavm.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
并在插件部分添加以下内容:
<targetType>WEBASSEMBLY</targetType>
<optimizationLevel>FULL</optimizationLevel>
<heapSize>8</heapSize>
Run Code Online (Sandbox Code Playgroud)
我的Java文件:
@BindTemplate("templates/client.html")
public class Client extends ApplicationTemplate {
private String userName = "ABC";
public static void main(String[] args) {
Client client = new Client();
client.bind("application-content");
}
@Export(name = "getUserName")
public String getUserName() {
return userName;
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我执行 mvn …
我是 Liferay 的新手,似乎我可以使用片段、小部件和 Portlet 做同样的事情。有人可以向我解释一下其中的区别吗?
先感谢您。