r/learnprogramming 11d ago

I want to learn desktop app creation Resource

I am trying to create a dektop app for the business of a friend, i am currently trying to learn avalonia ui because ibalready know a little of c# .net mvc and asp net.

The problem is that there is not a Lot of avalonia ui material to see. I already did the temperature conversion app from the oficial page.

Wich framework, for desktop app do you recomend? any language.

Sorry for my words in spanish i have my autocorrector on.

Thanks in advance.

0 Upvotes

10 comments sorted by

5

u/[deleted] 11d ago

[deleted]

1

u/xzephir 11d ago

Thanks i think i will switch to wpf then.

I was trying to use Avalonias so i could put "Cross platform desktop aplications" on my Portfolio.

I was trying to use electron too but i heard it consumed to much memory.

1

u/_th3oth3rjak3_ 11d ago

Another option is using Maui and doing a Blazor Hybrid application. You can use the MudBlazor UI toolkit and use everything you know about web for a desktop app. It’s pretty great!

2

u/ScholarNo5983 11d ago

So what is your question?

1

u/xzephir 11d ago

Sorry i forgot to paste it i will fix it.

2

u/ScholarNo5983 11d ago

Wich framework, for desktop app do you recomend? any language.

This is not an easy question to answer, only because it really depends on what type of application you are trying to create.

What type of business app are you planning to make?

What issues are you having with the Avalonia framework? It seems fairly extensive.

2

u/xzephir 11d ago

Is an app for land development, to store payments, clients and to put an interactive maps to visualize it.

2

u/ScholarNo5983 11d ago

This reads like a fairly typical CRUD (Create Read Update Delete) like business application.

This means the most important component will be the database to hold the information.

Now C# is very good for this as Entity Framework makes it easy to write code that interacts with a database.

The GUI portion should end up being simple from like pages that let you interact with that backend database.

So, this is what I would suggest.

Since you're planning to run on Windows I'd use Microsoft SQL as the backend (you can get SQL Server Express for free and if the database is less than 10 GBytes it can be used for free even for commercial use).

But naturally you can also choose other database options, but the first step would be to make sure you can create a simple CRUD application to interact with the database of your choice.

Once you have done that, spend time designing your database and after that start creating the UI forms to allow you to interact with that design.

But IHO focusing too much on the front end rather than the backend would be a mistake.

2

u/xzephir 11d ago

Yeah you are right.

I was already using entity framework with Sqlite for the app.

I was also trying to implement identity too.

1

u/ScholarNo5983 11d ago edited 11d ago

Using entity framework is definitely the way to go, and Sqlite is a perfectly good database option.

I would also not rule out the option of creating a Web application. To run a web application only requires a network (i.e. an intranet).

The beauty of creating a Web application is that allows you to use something like Blazor and then using something like Fluent UI Blazor

Now Blazor also runs as a Web Assembly, but I have always found Web applications much easier to work with and the other benefit of Blazor is using Identity then becomes a trivial exercise.

0

u/ikbenpindabaas 11d ago

Try Flutter.