I'm very excited by news coming from the conference. Thank you very much for the demonstration! But could you please have someone go through and add time slices for these videos? I'd like to be able more easily to find descriptions of the particular things I'm most interested in.
Steve, I think this is high time to give us an Ability to Generate Dynamic Forms similar to Angular's Reactive Form where we can Generate form without any Objects. in Blazor we have to have a C# Object but in Angular we can generate Form with just JSON.
+1 for this suggestion I was also struggling to generate Forms without providing a POCO. I tried with Dictionary and Expando Objects but I am still unable to successfully bind EditForms.
The webassembly example shown here was over 20MB. That's A LOT. Will they ever be able to get it down to like 100kB, to be somewhat competitive with JS frameworks?
Lmao no. I love C#, and I love the idea of Blazor, but as it stands now it will never even come close. It's a bloated mess for what it accomplishes it. Thanks to the way MS works it never will never reach to point of adoption. Just the fact that there's two different implementations (server/WASM) that are named the same thing has already put this in its coffin before it had a chance at adoption.
@@WorstDeveloper Unless they just get rid of wasm/server stand alone versions and just call universal "Blazor" it's only making the problems I spoke of worse.
Why is the loading progress percentage non-linear? You get a fake, fast, 50 % when only 1 of 24 MB is downloaded and then it's loading very slowly between 90 % and 100 % when it's downloading much of the rest
displaying loading progress is a necessity because blazor apps have such a huge footprint. for inhouse, office like apps that is ok but i think consumer internet apps should load faster such that blazor is not an option. i have not seen convincing blazor apps anywhere. they all feel slow. any demos that are convincing out there? loading fast and responsive like js apps?
The @bind:after issue is still not solved for a production ready version of NET7 I just got the latest update today, 17.4.2 They have still not solved the problem MicroShit sucks big time again!!
Feedback: Build size. If you do not get the built size under control no one will ever use this for actual web apps, regardless of features of ease of use.
I've pulled the code for the talk and it doesn't compile for me: Severity Code Description Project File Line Suppression State Error CS1503 Argument 3: cannot convert from 'Microsoft.AspNetCore.Components.EventCallback' to 'System.Action' ProductsManager D:\Dev\Blazor\ProductsManager-main\Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator\Pages_Edit_CategoryPicker_razor.g.cs 137 Active And 2 other similar errors. It seems to be related to @bind:after. I've tried it on 2 machines with the same result, so I don't think this is related to my system, unless it's something that needs to be installed from VS installer? So if anyone has any ideas I would be grateful.
This is known .net 7 issue: That will be fixed in 7.0.1 - "[7.0] bind get, set, after can't be used in 7.0 Blazor applications In .NET 7 Preview 7, we've introduced a new feature for binding values to components using the new bind:get, bind:set and bind:after syntax. As part of a follow-up work to address some issues we've learned about related to that feature, we had to take a two-part fix both in dotnet/aspnetcore and dotnet/razor-compiler repos. Unfortunately, we had an issue with our dependency update process and the razor compiler changes did not make it into the 7.0 build. As a result, when you try to use bind, get, set, after on 7.0 Blazor application, the compiler will emit code against non existing APIs and users will be presented with an error like Can't convert from EventCallback to Func. An update for the compiler is planned as part of the 7.0.1 release that will update the compiler to target the new APIs and make this feature work as expected from them on. Users that are not relying on bind get, set, after will not be affected by this issue." github.com/dotnet/core/blob/main/release-notes/7.0/known-issues.md
When you see Steven Sanderson you know it'll be a great talk. And it was :)
I eh
Thank you for quickgrid, it’s awesome!
I'm very excited by news coming from the conference. Thank you very much for the demonstration!
But could you please have someone go through and add time slices for these videos? I'd like to be able more easily to find descriptions of the particular things I'm most interested in.
The most important thing i take from that video is how to use the Toolbox to "code" while doing a quick presentation
LOL, I was looking at the same thing thinking how did he do that? 🤣
new bind directives is a great addition.
Very good ! We're just starting our port of a Webforms app to Blazor WASM and the parameters feature will be a boon! Thanks
Great features! Thank you very much for sharing!
Steve, I think this is high time to give us an Ability to Generate Dynamic Forms similar to Angular's Reactive Form where we can Generate form without any Objects.
in Blazor we have to have a C# Object but in Angular we can generate Form with just JSON.
+1 for this suggestion I was also struggling to generate Forms without providing a POCO. I tried with Dictionary and Expando Objects but I am still unable to successfully bind EditForms.
Brilliant stuff! Thanks and more of this please.
Triple like this demo!!
QuickGrid is just awesome!
Awesome stuff. Unrelated, but It would have been great to have timeslices in the video so we can view the features we're most interested in.
I have been struggling with something that will be easily solved with LocationChanging, this is great news
awesome !
Great seeing you Steve
The webassembly example shown here was over 20MB. That's A LOT.
Will they ever be able to get it down to like 100kB, to be somewhat competitive with JS frameworks?
Lmao no.
I love C#, and I love the idea of Blazor, but as it stands now it will never even come close. It's a bloated mess for what it accomplishes it. Thanks to the way MS works it never will never reach to point of adoption. Just the fact that there's two different implementations (server/WASM) that are named the same thing has already put this in its coffin before it had a chance at adoption.
Blazor United fortunately appear to be solving the problem of having two different modes. It's not perfect, but it's way better.
@@WorstDeveloper Unless they just get rid of wasm/server stand alone versions and just call universal "Blazor" it's only making the problems I spoke of worse.
Why is the loading progress percentage non-linear? You get a fake, fast, 50 % when only 1 of 24 MB is downloaded and then it's loading very slowly between 90 % and 100 % when it's downloading much of the rest
I wonder if CustomElement can be used to build full plugins for Wordpress
I think it can now.....I can we what I can do with both technologies now
displaying loading progress is a necessity because blazor apps have such a huge footprint. for inhouse, office like apps that is ok but i think consumer internet apps should load faster such that blazor is not an option. i have not seen convincing blazor apps anywhere. they all feel slow. any demos that are convincing out there? loading fast and responsive like js apps?
Hi will custom elements work with Power Platform i.e. hosting Blazor web components from HTML WebResources?
Thank you very much Steve! Good bye Javascript, I wont miss you! Welcome full stack .NET developer in C# with Blazor!
lol...I understand but don't say that....Javascript-Typescript Technologies are cool
QuickGrid seems to be awesome, but who is adventurous enough to use 5 months untouched alpha.22351.1 version in production?
We are going to be using it in Production soon! 😀
Excelent!!!!
Good stuff!
How does WordPress know what port blazor is hosting on? (port 7246 in your case)
+1
The @bind:after issue is still not solved for a production ready version of NET7 I just got the latest update today, 17.4.2 They have still not solved the problem MicroShit sucks big time again!!
Which issue
This attitude definitely won't help.
Feedback: Build size.
If you do not get the built size under control no one will ever use this for actual web apps, regardless of features of ease of use.
I wished the releases would significantly slow down. I don't need all those features, I need long term stable versions.
can we not get the text in another language?
I mean the lock text
I've pulled the code for the talk and it doesn't compile for me:
Severity Code Description Project File Line Suppression State
Error CS1503 Argument 3: cannot convert from 'Microsoft.AspNetCore.Components.EventCallback' to 'System.Action' ProductsManager D:\Dev\Blazor\ProductsManager-main\Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator\Pages_Edit_CategoryPicker_razor.g.cs 137 Active
And 2 other similar errors.
It seems to be related to @bind:after. I've tried it on 2 machines with the same result, so I don't think this is related to my system, unless it's something that needs to be installed from VS installer? So if anyone has any ideas I would be grateful.
This is known .net 7 issue: That will be fixed in 7.0.1 - "[7.0] bind get, set, after can't be used in 7.0 Blazor applications
In .NET 7 Preview 7, we've introduced a new feature for binding values to components using the new bind:get, bind:set and bind:after syntax. As part of a follow-up work to address some issues we've learned about related to that feature, we had to take a two-part fix both in dotnet/aspnetcore and dotnet/razor-compiler repos. Unfortunately, we had an issue with our dependency update process and the razor compiler changes did not make it into the 7.0 build. As a result, when you try to use bind, get, set, after on 7.0 Blazor application, the compiler will emit code against non existing APIs and users will be presented with an error like Can't convert from EventCallback to Func. An update for the compiler is planned as part of the 7.0.1 release that will update the compiler to target the new APIs and make this feature work as expected from them on.
Users that are not relying on bind get, set, after will not be affected by this issue." github.com/dotnet/core/blob/main/release-notes/7.0/known-issues.md
Quick and dirty workaround to get it working:
$@((context.PriceCents / 100.0).ToString("N2"))
Edit
@code {
private IQueryable? products;
IQueryable FilteredProducts
{
get
{
products = Service.Products.OrderBy(x => x.ProductId).AsNoTracking();
if (!string.IsNullOrEmpty(Category))
{
products = products.Where(x => x.Category == Category);
}
if (!string.IsNullOrEmpty(Subcategory))
{
products = products.Where(x => x.Subcategory == Subcategory);
}
if (!string.IsNullOrEmpty(searchName))
{
products = products.Where(x => EF.Functions.Like(x.Name, searchName.Replace("%", "\\%") + "%", "\\"));
}
return products;
}
}
private PaginationState pagination = new PaginationState { ItemsPerPage = 10 };
private string? searchName;
[Parameter] public string? Category { get; set; }
[Parameter] public string? Subcategory { get; set; }
}
@Joe Ingle thanks a lot, great workaround, worked perfect!
I installed 7.0.2 and it was fixed with that
QuickGrid. 👏👍👌👏🤜🤛🖖