Skip to content

Can the AOT definition be updated so that Blazor WASM docs can link to it? #27934

@guardrex

Description

@guardrex

Hi Tom! 👋 and Happy New Year! 🥳🎈

I was cross-linking the Blazor WASM AOT content in the ASP.NET Core doc set to the definition of "AOT" in this topic ...

https://docs.microsoft.com/dotnet/standard/glossary#aot

However, there are a couple of problems with referring readers to this definition, so I've had to drop the cross-link for the time being ...

  • Via inter-doc cross-links, the definition only leads to ...

    They don't completely apply to Blazor WASM AOT because Blazor relies upon Emscripten. Linking to this content will probably lead to developer confusion.

  • The definition states/implies that for .NET (Blazor WASM ... and really for all of .NET AFAICT) the output is pure native compiled apps, including even that "a single executable is produced." However, I gather that the technology is really hybrid AOT or mixed-mode AOT. Certainly in the Blazor case, it's misleading to make these remarks. We do a good job of calling it out in the Blazor docs (in the text ... i.e., we don't actually use those terms). In spite of Blazor docs seeking to clarify these points, I don't feel comfortable at the moment cross-linking to these conflicting remarks.

I wonder if a definition for Emscripten can be added remarking that it's used for native WASM compilation of Blazor WebAssembly apps [e.g., "Emscripten (Blazor WebAssembly only)"]. Cross-link in the definition's text to https://emscripten.org. In the AOT definition, include it in the technology list. Something like ...

See [CoreRT](#corert), [.NET Native](#net-native), and [Emscripten (Blazor WebAssembly only)](#emscripten-blazor-webassembly-only).

🤔 Maybe so ... maybe not. 😄

On the second point, I don't think anything can be done about it. It looks like a high-level decision was made to explicitly avoid "hybrid" and "mixed-mode" lingo. At least the "single executable" language could be addressed somehow. That's just not what devs are going to get out of any (or most) of the .NET approaches (MS owned or not) at the moment ... I mean AFAICT from Dan's, David's, and Rich's remarks in docs, blogs, tweets, etc.

I won't be surprised if my issue results in a ye olde won't-fix 😄. It's fine if that's the case. What I might end up doing in Blazor docs is quickly defining "AOT" on the spot.

If you'd like me to submit a PR for this topic with some draft text, let me know. 👂

If this issue leads to a PR, I recommend DR and Larry get a review ping.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

  • ID: aa071095-4eb6-20c1-ca26-f34da6fcbdf8
  • Version Independent ID: 2b2efd49-b0c8-9a13-525a-d04c802d2bef
  • Content: .NET Glossary
  • Content Source: docs/standard/glossary.md
  • Product: dotnet-fundamentals
  • GitHub Login: @tdykstra
  • Microsoft Alias: tdykstra

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions