View Single Post
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#179
Originally Posted by Kangal View Post
Okay ... but how would a mobileOS constructed around Python+QML fare against one such as Dalvik+JIT ?

1) Do the advantages of C++ (or Qt/QML) outweigh the advantages of java (or Dalvik/VM)??

2) Does the disadvantages of java (Dalvik/VM) outweigh those of C++ (or Qt/QML)??
Depends on the type of your application (though the comparison is somewhat apples to oranges). No silver bullet, some things are easier to in one, some in the other.

Based on my newbie-view (you can stop reading here if you want)
the way I see it with java;
-you get the advantage that its "easier" to develop
-more people know java coding, perhaps more developers
-works everywhere as long as the VM/engine is there

With C++/Qt/QML;
-you get very responsive applications (no slow animations)
-less buggy* (easy to correct mistakes; this one's personal)
-your work can be recycled and re-used for other systems (eg port to iOS)
-nearly as compatible as java-deployment
Can't really agree - C(++) is the one that can go to (almost any) platform, Qt alone *officially* addresses ~12 platforms. Dalvik is not a full Java VM so while generic code is transferable, APIs aren't. Android code runs only on Android, and even in the 'real' Java world there are only IIRC 4 officially supported Java platforms plus a few more have it through OpenJDK and Harmony. Java was sort of popular in mobiles through J2ME prior to the iPhone world, but compatibility-wise, that was fragmentation hell. I agree there are more Java programmers nowadays, but whether it's easier... maybe, I would say it's fairly subjective in this context - Qt does make a lot of the C++ ugliness go away (personally, I like C++ w Qt more than Java, but I like Java more than stdlib based C++), and the doing the UI in QML usually makes the C++ part reasonably short.
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc