gircore / gir.core

A C# binding generator for GObject based libraries providing a C# friendly API surface
https://gircore.github.io/
MIT License
314 stars 29 forks source link

Add a Gnome app template #938

Open UrtsiSantsi opened 1 year ago

UrtsiSantsi commented 1 year ago

Add a template for Gnome app, similar to gircore-blueprint-template, with support for

UrtsiSantsi commented 1 year ago

The samples in the project are very simplistic and very few in number. For a newcomer templates like gircore-blueprint-template are a great start.

fsobolev commented 1 year ago

I would take an inspiration from templates in GNOME Builder and in this case at least one thing that is missing in the list is translation with gettext.

UrtsiSantsi commented 1 year ago

Thanks, I added it.

badcel commented 1 year ago

I'm open for contributions here.

One important thing for me is that the template should still be minimal and easy to adopt or configure to the needs of the user e.g. if not all features are needed.

Perhaps even a template should start as simple as possible and then be extended step by step with some configuration options.

UrtsiSantsi commented 1 year ago

I'm a newcomer, if I could write all of this, I won't need to open an issue :) Having this template (and other) and more samples will help to attract newcomers. Otherwise they will just move on to something easier and more convenient - nobody likes to read a ton of documentation all over the place before they see some result. But if they can easily start and reach to a point where their app is working sufficiently well, they might as well contribute to this project when they find a bug or a missing functionality. And they will also have built some experience working with this technology. Very few people will start contributing to this type of project otherwise without a good reason like work or school requirements and it is evident from the number of contributors to this repo.

badcel commented 1 year ago

Thank you for the feedback. I agree with you. But currently there are still basic things missing as the readme clearly states. Having an easy start surely is important but before I concentrate on such things the foundation must be there.

At the same time those things like templates are perfectly fine to be contributed as they do not require specific knowledge of e.g. the code generator but “only” of the public api (see samples) and general dotnet knowledge which should be easy to find online.

UrtsiSantsi commented 1 year ago

I'm not blaming you - I know it is a volunteer project, done in your free time.

At the same time I disagree that it is easy to be done:

For newcomers or people coming from Windows all of that can be a lot.

nlogozzo commented 1 year ago

In the mean time, you could look at our application template which does all this while utilizing gir.core and csharp.

badcel commented 1 year ago

Additionally we could link from the use page to your template as a sample as long as there is no proper template available.

what do you think?

fsobolev commented 1 year ago

I have an idea for a small tutorial. Not GTK tutorial, but about using extra stuff with gir.core, covering topics mentioned in the first post here. I don't know if the result will be really a minimal template, but at least it will be easier to work with for newcomers than with Nickvision template (not like Nickvision template is too complicated, but it has some specific things that go out of scope for a minimal template). I will find time in a couple of days to work on it.

badcel commented 1 year ago

Great 👍. I think it would be nice to guide users a little more and to have links to the wider eco system which is starting to evolve (e.g. your app template or e.g. BlazorWebview). Perhaps just creating a new eco system page on the homepage collecting useful links.

I created #950.

UrtsiSantsi commented 1 year ago

In the mean time, you could look at our application template which does all this while utilizing gir.core and csharp.

@nlogozzo It has a lot of useful things and it is a good reference for more complex apps, but it is not exactly minimal - it has Gnome\non-Gnome split, MVC, it references Aura... For newcomers a simpler template is better start.

amka commented 7 months ago

Hey! Just wanna let you know I forked the original gircore-blueprint-template and updated it to work properly with Gnome Builder and Flatpak out of the box:

The next step is to add GResource support. Will keep you in touch.

And, of course, any suggestions are welcome!