Qt on Windows 8
I just bought a new notebook and I have Ubuntu on it atm ... but to use it with all the drivers and at full capacity I would need windows 8 ... and I was wondering whether can I develop Qt applications from Windows 8 and for Windows 8 . I'm afraid that programs run on win8 or ,even worse, they won't even compile .
Thank you in advance!
If you mean Windows 8 Desktop applications, then yes. That works fine!
You can develop applications with Visual Studio or with MinGW.
If you mean "apps" for the new Windows 8 Touchscreen interface, aka Metro, then the answers is: not yet.
But they are working on it...
(Though developing for Metro is pointless anyway, as long as it remains a "censored" place, similar to iOS)
I meant any of the two :D
I just want to practice my skills ... though I want to start learning Java too in the near future for Android ^_^
Thank you very much for your answer :)
In case you don't know, Qt5.1 promise to support android development on linux and windows, most of the Qt modules of Qt5.1 are availabel on android, you don't need to rewrite your codes if you developed your apps by Qt5.
but google recommends java for android development rather than c++ , how much is that recommandation worth ?
also ... i want to expand my knowledge outside of c++ too :D
bq. also … i want to expand my knowledge outside of c++ too
Nice spirit, it is very important for programmers to learn more than one language.
bq. but google recommends java for android development rather than c++ , how much is that recommandation worth ?
Exactly, I don't know how much it worth, but I could give you some advantages and disadvantages of deploying apps on android by Qt5(just my opinions, it may be subjective and do not cover the truth properly).
2 : Using the java api provided by google means you need a lot of jobs to port your apps onto another platform, but with the power of Qt5 and c++, you can port your apps without changing your codes(or just change a little bit) to many platforms.
3 : it is very easy to leverage the power of openGL + cplusplus by Qt5, this could be a big help if your apps need to do complicated works, especially the apps of image processing.
4 : qml(QtQuick) is very good at creating fluently, highly customize UI, the performance are pretty good since it make a good use of the power of GPU.
The disadvantages I could come out with using Qt5 are
1 : it is still under developing, not yet mature(Qt5.1 haven't released yet)
2 : Although c++ could port to many platforms, but the works of compile and link
are not too friendly.
3 : Qt5.1 do not fully support android development yet, we have to wait until Qt5.2(5.2 will support ios too)
4 : Harder to find data compare to java on android
5 : QtQuick2 can't run without the support of openGL(the GPU need to support it, on windows, Qt use angle to translate the api within directX and openGL)
java on android or Qt5, it depends on your needs
I would stick with Qt5, because the power of portability is a huge advantage
besides, I like the api(and qml) of Qt more than the api provided by googles
Thank you very much.
I think I'll learn Java and see how it goes :) I want to become familiar w/ it since it is used pretty much nowadays :D
IMHO Java has some bigger drawbacks then C++ and Qt. When developing for Java there is another "layer" between your code and the OS, as to Qt being compiled directly on the OS itself without needed to be installed on the running system.
Java relies on a "Garbage Controller" which is a way for sloppy programmers to "forget" deallocation and get away with it. As programmer your always responsible for proper allocation and de-allocation if needed. Qt helps here with automatic de-allocation of QObjects no longer referenced, but this is totally NOT a garbage controller!
Learning something new is also good to do as programmer anyway, so start Java and compare to Qt for Android when that is released.
its "garbage collector" not "garbage controller". and yes, its evil. you almost cant control its behavior and sometimes its decides to to its work in wrong place, wrong time :(
also keep in mind that in Java you always have to keep jvm (or dalvik in case of android) in memory and this beast translates java commands to cpu commands in realtime which generate huge performance impact
I see ... thank you for all the info ... I have 2 important exams this summer and need to learn for them in order to get into college . but after the exams i'll pick up on java so i'll be able to compare it to qt on android when it will be available
Don't learn them all at once.(-> means then)
Besides, I don't think garbage collector is evil, it is one of the solution to manage
resources, there are no one way fit all method to handle resources. Even java do not
allow us to handle the memory manually, we could rely on JNI if we
need to(well, more verbose, I admit).