I've been following you for quite some time. Your videos always have an excellent presentation, the information is clearly presented, not many people can do this. I looked at some places in development from a different angle. Thanks, keep making videos.
Great question. With AOT, you do not need the runtime installed on the target machine. It will be part of the single executable. Basically, you compile the app code and the runtime into a single executable. In the video, I talk about the runtime being required on the target machine in some way or another. In the case of AOT, we always ship it with our app. In the case of traditional .NET architecture, you have the choice to either only ship the app or to publish self-contained (including the runtime). I hope that helps to clarify that point.
That's interesting. I haven't used it. My source was the official Microsoft documentation where is listed as not supported. learn.microsoft.com/en-us/aspnet/core/fundamentals/native-aot?view=aspnetcore-8.0
@@ClaudioBernasconi Update: I switched my project from .NET 7 to .NET 8 and noticed a warning in the line "services.AddSignalR();" saying, "SignalR does not currently support trimming or native AOT." I compiled it to native and encountered many similar warnings, and noticed I can no longer generate a single self-contained exe file.
Thanks for your question. Currently, we cannot use Native AOT in .NET with Blazor. I expect progress in .NET 9, but not sure if it will include full AOT support (yet).
Thanks for your comment. I don't know if that is true or not. However, I'd love to take a look at a code base that demonstrates that assumption or read an article that documents said behavior. Feel free to reach out on Twitter (links in comments will probably auto-blocked by RUclips).
@@ClaudioBernasconi I know that Expressions are evaluated everytime they are called instead of only the first time in JIT, and there is no dynamic PGO.
Thanks for your comment. But you still want the benefits of managed code (garbage collection, memory allocation, etc.) don't you? I still prefer using a managed language of C/C++ (for example). It's interesting to see how small the apps became with .NET 8. Curious to follow the journey with .NET 9.
@@ClaudioBernasconi Personally, I wouldn't make any systems-level project with C#, maybe except games. Go (not the verb) for a GC middle ground, Rust and C for deeper stuff and Python for quick iteration, the dream combo? But I don't make all the projects I want to contribute to (while I'm not done questioning on my behalf[1]) improvements to dotnet are welcome of course :D [1] On that note, why would someone write a userspace **driver** with this structure, is beyond me :')
I am still learning and trying to improve my presentation skills. Thank you for your patience. If you have any tips on how to achieve that, you're more than welcome to share them.
@@ClaudioBernasconi Thank you for your response. I think it been more than three years now subscribed to your channel. Really like your work and always learn something new. God bless you.
Thanks a lot for your feedback. I thought about it in the past. However, I realized that in terms of accessibility a bright theme is a lot better and includes more people to enjoy my content. There are people who have issues with reading white color ond dark background. I appreciate your understandig and hope you'll continue to watch my videos.
Thanks very informative
Glad it was helpful!
I've been following you for quite some time. Your videos always have an excellent presentation, the information is clearly presented, not many people can do this. I looked at some places in development from a different angle. Thanks, keep making videos.
Thanks a lot for leaving such a nice comment. I really appreciate it. 🙏🙂
Great summary video! Short and quick explaining. Great job! Thanx! 😊
Thank you. 😉
Another great video - thanks Claudio!
Thanks again! Happy you like the video. 🙏
Nice helpful video, but do we really need .net runtime installed in target machine for running simple .net native aot application?
Great question. With AOT, you do not need the runtime installed on the target machine. It will be part of the single executable. Basically, you compile the app code and the runtime into a single executable. In the video, I talk about the runtime being required on the target machine in some way or another. In the case of AOT, we always ship it with our app. In the case of traditional .NET architecture, you have the choice to either only ship the app or to publish self-contained (including the runtime). I hope that helps to clarify that point.
@@ClaudioBernasconi Thanks for clarification, now i understood properly😌
Interesting, thanks!
Glad to have you in the community. 🙂
I hope it will be matured enough use in production at-least in .NET 10
I'm sure they will put in a lot of effort in upcoming releases.
@@ClaudioBernasconi is it too soon or risky to use in production for lambda apps?
Cloud native, no reflection - (good explanation on why reflection is not available)
Faster start time....
You said we still need .net runtiime(@2:12) . But AOT execuatble can run without .NET runtime. Could you please explain this.
He can't, I guess ;D
Actually SignalR works with AoT + .Net Core 7
I will be surprised to see it doesn't with .Net 8
That's interesting. I haven't used it. My source was the official Microsoft documentation where is listed as not supported. learn.microsoft.com/en-us/aspnet/core/fundamentals/native-aot?view=aspnetcore-8.0
@@ClaudioBernasconi Update: I switched my project from .NET 7 to .NET 8 and noticed a warning in the line "services.AddSignalR();" saying, "SignalR does not currently support trimming or native AOT." I compiled it to native and encountered many similar warnings, and noticed I can no longer generate a single self-contained exe file.
How can it work in Blazor (in client side scenario)?
Thanks for your question. Currently, we cannot use Native AOT in .NET with Blazor. I expect progress in .NET 9, but not sure if it will include full AOT support (yet).
Faster startup, but not faster runtime (slower maybe)
Thanks for your comment. I don't know if that is true or not. However, I'd love to take a look at a code base that demonstrates that assumption or read an article that documents said behavior. Feel free to reach out on Twitter (links in comments will probably auto-blocked by RUclips).
@@ClaudioBernasconi I know that Expressions are evaluated everytime they are called instead of only the first time in JIT, and there is no dynamic PGO.
I thought it will now finally not require dotnet runtime, eh, would be cool.
Thanks for your comment. But you still want the benefits of managed code (garbage collection, memory allocation, etc.) don't you? I still prefer using a managed language of C/C++ (for example). It's interesting to see how small the apps became with .NET 8. Curious to follow the journey with .NET 9.
@@ClaudioBernasconi Personally, I wouldn't make any systems-level project with C#, maybe except games. Go (not the verb) for a GC middle ground, Rust and C for deeper stuff and Python for quick iteration, the dream combo? But I don't make all the projects I want to contribute to (while I'm not done questioning on my behalf[1]) improvements to dotnet are welcome of course :D
[1] On that note, why would someone write a userspace **driver** with this structure, is beyond me :')
Please BLINK when talking.
I am still learning and trying to improve my presentation skills. Thank you for your patience. If you have any tips on how to achieve that, you're more than welcome to share them.
@@ClaudioBernasconi Thank you for your response. I think it been more than three years now subscribed to your channel. Really like your work and always learn something new. God bless you.
A dark theme would be appreciated.
Thanks a lot for your feedback. I thought about it in the past. However, I realized that in terms of accessibility a bright theme is a lot better and includes more people to enjoy my content. There are people who have issues with reading white color ond dark background. I appreciate your understandig and hope you'll continue to watch my videos.