![]() |
Meego vs Android apps (C or Java?)
Here's something that I can't answer straightforward and it would be nice to have some comments from Nokia on this.
Let's assume that MeeGo is released and that it's awesome. Now, suppose that other vendors start using it for their phones and it becomes an Android-like OS where multiple vendors are using it. Assuming the current way MeeGo is designed, is that possible? Let me explain that: Android apps are written in Java while MeeGo apps in C and other languages like python, but mostly they are written in C and that's what Nokia is pushing indirectly. Even if it is Qt, it's still C. Also Nokia changed the debian packaging to RPM packaging. Is Nokia ready to handle multiple architectures for MeeGo? Android apps are written once and they run everywhere. MeeGo apps will most probably need to be recompiled (at least) once for each architecture, just like Debian packages. I personally find this to be a very very hard obstacle for MeeGo adoption and app development. Consider that each app creator will have to provide packages for multiple architecture, something that only Debian does well. A commercial app that is distributed outside of the official repositories will have to be provided for multiple platforms, meaning that the app creator will have to compile it for multiple platforms. Considering the number of different current and future platforms out there, this is a VERY VERY hard problem to solve (if it is solvable at all). For example, an app vendor starting to develop in 2014, will still have to support hardware that was provided in 2011. From what I can see, this can only be solved if Nokia starts using a language that does not need recompilation everywhere, like Python and Java. Do you have any hints/thoughts on that? |
Re: Meego vs Android apps (C or Java?)
recompiling and fixing a few port issues is really no big deal. For C/C++ developers its part of the development cycle.Non issue for experienced devs
|
Re: Meego vs Android apps (C or Java?)
Quote:
It's not an issue of whether "it is possible" from the developer PoV. It's mostly like this: why write an app that needs adoption for 123745329876 different hardware platforms? And how can this app be supported properly? This breaks the whole "one global app repository" idea, unless something like Debian happens inside Nokia (which I doubt). Android solves this by using Java and Apple solves this by having one platform. This is somewhat similar to the problem of supporting different OS versions. |
Re: Meego vs Android apps (C or Java?)
With C/C++ you have to recompile, with Java you need to have a JVM compatible with the target host, so no big differences imo...
If Dalvik is so portable, why we don't have it on Maemo? |
Re: Meego vs Android apps (C or Java?)
Quote:
As for Dalvik, well.. the libraries seem to be tied to the OS. |
Re: Meego vs Android apps (C or Java?)
Quote:
If you're trying to create a professional app for a particular hardware platform, you're going to want to put some effort into customizing it for the peculiarities of that platform, regardless of the language you prefer to use. |
Re: Meego vs Android apps (C or Java?)
Quote:
|
Re: Meego vs Android apps (C or Java?)
Quote:
|
Re: Meego vs Android apps (C or Java?)
Quote:
Quote:
Quote:
|
Re: Meego vs Android apps (C or Java?)
Quote:
Quote:
Quote:
FWIW, the only available methods for doing this, as far as I know, are:
but you're free to correct me. Also, please don't be offensive. I could also offend you very easily for not replying correctly. |
Re: Meego vs Android apps (C or Java?)
Quote:
Quote:
This goes back to the "Store" aspect, which is not supplied by Intel (well maybe, if they adopt an Intel CPU,) Nokia, or "MeeGo" but by the hardware vendor. Quote:
Quote:
|
Re: Meego vs Android apps (C or Java?)
Quote:
which is virtually always different from the distro and hardware it was developed on. And most of the time it just works. When it doesn't, I lose a few hairs, but nevermind. As long as the file structure, APIs, etc are all the same I don't see a problem. They aren't necessarily talking about compiled apps, and if they are then whoever mandates that paints themselves out of the marketplace. It is the closed-source compiled apps with trojans and other malware that are driving the Android trainwreck into a place where your sexy new android handphone may not be welcome on some corporate networks. |
Re: Meego vs Android apps (C or Java?)
Quote:
And, of course, if you're talking about open-source software, there really isn't a significant difference. Honestly, recompiling is (for the author of a program, or for anyone with the source code,) a fairly trivial process these days. I believe that reworking your interface to support different icon and text sizes, working around the existence or lack of hardware 3D support, dealing with differences in available RAM, etc. have a far more significant impact in porting apps from one machine to another, than whether that app is written in an interpreted or a compiled language. |
Re: Meego vs Android apps (C or Java?)
Quote:
Let me rephrase the whole question: Can you (or anyone else) describe how the whole MeeGo app thing will work? I suppose that if the first device will be introduced in a couple of days, this should be already considered and decided by Nokia/MeeGo people (since they don't seem to discuss policy matters with the community). Also, I'm not claiming that a VM (or Java) is the only solution for this. In fact I dislike Java. I'm just saying that at this point, after considering all the above, I finally understand why Google went with Java for Android. |
Re: Meego vs Android apps (C or Java?)
Quote:
|
Re: Meego vs Android apps (C or Java?)
i'm not so sure on the technical aspects/development side, but you cant say things like meego devs in 2014 will have to support 2011 hardware, they won't, even android which you're comparing it to doesn't do that. there are android apps which simply won't run on the low-end phones released the same year, and every time a new build of android is released a lot of the apps need to be modified and re-uploaded.
personally, i dislike the way of building the one-size-fits-all type apps you are looking at, simply because you're catering to the lowest common denominator, instead of building for maximum performance you build for maximum compatibility which in the phone market can be a huge difference! we've been playing java games cross platform for years now, just find the right resolution for your phone, but with the n95 for example the java games came nowhere near the quality of .sis games designed specifically to utilise the n95's (at the time) power. |
Re: Meego vs Android apps (C or Java?)
Quote:
Vendors become service providers, which is what they want. Much like how Nokia has Ovi, vendors will provide their own stores (which could be set up however they wanted) tailored to their own devices. The concern you share is shared by me, but I suspect that they'll move this way regardless and push against Google. Quote:
Quote:
|
Re: Meego vs Android apps (C or Java?)
To the threadcreator:
Are you saying apps written for Android 2.3 is working on old Android like 1.5? I dont think soo! Also you saying Meego is written in C, well if you mean lowlevel API its true. If you mean highlevel API like QT then its C++ and QML(javascript based) and sometimes python(not officially supported) language like QML and python is similar to VM atleast for the developers. Also if you think Android is just pure java in lowlevel your really are wrong. there are plenty of C++/C code in android too so I dont get your point at all. Also advanced games written for Android is non java and pure C++. Another thing I personally dislike the fact to make a world where everyone is úsing exactly the same OS. People want choices! Atleast me. I dont give a **** if there is plenty more apps in Android. I still prefer Maemo/Meego. I dont wanna get feeded by some company saying what I shal use. The "Microsoft way" of feeding people with its OS is over. BUT you have one point when I thinking. The facts that Intel is a chipmanufactor and the Meego so far has progressed mostly on Intelplatform is a bit bad in way of choices if it end with only Intel chipset support. |
Re: Meego vs Android apps (C or Java?)
A large percentage of mobile apps will be possible in QML, as far as I understand it. It seems to be enough for the standard 'get data from $website -> fancy display' pattern that most mobile apps fit into. The ones that won't are games and such that will be dependent on hardware on any platform, so I'm not sure this will be a problem specific to meego.
On the other hand, I'd agree that a load of binary only C programs would be less than ideal for meego long term, if it turned out like that. |
Re: Meego vs Android apps (C or Java?)
Quote:
|
Re: Meego vs Android apps (C or Java?)
Quote:
|
Re: Meego vs Android apps (C or Java?)
I have one small point to add. Isn't Symbian written in C++? I don't see any recompiling done there. The same app will run fine on an N95 and on a N85. The same app will also run fine on an N8 and C6. So why should an application, just because it is written in C need recompiling?
If the vendors stick to the same architecture and Meego is programmed to cater for these differences, I don't see why it can't succeed. If Meego gets seperated in x86 and ARM..there's the big problem then... Besides even if apps have to BE recompiled, it might prove a good idea in a developer's point of view. It will seriously hinder piracy for one thing. In Android, there are torrents with 3000 pirated apps and games. These will work on every Android phone there is. If they needed to be recompiled, they could only work on one phone only. In a user's point of view it would prove useful to have an app for a certain phone only. What if a phone comes out with some type of Kinect for example? Would a developer bother developing the app to use it if all other phones don't have it? But having an app specifically for that phone would prove useful. These are all what ifs after all. There's absolutely no reason why being written in C should require any recompiling. The OS should handle everything from scaling of different resolutions to the way different architecture might handle it. I don't see any games on a PC having to be recompiled to run on a Pentium 4 or a Core I7. Or having to recompiled to run on a different resolution. It is ridiculous to suggest this should be done on mobile platforms. The OS should handle these things. The OS should be slightly modified for different platforms, but that's it. It would still be more efficient than a VM environment. Symbian does this well. Meego should too. (I used the word should..). |
Re: Meego vs Android apps (C or Java?)
Quote:
And the OP was incorrect: native Qt apps are C++, not C. Quote:
|
Re: Meego vs Android apps (C or Java?)
I think this is all wrong.... Nokia and Intel would not spend time, effort and resources to make an operating system that is "App-centric" but requires the developers to tweak all their apps for each device.
What is taking a long time is to make this a platform perfect from the get-go (unlike WP7 which was rushed before Android dominance became too difficult to penetrate). Nokia and Intel are trying to make a developer kit on Qt ... that once you create an App using those libraries, it will be supported on ALL Meego devices regardless of processor diversity (ARM) or even architecture (x86 Atom). And this makes sense, nothing else does. And if that is not the case (ie all apps need tweaks for different devices or architecture) then Meego will fail badly, along with Nokia (and at best they will be in the niche like Palm). |
Re: Meego vs Android apps (C or Java?)
Quote:
Quote:
And python is not considered VM-base like Java. It is conasidered to be interpreted and it doesn't need recompilation, even if it uses a VM internally. As for QML, it is not adopted yet so until I see something big written in it I prefer not to consider it. |
Re: Meego vs Android apps (C or Java?)
Quote:
For ovi to support multiple platforms:
The more I think of it, the more I believe that it will alienate other phone vendors... But part of the original question still stands: Did Nokia and Intel consider this? |
Re: Meego vs Android apps (C or Java?)
Quote:
|
Re: Meego vs Android apps (C or Java?)
Quote:
I'm having a real hard time believing Nokia and Intel went to all this trouble for that. (I mean if that's the case then Nokia didn't really benefit by teaming up with Intel - contrary to what they said). I don't know, something smells fishy. |
Re: Meego vs Android apps (C or Java?)
A few thoughts for you.
Quote:
Quote:
Quote:
In Qt Creator I can compile my app for the desktop and also ARM, all with a push of a button. AFAIK MeeGo's OBS (build system similar to Maemo's Autobuilder) also compiles for both ARM and x86 automatically. |
Re: Meego vs Android apps (C or Java?)
Quote:
I don't see why you think there would be the need for several entire development kits, it simply doesn't work like that. |
Re: Meego vs Android apps (C or Java?)
There is one wrong assumption in this discussion, that there won't be a Java VM under Meego.
Who knows? |
Re: Meego vs Android apps (C or Java?)
Actually, the wrong assumption in this thread is that Nokia are interested in hosting apps for other handset manufacturers in Ovi. The MeeGo community repositories will host packages for each supported architecture. Nokia Ovi will host a repo specific for their devices. From an ISVs standpoint the benifits of using MeeGo are not being tied to Google app store, each vendor can have their own app store. This will be very liberating for vendors and will give them their power back.
|
Re: Meego vs Android apps (C or Java?)
Quote:
Anyway. What we really need here is a statement from Nokia people that have insight of what's happening there. The thread is not meant to be a good or bad Nokia/MeeGo/Intel/Whatever. It's just a question: Did Nokia/MeeGo/Intel thought about this? And if so, what's they're standing? |
Re: Meego vs Android apps (C or Java?)
Yes, they've thought about it. Qt is their platform, write once deploy everywhere.
You may think having a single app store like google is the future. But given the opportunity any ISV would want their own app store, like apple, like rim and like Nokia. It's a no brainer income generator. |
Re: Meego vs Android apps (C or Java?)
Android supports multiple non-official stores (read: APK repos). There is no requirement to use the Google Android Market to run Android.
Currently it seems that the Google Market is the largest by a wide margin, but the times they are a-changin'. Amazon is launching a Android specific app store with an interesting sales model. , Samsung, Verizon, etc, etc, also have very small stores. There are also stores unaffiliated with Android or devices like AndAppStore, App Brain, and Appslib. I make no assertions in regard to said store's quality, but they do exist. Bottom line: Android OS is not irrevocably tied to the Android Market, though it may appear that way based on popular distribution. The APK container format, Dalvik, and well thought out Android SDK make many apps extremely portable. I expect more stores to pop up with competing propositions, as well as a general quality to improvement given time. |
Re: Meego vs Android apps (C or Java?)
I didn't know that, I presumed the store was just another Google service handsets were locked to, well that's good to know.
|
Re: Meego vs Android apps (C or Java?)
Quote:
Quote:
|
Re: Meego vs Android apps (C or Java?)
I Can see V13's point very clearly, As a former N900 owner, and a Former Maemo Qt developer, Now an android owner and developer,
I can already feel how much easier maintaining an android app is - compared to a C++/Qt application, and also how much more rewarding it is. The Goal (as I understand V13 is thinking about it) - Give developers easy tools, to develop, distribute, maintain and sell applications, while rewarding them properly with income to keep them coming once more. Once this goal is achieved, in my opinion, an OS which aims to run on multiple brands and architectures, has a good fighting chance in todays market. Standing between that goal and the current situation are multiple aspects, let us analyze them.
The problem of having to take into consideration multiple form factors and added features, in the essence of peripherals, is a common one to all modern smartphone OSs. Android / Meego / And surprisingly, even apple, have this problem. The developer must write his app to use the correct hardware, if available, and the UI needs to be able to adapt to screen size / resolution. Different distribution methods is where so far, the N900 has been failing at, and we just don't know yet if MeeGo will address this problem with an adequate solution. There is no doubt that the ease in which the Android market and Apple app-store allow developers to upload an application which will intern be able to be executed and used correctly on a very big quantity of end-user devices, is appealing towards developers. As for CPU architecture : Personally as a developer, I don't want to have to test and own 5 different devices just to be able to check if my compiled binary file really runs on all different 5 architectures. I don't have time to do it, and don't have the money to do it. If the development IDE / SDK, allows me to select from a list of checkboxes, to which architectures I'd like to compile, and automatically upload all binaries to Ovi store, and this will really work, then we don't have a problem. Currently in C++/Qt developers have to use #ifndef's to include/exclude hardware / distribution specific code to make things work both on Maemo and S60 and MeeGo. If this will stop when meego is around, by supplying all the required tools via an API, this is again one step closer to allowing a batch compile to multiple architectures. Finally, the whole thing should be easy to perform and require little time. Fast penetration with a large market of applications is necessary to succeed. |
Re: Meego vs Android apps (C or Java?)
Quote:
And about QtQuick: QtComponents(written in QML/javascript) will replace todays Libmeegotouch UI in meego that was written in C++ and now most done in QML language. also it seems symbian will use it (=arm cpu:s). Latest release of QTCreator has already support for different targets: arm/x86 and even different os:es like Linux, Windows, Macosx, Maemo/Meego, Winmobile... And about the progress in this areas: Public repository avaible at gitorius. |
Re: Meego vs Android apps (C or Java?)
Quote:
But when using MeeGo, who will dare (or care) to introduce a new architecture or improved hardware? It's not only a matter of architecture. Even an improved instruction set or extra registers will be useless if you have the same binaries, just like it happens with Debian (all programs are compiled for ridiculously old hardware). |
| All times are GMT. The time now is 08:23. |
vBulletin® Version 3.8.8