Microsoft's official blog for ASP.NET, announcing releases and performance work on Blazor, gRPC, and ASP.NET Core.
HN links it for release details, such as gRPC-web becoming stable in .NET and updates in .NET 6.
Yup. Been using it for a very complex data app. Its awesome.
You can choose Wasm for LOB apps or on fast connections.
You can choose Server hosting for apps that have about 100,000 users at a time. Mind you, that is 100,000 users concurrently. Which should be more than enough for most apps.
There are plans to reduce bundle size and server side resources, coming in .NET 5.
As per Microsoft Benchmarks[1], it should cost about 100 USD per month (3 years, reserved instances, paid upfront) to handle 20,000 concurrent users. (This price is not including database, storage, etc). That comes to about 0.18 USD per user, for 3 years. (cost of serving app to 1 user for 3 years in total). Which seems pretty reasonable, especially if you have a decent, paid app. The cost comes down even more, if only a %age of your users are online concurrently.
On Digital Ocean, a similar machine, would cost about 40 USD a month. For 3 years, total cost for 1 users will be 0.072 USD
[1] - https://devblogs.microsoft.com/aspnet/blazor-server-in-net-core-3-0-scenarios-and-performance/
Microsoft is betting on (the not yet mature) Blazor [1,2] framework for porting .NET applications to WASM. Here's a CRUD app WASM example [3] -- there's an initial load time, but once loaded the app seems pretty responsive. There's a bunch more demos here [4] to get a sense of the performance.
There's even a HN clone built on Blazor [5]. This very thread can be found there.
[1] https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor
[2] https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/
[3] https://becksblazor.azurewebsites.net
[4] https://github.com/StevenTCramer/awesome-blazor#samples-and-tutorials
[5] http://blazorhackernews.surge.sh
There are a few related announcements, here are some links:
- https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
- https://devblogs.microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0/
- https://devblogs.microsoft.com/dotnet/announcing-f-4-7/
- https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/
- https://dotnet.microsoft.com/download/dotnet-core (if you're on 2.2 you have until the end of the year to update to 3.1, which will be LTS)
- https://www.dotnetconf.net/ live now
Shame about the bad timing with the UN summit: http://webtv.un.org/
grpc-web is attractive to our use case because it would take away from manually implementing REST interfaces and every once in a while having type mismatches. The less room for mistakes, the better.
.NET Core just recently last month that gRPC-web is stable [1]. It would remove a huge amount of boilerplate in setting up services on both client and server side.
Some people also recommend to use Envoy [2], but usually the less cogs the better.
[1] https://devblogs.microsoft.com/aspnet/grpc-web-for-net-now-available/
[2] https://grpc.io/docs/languages/web/basics/
That is a good scenario, however you can still use languages like D, Nim, Swift, C#, F#, Go, among others for such scenarios.
For example, you can do codecs in C# on WinRT with .NET Native,
https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/audio-graphs
In the context of protobuf,
https://devblogs.microsoft.com/aspnet/grpc-performance-improvements-in-net-5/
Back to Rust, yes it is a good option, I just wouldn't write the whole application on it, just specialized libraries.
Hence why I am looking forward to Rust/Windows efforts.
April announcement here https://devblogs.microsoft.com/aspnet/blazor-now-in-official-preview/.
> With this newest Blazor release we’re pleased to announce that Blazor is now in official preview! Blazor is no longer experimental and we are committing to ship it as a supported web UI framework including support for running client-side in the browser on WebAssembly.