abpframework / abp

Open Source Web Application Framework for ASP.NET Core. Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET and the ASP.NET Core platforms. Provides the fundamental infrastructure, production-ready startup templates, application modules, UI themes, tooling, guides and documentation.
https://abp.io
GNU Lesser General Public License v3.0
12.37k stars 3.33k forks source link

SPA template using Blazor #394

Closed hitaspdotnet closed 3 years ago

hitaspdotnet commented 5 years ago

What Blazor is: An experimental .NET web framework using C#/Razor and HTML that runs in the browser via WebAssembly

Resources:

Blazor in action:

https://blazor-demo.github.io/

274188A commented 4 years ago

good timing! - Just announced

preview of template for IdentityServer to auth users and API calls - https://docs.microsoft.com/en-us/aspnet/core/security/blazor/webassembly/hosted-with-identity-server?view=aspnetcore-3.1

https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-preview-2-release-now-available/

:-)

mgochmuradov commented 4 years ago

I have tried integrating Abp into Blazor Wasm, (Using HttpClient / Dynamic proxies). Almost everything seems to be working as expected, the only error was with the Configuration part, as Blazor doesn't have platform support for Adding application.json. So I have to register IConfiguration manually so that AbpCore would not try to add file-based configurations (see this code). Here is the resulted Wasm Program Code:

public static async Task Main(string[] args)
{
    var builder = WebAssemblyHostBuilder.CreateDefault(args);
    builder.RootComponents.Add<TemplateUiWebBlazorApp>("app");

    // Add Autofac
    var containerBuilder = new ContainerBuilder();
    builder.ConfigureContainer(new AbpAutofacServiceProviderFactory(containerBuilder));
    builder.Services.AddObjectAccessor(containerBuilder);

    builder.Services.AddBaseAddressHttpClient();

    // Need to register IConfiguration manually
    builder.Services.AddSingleton(typeof(IConfiguration), new ConfigurationBuilder().Build());
    builder.Services.AddApplication<TemplateUiWebBlazorModule>();

    await builder.Build().RunAsync();
}
geffzhang commented 4 years ago

https://github.com/ElderJames/ant-design-blazor

realZhangChi commented 4 years ago

https://github.com/ElderJames/ant-design-blazor

Is there an open source Blazor UI project for AdminLTE 3?

leonkosak commented 4 years ago

@hikalkan Does development of Blazor UI option already started?

hikalkan commented 4 years ago

@hikalkan Does development of Blazor UI option already started?

To be honest, we are not currently working on this, but it is still a very high priority waiting work.

274188A commented 4 years ago

To be honest, we are not currently working on this, but it is still a very high priority waiting work.

The Blazor UI Framework it is on the "Backlog", not on any current Milestone path. To use a colloquial - 'don't hold your breath'.

geffzhang commented 4 years ago

https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-release-candidate-now-available/

leonkosak commented 4 years ago

Blazor WebAssembly first final version is out! 😎

amarmechai commented 4 years ago

@hikalkan When we get the first version of SPA template using Blazor?

274188A commented 4 years ago

there is no date...it is on the "Back Log". I have found Abp templates No-UI template has some friction when trying to using it with Blazor. Others have said similar. Very Javascript focused right now - maybe it will make available a new project template one day...

ElderJames commented 4 years ago

Welcome to try Ant Design Blazor - A set of enterprise-class UI components based on Ant Design and Blazor WebAssembly.

https://github.com/ant-design-blazor/ant-design-blazor

tvddev commented 3 years ago

Any update on this?

hikalkan commented 3 years ago

see https://blog.abp.io/abp/ABP-v2.8.0-Releases-%26-Road-Map (The Road Map) and https://docs.abp.io/en/abp/latest/Road-Map

hikalkan commented 3 years ago

Short answer: We planned to start to work on after v3.0 release, in the July.

TronActive commented 3 years ago

Something you may want to check out for help or a resource https://blazorboilerplate.com/

leonkosak commented 3 years ago

The page is unavailable. GitHub project: https://github.com/enkodellc/blazorboilerplate

