Phonegap / AppMobi pros and cons

0 favourites
  • Hello all :)

    Recently I published a android market application, made in construct 2 and built with phonegap. Also some time ago I published here a link to an article about how developers using appmobi should move to phonegap. As now I can take side, I'd like to do it here and encourage other people that have published their apps to market, to do so.

    AppMobi has a HUGE problem with published apps. It's not having a control over application version. This means, if you plan to publish an updated version of your app, it will have the same version number on android market. On the other side, in phonegap you specify your app version, which after upload to android market will SEND A MESSAGE to all your app users (that are currently online, because market app needs to check this), that there is an updated version available and that they should download it.

    PhoneGap has also a HUGE problem. There's no sound support in construct phonegap builds (currently, I don't know if this is going to change - Ashley ? :) AppMobi has no problems with sounds.

    Couple of minor differences between phonegap and appmobi I encountered:

    1) in phonegap you CAN remove the native status bar and launch your app in full screen, in appmobi there's (currently) no option to remove phone's status bar.

    2) in phonegap you have more control over permissions your app requires, minimum is storage, calls and network. in appmobi there's reading and writing contact data (exclamation mark here) required.

    3) phonegap seems to be easier to build, you upload code to phonegap build and it's done.

    4) appmobi builds have a com.company.company.appname package name for some reason (or maybe I didn't configure appmobi correctly)

    5) phonegap seems to be actually quicker than appmobi (about 5-10fps more on my nexus one android), but this probably will change when construct will support appmobi's direct canvas.

    6) phonegap build service allows only one private app, which is not a big deal for me as it can by any app any time. this means no application management at all, in appmobi you can have as many apps as you please in one time.

    In conclusion, if construct team would be so kind and fix sound support in phonegap, I would move (and would recommend all of you the same) to phonegap.

    TLDR: Construct team, please fix audio in phonegap, and all of you out there, make your builds with it. in appmobi you don't have control over application version which will prevent you from updating it via android market app.

    cheers!

  • Thanks for this analysis! But im still a AppMobi kinda guy <img src="smileys/smiley1.gif" border="0" align="middle" />. They have many great API's that Ashley is going to incorporate into C2, in app purchases and Ads ect. Overall AppMobi has more, But I do like the simplicity of Phonegap. But games simply cannot go without audio, no audio would make a good game bad unless the art is sooo amazing that having no audio could be part of the game maybe?

    The only game I can think of that could get around not having audio would be Limbo <img src="smileys/smiley23.gif" border="0" align="middle" />, Simply because the game is amazing!

    I think AppMobi's direct canvas will mean much better performance, but I do really like phonegap <img src="smileys/smiley1.gif" border="0" align="middle" />.

  • in app purchases and Ads ect.

    with some smart use of ajax and iframes you could make app purchases and ads in phonegap for free, as far as I know, phonegap apis are paid extensions.

    But games simply cannot go without audio, no audio would make a good game bad unless the art is sooo amazing that having no audio could be part of the game maybe?

    agreed, that's why for now, appmobi is the only option for games in construct, but I bet the phonegap export will have audio fixed in some future build hopefully not so far away, as in the lates blog post, Ashley stated that construct is taking the mobile direction :)

    I think AppMobi's direct canvas will mean much better performance.

    We'll see, probably that's true, but again, not having control over your app version is the main reason I'm not staying with appmobi.

  • Whats this app version thing your talking about? I am unsure what it is, or why its of any importance..? Maybe it might make me change my mind about AppMobi

  • Whats this app version thing your talking about? I am unsure what it is, or why its of any importance..? Maybe it might make me change my mind about AppMobi

    as I explained in the original post. if you publish appmobi build to android market, in there the app will display version number: 3.4.0

    that's all control you have over it, 3.4.0 nothing there to do with it, you cannot change it in any way.

    now in phonegap you can set version 1.0, 1.1, 1.2 and increment it every time you publish to android market.

    now, why is that so important? let's say 1000 users downloaded and installed your app. now you decided to update it with more content, bug fixes, etc. you update it on android market and if it's appmobi build, the version is still 3.4.0. if it's phonegap build, your users will be notified by their device, that there's new updated version of your app available and ask them to update it automatically. this is a standard for apps and games, and appmobi did it this way probably to force people to use their paid updating api and for me as a developer this is a big warning sign and is unacceptable.

    best of luck, no matter if you change your mind or not. friendly warning :)

  • I would like to add my two cents, appmobi sounds awesome but it's ridden with incredible issues.

    I'm one the iPhone side and I would like to add something else to what ranma said.

    1) AppMobi currently violates the apple store policy, the reason is their update feature that downloads the updated game directly on the container (to be honest they were fixing this last time I checked)

    2) Phonegap is open source, if you have a mac with xcode you can compile it yourself, this means that every new feature of the iOS (for instance an eventual webGL support) can be accessed immediately, also there are several plugins and an active community. With appmobi you are betting on a closed platform that may or may not exist in the future, I can download and compile phonegap how many times I want.

    Also I've yet to see an actual example of the direct canvas, the game currently on the appstore built with impact/appmobi don't run that good, they are mostly fluid but I don't think that they get past 20-30fps tops.

  • the game currently on the appstore built with impact/appmobi don't run that good, they are mostly fluid but I don't think that they get past 20-30fps tops.

    out of curiosity, did you compare phonegap's and appmobi's speed on iphone/ipad device? I only did this on android and noticed that phonegap seems to be a little faster. If you did, care to share how was it?

  • AppMobi has a HUGE problem with published apps. It's not having a control over application version.

    Have you contacted them about this? It does seem silly to have the AppMobi version instead of your app's version, but they may be willing to fix it.

    Have you looked at Live Update as well? I think it's an autoupdate system for all your apps.

    honeGap has also a HUGE problem. There's no sound support in construct phonegap builds (currently, I don't know if this is going to change - Ashley ? :) AppMobi has no problems with sounds.

    I've tried, and failed, to get PhoneGap to play audio. It just doesn't support it AFAIK. AppMobi specifically provide an alternative way to play audio which I've plugged in to the Audio object, which is why it works. It would be nice if PhoneGap could play audio, but to be honest after a few months watching what they're doing and trying to prod them in to better supporting games, they just don't appear to be interested. I think they're more about supporting website-style apps. Their open source model also makes it hard to contact anyone in charge or get a clear status on what their plans are. I really like PhoneGap, but it's just not progressing fast enough. AppMobi are doing loads on the other hand, and things like playMobi look really good, which is why we're shifting focus - PhoneGap support is about as good as it can be right now.

    n appmobi there's reading and writing contact data (exclamation mark here) required.

    That's ridiculous for a game and is surely going to lose you players. I'll see if AppMobi provides a way to fix that, but you should contact AppMobi as well in case they can help you.

    ) appmobi builds have a com.company.company.appname package name for some reason (or maybe I didn't configure appmobi correctly)

    I don't think you set it up right, I think it's supposed to use your project name which you set yourself to something like "com.scirra.spaceblaster".

    ) phonegap seems to be actually quicker than appmobi

    There's no reason for either platform to be faster since they both use the phone's browser to display the game. So I doubt there is a significant practical difference. Hopefully directCanvas will help appMobi pull ahead.

  • > AppMobi has a HUGE problem with published apps. It's not having a control over application version.

    Have you contacted them about this? It does seem silly to have the AppMobi version instead of your app's version, but they may be willing to fix it.

    Have you looked at Live Update as well? I think it's an autoupdate system for all your apps.

    I didn't but there's nothing to fix. It seems that they had users control over app version until they released Live Update, problem is that live update is a paid service, and apple doesn't seem to like it. I aggree that this is ridiculous.

    honeGap has also a HUGE problem. There's no sound support in construct phonegap builds (currently, I don't know if this is going to change - Ashley ? :) AppMobi has no problems with sounds.

    I've tried, and failed, to get PhoneGap to play audio. It just doesn't support it AFAIK.

    not true, I managed to actually play audio using phonegap media object using some sick workarounds and external (over uri) source, maybe this will help, please check it out, maybe it's the way http://docs.phonegap.com/en/1.4.1/phonegap_media_media.md.html#Media

    n appmobi there's reading and writing contact data (exclamation mark here) required.

    That's ridiculous for a game and is surely going to lose you players. I'll see if AppMobi provides a way to fix that, but you should contact AppMobi as well in case they can help you.

    also no need to do that, as they stated that "There are a set of default permissions that we must allow, due to how our base container works. We do allow users to turn off some of them, like GPS and streaming." wow, now I'm left with only eleven permissions, compared to phonegap's 4.

    ) appmobi builds have a com.company.company.appname package name for some reason (or maybe I didn't configure appmobi correctly)

    I don't think you set it up right, I think it's supposed to use your project name which you set yourself to something like "com.scirra.spaceblaster".

    I'll check it out again, but it seems that appmobi appends company name and then android market does it again and that's why the confusion.

  • I'm having the issue with Phonegap where my game looks tiled. It is set to 800*480 in C2 but I have the project set to fullscreen scale mode anyway. Then when I run it on my phone, at the right side of my game there is a gap where the game seems to repeat itself, like a tiled image.

    Anyone have this with theres? And/or know a solution?

    Edit*

    Also on a side note, adding the following to the xml exported with phonegap will remove the status bar. Would be a nice option to include when exporting instead of having to edit and update the xml each time I export it:

    <preference name="fullscreen" value="true" />

  • ranma, the Audio object already uses PhoneGap's Media API to play sounds. Within PhoneGap, all 'play' actions are redirected to the thing you linked me to. And everyone reports nothing plays. So I don't know what to do, I've read other people have had problems with it though.

  • ranma, the Audio object already uses PhoneGap's Media API to play sounds. Within PhoneGap, all 'play' actions are redirected to the thing you linked me to. And everyone reports nothing plays. So I don't know what to do, I've read other people have had problems with it though.

    :( I will do some tests with it, will PM you about how it went if you don't mind, as for me it is now the only thing that is blocking me from publishing some really good and finished games to market / appstore.

    Another addition to the first post. Appmobi apps actualy weigh about twice as much as phonegap build as they seem to unpack some data during install.

  • For anyone that is interested in getting sound in phonegap, here's temporary workaround (hope that it gets implemented in C2), you have to use browser or callJavascript plugin and call this bit of JS to play sound (assuming your sounds export folder is "media"):

        var myaudio = new Media("/android_asset/www/media/someSound.ogg");
        myaudio.play();
    
  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Just to say : if you want to do something with PhoneGap and Audio, don't use their native Media stuff (I know, I know, multiplatforms and all, yay !)

    Use a plugin to deal with that, for example that one : https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/SoundPlug on iOS (that one is promising, but it's only a month old : https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/LowLatencyAudio, although there's also that one for the Android platform in the github tree)

  • Just to say : if you want to do something with PhoneGap and Audio, don't use their native Media stuff (I know, I know, multiplatforms and all, yay !)

    Use a plugin to deal with that, for example that one : https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/SoundPlug on iOS (that one is promising, but it's only a month old : https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/LowLatencyAudio, although there's also that one for the Android platform in the github tree)

    why? :D

    i mean, how is that better than phonegaps native media?

    also I had real fun yesterday with eclipse, the BEST thing about it, is that you can export from construct to the eclipse workspace folder, then from eclipse just run the project on your device with one click of a button, this way testing your app is no pain at all (appmobi, every build is about 10 "next" clicks, uploading to phone, installing apk).

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)