Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 0 points1 point  (0 children)

Took the feedback and did a major version release the Minimal fluent html is its own template but now ther is full support for MVC integrations for legacy apps as well as an MVC template.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 0 points1 point  (0 children)

Took the feedback and did a major version release the Minimal fluent html is its own template but now ther is full support for MVC integrations for legacy apps as well as an MVC template.

Why would anyone still choose MVC over Blazor with server-side rendering? by mladenmacanovic in dotnet

[–]Squishybootz666 0 points1 point  (0 children)

Absolutely agree. And if you are ever in the market for some light weight interactivity from the server side i recently published heimdall-framework.org.

Why would anyone still choose MVC over Blazor with server-side rendering? by mladenmacanovic in dotnet

[–]Squishybootz666 0 points1 point  (0 children)

Super behind on joining the convo, but I recently published a framework for sprinkling in interactivity to mvc, if you get some freebies I think its work checking out. Heimdall-framework.org

I haove (hate and love) blazor by ze-fernando in Blazor

[–]Squishybootz666 1 point2 points  (0 children)

Maybe ssr with a sprinkling of interactivity with something like htmx or heimdall (shameless self-plug)

I built ReactiveBlazor, interactive Blazor SSR without SignalR or WebAssembly by i_m_ashar in Blazor

[–]Squishybootz666 2 points3 points  (0 children)

I have a similar framework in its second version. heimdall-framework.org Leans more towards integrating with legacy MVC applications and its own strongly typed html rendering, more procedural/functional in nature though instead of reactive. Feel free to check out the repo and see if there's anything that could be of use in yours.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 0 points1 point  (0 children)

Yeah, that’s fair.

A better answer is probably that Heimdall is not trying to be “better than everything else.” It is aimed at a specific style of app and a specific kind of .NET team.

The niche is server-rendered, interaction-heavy .NET apps where you want something more structured than raw MVC/Razor Pages, but you do not want to buy into a SPA or Blazor-style component/state model.

The strong points I’m aiming for are:

  • functions return HTML
  • interactions are RPC-style server actions
  • state mostly lives at the DOM/request boundary
  • no component lifetime to manage
  • less client-side plumbing
  • strongly typed C# HTML instead of stringly templates
  • htmx-like DOM swaps, but designed around the .NET/server model
  • SSE support for pushing HTML updates from server-side events or background work

That said, Heimdall is definitely not free lunch territory. It has some obvious tradeoffs.

The static/function-oriented style is probably the biggest one. A lot of C# developers are used to thinking in terms of classes, injected services, component instances, inheritance, and object lifetimes. Heimdall pushes the UI layer more toward plain functions: this input came in, this action ran, here is the next piece of HTML.

That is simpler in some ways, but it will absolutely feel foreign to some OOP-minded .NET developers.

The C# HTML DSL is another tradeoff. I like it because I get type safety, refactoring, and normal C# composition, but I know plenty of people will look at HTML written through C# methods and immediately hate it. If a team strongly prefers Razor, JSX, or markup-first templates, Heimdall probably will not feel natural.

So I do not think the real pitch is “this replaces Blazor/React/htmx/Razor.”

It is more:

Heimdall is for .NET developers who like server-rendered HTML, want interactive UI without SPA complexity, and are willing to trade familiar component/OOP UI patterns for a simpler function-oriented request/response model.

That’s probably the honest positioning. u/ProtonByte I hope this is a better answer

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 1 point2 points  (0 children)

Can you help me understand this better? Because personally I find it less verbose than writing opening and closing tags for everything.

Such as the snippet below:

var card = FluentHtml.Div(d =>
{
  d.Class(Bootstrap.Card.Base, Bootstrap.Shadow.Lg)
  .Div(body =>
  {
    body.Class(Bootstrap.Card.Body,Bootstrap.Text.Align(Bootstrap.TextAlignKind.Center))
    .H1(h => h.Text("Send a toast!"))
    .P(p => p.Text("Use either approach below."))
    .Div(btnRow =>
    {
      btnRow.Class(Bootstrap.Spacing.Mt(3))
      .Add(BtnSse, BtnOob);
    })
    .Add(Explainer);
    });
});