Oqtane (https://github.com/oqtane/oqtane.framework) is also becoming new rising star.

tvddev commented 3 years ago

Now that 3.0 is released, how is progress on Blazor?

realLiangshiwei commented 3 years ago

In the next few versions, we will be focused on the Blazor UI https://github.com/abpframework/abp/blob/dev/docs/en/Blog-Posts/2020-07-01%20v3_0_Release/Post.md#about-the-next-versions

tvddev commented 3 years ago

@liangshiw Awesome! keep us updated on progress!

ElderJames commented 3 years ago

Hi @liangshiw , @hikalkan ,
I can contribute a startup template using Blazor WebAssembly, what else do I need to integrate?

tvddev commented 3 years ago

@liangshiw can you give us an update on blazor progress and timeline?

geffzhang commented 3 years ago

https://github.com/FlorianRappl/microfrontends-with-blazor-demos https://github.com/FlorianRappl/Piral.Blazor

hikalkan commented 3 years ago

@ElderJames you can create a startup template with Blazor. That's not hard and it is appreciated if you can do it. However, the planned work (for this issue) is much more. We will create a modular system, menu, toolbar, layout, theme... systems these are currently available for angular & mvc.

@tvddev to be honest, we haven't started this yet since we are busy on more essential and fundamental works for the framework and current modules and ui options. In addition, .NET 5 is coming and we also will prepare for it. So, we can't promise a time, unfortunately. However, Blazor UI is the highhest prioritiezed major feature for us.

tvddev commented 3 years ago

Thats disappointing. Maybe someone else will build one on top of abp.io

kbowma commented 3 years ago

Agree, this is very disappointing! Seems we are being strung along with promises to deliver. I have been waiting, and renewed my subscription, based on the statements that this would be a supported template, and would be started in July (after a long wait). If you are not going to work on this until .Net 5 is released, it would be nice to know that now.

hikalkan commented 3 years ago

If you are not going to work on this until .Net 5 is released, it would be nice to know that now.

I didn't say that. We will start before it. But don't know when it finishes. We will see the progress. (I suppose this is very nature for a software project, especially for an open source one).

tvddev commented 3 years ago

@hikalkan Well if at least you start there are lots here that will contribute, but you need to at least start. If not I guess someone else will and then there is more work to merge or it takes off in its own direction and you have to play catchup. I know some others like @elderjames and @mgochmuradov have started building framework onto of abp.io why not fork theirs and get a head start? It has been promised for a long time now!

274188A commented 3 years ago

expectations could have been better managed as shown by the growing frustration of some. however, we need to keep in mind that this is an open source project.

i would recommend making a small start and letting others helps out. this would of course require a certain amount of control to be relinquished...

tvddev commented 3 years ago

There are so many of the component parts already available it probably just needs "someone" to stitch them together for a template over the top of ABP.IO: https://github.com/AdrienTorris/awesome-blazor
gRPC, authentication, PWA example, etc etc.

For commercial and even open source users just one theem which users can then modify as they see fit, and there are lots of existing UI tools eg Telerik, etc, so really just need to focus on core architecture covering admin, multi-tenancy, roles/permissions, how to incorporate other components easily, and manage upgrades.

hikalkan commented 3 years ago

We were planning to begin the Blazor UI with the 3.1 (this) milestone. However, we could not make it possible because of several reasons (we extended 4-weeks milestone to 6-weeks because of these reasons), but it is not important to discuss it now. 3.1 will be available in a short time (hopefully in this week) and we will begin to Blazor UI in the next (3.2) milestone. We will see the progress. I hope it goes fast & well. I am excited as much as you to have an official, fully functional, well tested and documented Blazor UI option.

tvddev commented 3 years ago

@hikalkan thankyou for the commitment to the community that support you. I look forward to seeing the first parts of blazor in v3.2.

volethanh commented 3 years ago

Hi @hikalkan, I:m also excited to the Blazor UI and also want to change current angular frontend to Blazor if it goes fast and well. Should we have a document that we can migrate from angular yo blazor UI ?

hikalkan commented 3 years ago

Should we have a document that we can migrate from angular to blazor UI ?

No, we don't plan such a guide. Angular and Blazor are independent and well documented frameworks. We will document what we added on top of these frameworks, but not more.

hrx521 commented 3 years ago

People have been waiting for a long time, and the big guys are finally going to start building the Blazer UI. I hope I can make some contribution. I believe that there will be many and enthusiastic contributors

tvddev commented 3 years ago

I see there are now actual tickets for v3.2. Good news!

5009

hikalkan commented 3 years ago

Created a branch: https://github.com/abpframework/abp/tree/blazor-ui 😃 We'll make blazor-related stuff in this branch until the first usable version. I will write under this issue if we need to inform the community about the progress.

jhulbertpmn commented 3 years ago

Created a branch: https://github.com/abpframework/abp/tree/blazor-ui 😃 We'll make blazor-related stuff in this branch until the first usable version. I will write under this issue if we need to inform the community about the progress.

very exciting!

hikalkan commented 3 years ago

It goes well until now :)

I began by playing with the risky parts, and all fine for now.

If you want to try,

Stirda commented 3 years ago

I am blown away by https://twitter.com/hibrahimkalkan/status/1297604576309321737 So awesome.

danielmeza commented 3 years ago

@hikalkan So two excellent things has happen, you beat the most critical issues and fall in love with the power of c# in the browser! I hope this not stop and become Blazor in a first class citizen in the framework!

wakuflair commented 3 years ago

So glad that the leader of the ABP team has fun with ABP on Blazor. 😆

274188A commented 3 years ago

anyone got the branch https://github.com/abpframework/abp/tree/blazor-ui working?

jhulbertpmn commented 3 years ago

anyone got the branch https://github.com/abpframework/abp/tree/blazor-ui working?

I started working with it earlier and was running into some strange project dependency issues. I didn't have too much time to spend on it to see if it was an issue with my VM or something else, but I'm not quite up and running yet

274188A commented 3 years ago

i'm assuming we need to run the CLI project from the said branch to gen up a solution - then change the refs over to use the source from the branch? not sure...

hikalkan commented 3 years ago

@274188A,

274188A commented 3 years ago

yeah just tried it - so from the branch specified, built the release using powershell files run the CLI project with for eample: new Acme.BookStore -u blazor

image

this will generate the project for you...

hikalkan commented 3 years ago

-u blazor is not implemented yet 😄

274188A commented 3 years ago

oh - i got something - thanks for clearing that up for me!

hikalkan commented 3 years ago

Actually, it generates the Blazor UI, yes, but accidently. Because it doesn't delete the Blazor project from the solution. So, doesn't matter if you specify -u blazor or not :)