A
A
Alexey2021-04-12 10:17:16
Programming
Alexey, 2021-04-12 10:17:16

How should I write a desktop application?

I need to write a desktop application, but I can't decide on a development environment.
Now it’s not about my skills, but in general I just need advice on what is better to write on.

The program will have several tasks that I think are difficult to implement with web applications, although it may be possible.
1. Offline mode. That is, it implies work even without the Internet, but when it is connected, it will be possible to synchronize data about files in folders next to the program.
2. Checking for specific files in folders, determining their MD5 sums, comparing them with the online version.
3. Download missing files to the specified folder.
4. Slightly non-standard GUI, in particular, ListBoxes with icons and checkboxes are needed.
5. Update the database about these files. In SQL format or a separate XML file, xs.
6. Support Windows XP/7/8/10 x32/x64.

Answer the question

In order to leave comments, you need to log in

11 answer(s)
D
Dmitry, 2021-04-12
@MaKvc

Everyone will advise what is closer to him in spirit. I would use Qt for example. If you have a time frame and not enough knowledge and practice, you can take Lazarus (Free Pascal). Yes Yes Yes!!! It's still alive! It has a lot of features, huge platform support, you can quickly solve the problem.

M
Maxim Siomin, 2021-04-12
@MaxSiominDev

C# + WPF/WinForms

H
HemulGM, 2021-04-12
@HemulGM

Delphi on all counts approaches. In addition, I note that XP is still supported in Delphi. And also, the application will consist of a single file ~ 10-15mb and will not require any third-party libraries or OS dependencies.
The development environment is free for non-commercial use RAD Studio CE 10.3. It swings from the office. site.
You can also write a mobile version. To be more precise, one application can be assembled for all platforms if written with FMX (out of the box framework).
"ListBox with icons" is a standard GUI, not a standard one - it is, for example, a list of custom elements that contain buttons, pictures, other lists, and so on. All this is easily implemented in Delphi.

G
Griboks, 2021-04-12
@Griboks

Of course C#.
ps
But if you really want to, you can write in any other language.

C
cicatrix, 2021-04-12
@cicatrix

I would advise to separate functionality and GUI altogether.
I would wrap all the functionality in a class library (dll), and then I would simply add the gui to this lib.
And write - yes, on anything.
If XP, then C# + WinForms.
Without XP, you can use WPF (it's convenient to implement this with it):

Slightly non-standard GUI, in particular, we need ListBoxes with icons and checkboxes.

It is also possible on winforms, but more labor costs.
Well, an exotic option (but not without charm) is to make a gui on html + css, and the application itself can implement the simplest web server (well, give an html file on request with a get-ohm and accept the info with a post-ohm) - but practically without platform dependencies.

U
Uncle Bogdan, 2021-04-24
@motkot

Of course, C#... If you want, you can also use C++ or even Delph/Pascal

V
Vorfall, 2021-06-15
@Vorfall

if you need to quickly and necessarily look modern, then the simplest option is c # + win form
there is a graphical interface for spacing elements on the screen and all programming will be reduced to a description of what should happen when a specific button is pressed or what to display this listbox

N
Nadim Zakirov, 2021-04-12
@zkrvndm

On what you know how, on that and write. Even in php, with a strong desire, you can make a native application that can work without the Internet.

V
Vladimir Korotenko, 2021-04-12
@firedragon

Electron + net core
The program will have several tasks that I think are difficult to implement with web applications, although it may be possible.

1. Offline mode. That is, it implies work even without the Internet, but when it is connected, it will be possible to synchronize data about files in folders next to the program.

As written, the net core part will simply connect to your server
2. Checking for specific files in folders, determining their MD5 sums, comparing them with the online version.

net core part
3. Download missing files to a specified folder.
4. Slightly non-standard GUI, in particular, ListBoxes with icons and checkboxes are needed.

Anything you please
5. Update the database about these files. In SQL format or a separate XML file, xs.

I would recommend EFcore + sqlite
6. Support Windows XP/7/8/10 x32/x64.

throw out XP
https://github.com/dotnet/core/blob/main/release-n...
Same only on winforms + .NET Framework 4
Supported by XP
Add some Telerik type components

S
Sergey Tikhonov, 2021-04-12
@tumbler

Go + gotk3, python + pygtk can be added to the list of options

A
artem, 2021-04-16
@arteqrt

Java

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question