Open tstockwell opened 1 year ago
Hi, I can make that change. No worries on that. Which one benefits you the most if I may ask?
I hadn't really considered what would be the best license. I am attempting to build a UI framework for creating server-rendered, interactive user interfaces. Kinda like an ASP.NET/MVC/Blazor/Scriban equivalent of frameworks like Hotwire, or Github Catalyst. I would want my project to be as easy as possible for .NET developers to adopt, so I suppose I would use the same license as ASP.NET, which for the most part seems to be Apache 2.0 or MIT license.
That was my reason for making this project to begin with actually. I was once forced to use MVC only by a customer, which lead me to find a modern declarative component based approach that would work with server rendering but Blazor wasn't an option. This kind of approach is built with declarative client side UI tools like AlpineJS or PetiteVue in mind, but while that would work pretty well, I have had the thought that having some additional helpers to turn C# state into valid Alpine state would be nice.
That said, I haven't dedicated the time thinking it through to know how or even which directives of this style to implement or if it would be worth it at all to abstract over a framework that is already simple for basic client side experiences that are mostly server rendered by nature.
I'll make the switch to an MIT license if that works out for you.
I'll make the switch to an MIT license if that works out for you.
Sure does, thank you.
I have had the thought that having some additional helpers to turn C# state into valid Alpine state would be nice.
I had the exact same thought, but I'm not a strong javascript developer and I don't want to go there, I want to stick to .NET. I'm very knowledgable about Blazor though, so my idea comes from what I can do with just .NET technology.
Just for giggles, here is my very first view that I am literally trying to get working at the moment (using your code, thank you). It's illustrates an idea for how to do something Alpine-like or PetiteVue-like using MVC, Scriban, and Blazor.
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
{{
count = 0
incrementAmount = 1
func IncrementCount
count = count + incrementAmount
end
}}
<div class="text-center">
<h1 class="display-4">@Model.Greeting</h1>
<p role="status">Current count: {{count}}</p>
<p>Increment amount: {{incrementAmount}}</p>
<button ref="submitButton" class="btn btn-primary" {{ bind 'click' IncrementCount }}>Click me</button>
</div>
<survey-prompt-take1 title="How is server-rendered scribor (get it, blazor + scriban :-)) working for you?" />
This view component...
The license has been changed. I'm also very interested in your approach since it's something I had not considered before. I'll be watching your Scribor repo for sure.
Hi Carlos, Thanks for creating this! I was trying to create something similar when I came across your project. I also like the support for slots.
BTW, this little project is truly useful and innovative! While researching I came across this github issue (https://github.com/dotnet/aspnetcore/issues/4901) requesting slot support for view components, which was eventually abandoned.
However, I can't possibly use your code in my project because of the GPL license, I would require a license that doesn't require all source to be disclosed (I intend to open my source eventually, but the GPL license won't work for my project).
Please consider a less restrictive license.