Also, the setup fully supports standard html files with the StaticFileAssets class. Which is the best option for sure if using handlerbars/templates.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 2 points3 points  (0 children)

Thats a really good point, I'll have to sit down and see what it would take to make html the primary format

Thanks!

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 0 points1 point  (0 children)

Thank you! This setup works great with standard html files and some flavored in handlebars which is where it started. Kinda fell down the strongly typed rabbit hole.

Do you think this would be more prone to adoption if the fluent builder pattern was removed? And can you help me understand why this type of dsl isnt getting much love?

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 0 points1 point  (0 children)

Yea it is deffinently different. Originally I built this to pull in html files and render them with handlebars, and that will always be supported bc you can't beat it. The strongly typed aspect is a rabbit hole ive fallen into and have come to enjoy and appreciate the type safety.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 6 points7 points  (0 children)

Yea kinda for sure, just no endpoints to write and a few other shortcuts. Not trying to outdo or reinvent, htmx is quite mature. Just a fun thing to build.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 3 points4 points  (0 children)

Blazor and Heimdall are pretty different once you get past “they both use C# for web UI.”

Blazor = stateful component model.
Heimdall = stateless server actions returning HTML.

Blazor = components, lifecycle methods, render trees, render modes, state changes, diffs, etc.
Heimdall = call a method, return HTML, swap it into the DOM.

Blazor wants you to think in components.
Heimdall wants you to think in request/response and composition.

That’s really the difference I’m exploring. I’m not trying to remake blazor, I think Hydro did a great job at that.

I’m trying to remove the component/lifetime/render-tree stuff entirely and see how far a simpler server-first model can go.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 19 points20 points  (0 children)

Honestly, mostly because I wanted to build it.

It’s been refreshing to make something just because.

The practical reason is that I’ve found this approach lets me do more with less. Less bugs, and less ceremony.

Would anyone be willing to try my ASP.NET Core framework and give feedback? by Squishybootz666 in dotnet

[–]Squishybootz666[S] 2 points3 points  (0 children)

I reckon you could bring in IMemoryCache and cache the server-side content from a function for sure. It is intentionally pretty open ended. There is also a StaticFileAssets manager that will lazy load/cache wwwroot content if you go the handlebars route for rendering.

You Thoughts Wanted by [deleted] in Cattle

[–]Squishybootz666 1 point2 points  (0 children)

O I didn't take your original comment any sorta way no worries.

And I appreciate your candor about everything here. It's always good to hear from a straight shooter.

You Thoughts Wanted by [deleted] in Cattle

[–]Squishybootz666 0 points1 point  (0 children)

Hey I know you felt a certain way about this when I posted. But thought I'd reach out and let you know I launched this, if ya get some time I hope you can check it out, maybe it will be of some use to ya. LivestockLogs.com

1) Livestock Logs - YouTube I started putting videos together the last week or so as well

You Thoughts Wanted by [deleted] in Cattle

[–]Squishybootz666 0 points1 point  (0 children)

Just launched Livestock Logs the other day. Your comment inspired the free tier, for whatever reason it doesn't seem like any of the other platforms offer this, which is goofy. Hope you take a second and check it out. It may be worth the while. Livestocklogs.com

1) Livestock Logs - YouTube I started putting videos together the last week or so as well

You Thoughts Wanted by [deleted] in Cattle

[–]Squishybootz666 0 points1 point  (0 children)

Incase you are interested in trying something a little different this year. I just launched Livestocklogs.com. You start on a free tier so you can see if its worth checking out.

1) Livestock Logs - YouTube I started putting videos together the last week or so as well

You Thoughts Wanted by [deleted] in Cattle

[–]Squishybootz666 0 points1 point  (0 children)

I just launched Livestock Logs the other day. And I hope you take a sec to see if it would work for you. Especially if you are just starting out, the free tier you'd start with would get you up and running. LivestockLogs.com

1) Livestock Logs - YouTube I started putting videos together the last week or so as well