For ASP.NET Core in .NET 6, Devs Want AOT Compilation
With next month's debut of the unifying, all-in-one .NET 5 falling short of original expectations, the ASP.NET Core dev team is already planning for the final unification effort, .NET 6, coming in November 2021.
To that end, the team put out a GitHub call to action to "Help shape the future for ASP.NET Core." Note that ASP.NET Core is where the red-hot Blazor project lives, allowing for C#-based web development with the help of WebAssembly.
"We're actively working on .NET 6 planning and we would like your help with this," Artak Mkrtchyan said in the call to action published as a GitHub issue three days ago (Oct. 5).
"In the next few weeks we are going to scan through all the issues in our backlog and identify candidates for .NET 6. To make a decision whether an issue is a good candidate or not for the upcoming release, we also look into the number of upvotes 👍 (and other reactions). To help us prioritize the issues the community feels are most important, please find the issues you want to see resolved and upvote 👍 them."
So far, the item with the most 👍 upvotes is ahead-of-time compilation, issue #5466, which was filed by Daniel Roth, principal program manager for ASP.NET, early in 2018, with the description "Compile everything to WebAssembly."
As we reported earlier this year, in announcing Blazor WebAssembly 3.2 preview 4 in April, Roth provided an update hoping for a .NET 5 implementation.
"The .NET runtime used by Blazor WebAssembly is doing IL interpretation -- there's no JIT -- so this does affect the performance of CPU intensive workloads," he said. "For .NET 5 we are looking at adding support for ahead of time (AoT) compilation that we enable precompiling hot paths to WebAssembly as a way to improve runtime performance."
However, factors such as COVID-19 have slowed development of .NET 5, and the complete transformation to a one-stop-shop targeting Windows, Linux, macOS, iOS, Android, tvOS, watchOS, WebAssembly and more was reset for .NET 6.
Thus the call to action for developers to vote for .NET 6 functionality and thus the upvotes for AOT, which is not destined for .NET 5.
Those upvotes aren't surprising, as Microsoft recently revealed results of a survey that indicated lack of native AOT compilation in .NET Core is holding developers back from using the framework more.
At the time of this writing, the call to action shows AOT leading with 57 upvotes, according to an unofficial visual inspection, with other issues following such as:
- Editor & debugger improvements and Hot Reload (Edit & Continue) : #5456 -- 48 votes
- SVG Support in Blazor #18271 -- 30 votes
- Projet Reload on save with Kestrel like IIS Express does -- 27 votes
As of the time of this writing, the call to action issue post had received 33 comments, though not all of them were about actual issues to be voted on, as some people apparently didn't grasp the concept, leading Mkrtchyan to say, "All this is great, folks. Please make sure to upvote on the related issues, rather than linking issues here. That's what we're going to look at after all."
David Ramel is an editor and writer for Converge360.