PDA

View Full Version : QFtp or QNetworkAccessManager, what's the trend?



i92guboj
2nd May 2014, 18:54
Hello.

I have been googling but it's a bit confusing.

I've been developing using Qt4 for some months now. QFtp is nice and easy to handle, but it seems it's being deprecated in 5.x. But, the fact is that 5.x doesn't have any way that I know of of handling anything that's not put()'ing or get()'ing files. I can't even get a file listing, it seems (or maybe I overlooked something...).

So, what's the trend regarding this? Has anything happened in 5.2 that I am not aware of or should I just stick to 4.x until all this nonsense is sorted in one way or another?

How do you, people, handle ftp in 5.x? What would you use to write, let's say, a full blown ftp client in Qt 5.x using only the standard stuff that comes in the official qt bundle?

I know QFtp is being maintained as an external module, but that feels a bit awkward, doesn't it?

Thanks for any idea or tip you can share.

Regards :)

anda_skoa
3rd May 2014, 17:41
If you need the full capabilities of QFtp, then use QFtp

Cheers,
_

i92guboj
28th May 2014, 16:48
Thanks for the comment.

I was hopping that, by this time, there would be some replacement for QFtp in the stock qt5 package, but I see that's not true. So, for me, qt5 isn't a viable option, with all that implies.

wysota
28th May 2014, 16:56
Why would there be a replacement if QFtp is available in the base Qt package?

i92guboj
28th May 2014, 17:54
Not in qt5, as far as I know, and as far as this says: http://qt-project.org/doc/qt-5/classes.html

Admittedly, I didn't try qt5 myself, mostly because of this, so I could be wrong. But I doubt it, since this is a recurrent topic all around the internet. QNetworkAccessManager can't substitute QFtp, and qt5 has no QFtp, officially.

Yes, I know I can install it from gitorius or whatever, but that's out of what I am willing to do for several reasons that are not so relevant for the topic at hand.

wysota
28th May 2014, 17:59
Not in qt5, as far as I know, and as far as this says: http://qt-project.org/doc/qt-5/classes.html

It's a separate module but does it matter?

i92guboj
28th May 2014, 18:18
I guess it depends on who you ask to.

I see it this way: QFtp is nice, integrates with Qt signal/slot stuff, it's easy to manage, but I have no idea how long it will be alive. Libcurl has been alive for ages, and it's not gonna die anytime soon, plus I also have some experience with it. There are several other alternatives with similar capabilities.

It might be harder to write it, but, unlike with QFtp, I am 100% sure that next year I can continue using it.

Now, if you were gonna port a application to Qt5, maybe to adapt it also for mobile platforms and several OSes in the future, would you be using a discontinued product for a vital part of it? ;)

Of course, my impressions about the current state of QFtp as an outsider could very well be wrong, but I would feel much better if it was part of the official Qt distribution. That's the reason I am asking. :)

Thanks.

wysota
29th May 2014, 10:06
I see it this way: QFtp is nice, integrates with Qt signal/slot stuff, it's easy to manage, but I have no idea how long it will be alive.
It is open-source, it will always be alive.


It might be harder to write it, but, unlike with QFtp, I am 100% sure that next year I can continue using it.
The probability of it vanishing is the same as probability of any other component available in the Internet to vanish. The module has been extracted from base Qt package because it is not actively maintained anymore by the core Qt team.

i92guboj
29th May 2014, 10:48
It is open-source, it will always be alive.

So I hope. So I hope. But, things go wrong sometimes. I see projects be born, die, fork, merge and explode everyday. No one can predict that. All software I use since 15 years ago is open source, so I know for good. In the Linux world I also see incomplete, not-ready-for-production software being forced down the throat of the users by the big ones in detriment of products that have been being used for years without important issues, I could name concrete cases, some of them happening right now, but that's out of the scope of the thread as well.


The probability of it vanishing is the same as probability of any other component available in the Internet to vanish. The module has been extracted from base Qt package because it is not actively maintained anymore by the core Qt team.

As long as the qt foundations it relies upon don't get deprecated as well. You know, sometimes repositories bit-rot. That would turn QFtp in something like the Trinity Desktop Environment, whose only developer ended up "maintaining" not only the KDE3 base, but also Qt3 as a whole. I just want to make sure I won't end in a similar suicidal situation :lol: :P

You are probably in a better position than I am to speak about that, though, since I have no idea about how QFtp is implemented or which Qt parts it relies on.

Like with everything in life I guess I will have to take my bet and fix it afterwards if it breaks.

Thank you, everyone, for all the ideas :)

wysota
29th May 2014, 11:59
As long as the qt foundations it relies upon don't get deprecated as well.
Even if it does, Qt will not go down with it. And if it did, then QFtp being unavailable would be the least of your problems, I think.


You know, sometimes repositories bit-rot.
So make a copy of the repository, burn it on a disk and distribute the code with your software.

i92guboj
29th May 2014, 14:14
Maybe I wasn't clear. I don'tthink that Qt will dice nytime soon. Its lifespan might even sus pase that of the mankind :p

I rather fear that some change un TVE Qt internals might break QFtp beyond repair. That's where I was going with the word 'bit-rot' as well.

Indeed, as you say, if Qt dissapears then I'll hace some other questions to worry about :lol:

wysota
29th May 2014, 16:55
First of all QFtp is not developed anymore so it is highly unlikely it will get broken before Qt 6.0. Second of all the repository contains all the development history so you can always go back in time and get an earlier release.