A
A
aminought2015-11-18 03:13:11
Java
aminought, 2015-11-18 03:13:11

What technologies to choose to create a cross-platform file manager?

Hello. I know that I'm going to write a bicycle, but that's not the point of the question, is it? The issue is the choice of technology. Any suggestions are accepted as long as they are justified. Let me tell you about my rather superficial train of thought.
Thinking about cross-platform , the first thing I decided to use Java and JavaFX. I read tutorials, added the main window to SceneBuilder, launched it. The first thing that catches your eye: slow start. What to do, you have to pay for cross-platform. Pros: high-level programming language, relatively minimal code, clear MVC, thanks to which it will be difficult to write something wrong, styling with CSS. Of the minuses: speed, and in the file manager it is important, the need to pre-install the JRE or carry a whole runtime with the application.
But you can try to evade payment? It is clear that you can try something cross-platform at the compilation level. The choice fell on Qt. Again, I read the tutorials, figured out the signals, slots, put the form in QtDesigner, launched it. Pros: speed of work, a relatively clear principle of deploying to the main platforms. Cons: MVC, which is not entirely clear right off the bat, with this approach, you can easily select one class for each form and not worry about the architecture, which will not lead to anything good, the absence of exceptions. I don’t know if C++ itself should be classified as a minus, but development speed is important to me, and it will be clearly less on it than on Java. I also saw something about Qt Quick and QML , tried to throw something in, launched it, but noticed some lags when resizing the window, like in JavaFX. I think this is a bad sign. If someone can tell me more, I'll be glad.
When reading about Qt, I noticed that it is often compared to WPF . I haven't used it myself, but WPF is said to be much more powerful than Qt. If I'm not mistaken, this is not a cross-platform solution at all, even Mono could not port it due to a lot of low-level things. Again, if you can tell me something else about WPF, I will be grateful.
As for me, I'm more inclined towards Qt, since the speed of work is still more important than the speed of development, besides, you can quite easily get working binaries of a relatively small size.
Looking forward to your suggestions, thanks in advance.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
S
Stanislav Makarov, 2015-11-18
@aminought

I won’t speak for JavaFX, it seems that the thing is developing, maybe there will finally be a normal java for the desktop; can't compare, haven't used it
Perhaps this is worth considering for new projects.
Earlier, when it appeared - yes, it was much more powerful (before the advent of QML). In general, it was probably the most advanced technology for the desktop. But it's already 2015, Qt Quick 2 and all, so Qt and WPF are already quite comparable.
Yes unfortunately. Therefore, it is reasonable for you to return to the consideration of Qt.
dotnet technology, introduced in .net 3.0, uses direct3d for rendering, windows-only. If you need more details - write in the comments.
a good choice for a cross-platform file manager, only I note that you choose you boldly enough - in 95% of cases people are looking for either a familiar language / platform, because. usually it is the language that they cannot / do not want to learn a new language. If you are sure that you are pulling C ++, then without options - Qt.

K
Konstantin, 2015-11-18
@Drakonn

QFile QDirectory, however, Qt is full of cross-platform libraries there)

R
Roman, 2015-11-18
@yarosroman

Qt, however, you will have to conditionally compile because there are file system differences between Win and *nix.

P
Pavel Ivanov, 2015-11-18
@eastywest

The first versions of the Dropbox client were written in Python. Perhaps it will suit you too, there are many libraries for writing a graphical interface, including bindings for Qt.

B
beduin01, 2015-11-18
@beduin01

https://github.com/filcuc/DOtherSide + dlang.org
Will be much easier to port than any other bundle of technologies and languages. If you don't like QML you can try sfmt https://github.com/Jebbs/DSFML

N
Neonoviiwolf, 2015-11-18
@Neonoviiwolf

I switched from learning Qt to java.
Well, firstly, with Qt, you will have to carry a bunch of libraries that will gobble up a lot of space (critical for me).
Secondly, I’m not sure that it’s possible to do something cross-platform without crap (this is my personal, because I wanted to file it on android and iOS, but I don’t know any of these platforms and I don’t have a poppy at hand, I think when trying to transfer later on iOS, I would shoot myself in both legs.As a result, I chose Java, if the project goes, I will rewrite the code in swift, having a working java application at hand

M
mystdeim, 2015-12-07
@mystdeim

If painless cross-platform is needed, then JavaFX. I’ve been writing a project on it for six months, a very nice thing)
Before that, I wrote on swing (after it, like a breath of fresh air) and a little bit on qt, on java, the development speed is noticeably higher.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question