[Cross-posting a message from dev.platforms.mobile]

I've been doing a lot of [webapp-]related work recently, and in fact
shipped a Firefox/Android based education webapp to an offline
deployment in Ethiopia yesterday.

Here are the major bugs/missing features I've found:

* AppCache is really buggy.  Ogg audio doesn't play from appcache (bug
791017) and most video won't play either (bug 741351, bug 784329).
The AppCache.swapCache() method is broken (bug 769171).  On FF/Mobile,
the cache also doesn't appear to update correctly when the manifest
changes (still working on isolating a test case).

* There's no good way to install a webapp without connectivity (bug
790456).  I've resorted to copying profile directories around using
adb, but it's evil.

* Webapp installation isn't scriptable by Android intents, either (bug
790457) so it's hard to automate installation (for classroom purposes,
for example).

* The size of the offline cache and of local storage is fixed, and
very small for Firefox/Android.  This will impose a strict limit on
the size of your offline webapp and of the size of the data it can
manipulate.  These limits should really be specified by the webapp's
manifest.  (The user should be able to install a 50M webapp if they
want to!) (bug 792651)

* No integration of add-ons and webapps (bug 790461).  This makes
"phonegap"-like extended functionality for webapps needlessly
difficult.  I've resorted to manually hacking the prefs.js for the
installed webapp to re-enable extensions, and I've written an
add-on-to-JNI bridge which allows your addon to access all of the
Android SDK (see https://github.com/cscott/intent-addon for an
example).  However, the Activity Context isn't properly exposed to
Add-On authors (bug 790452).

* No splash screen support (bug 604728).  Your app will look pretty
ugly while it is starting up.

* Versioning is problematic if you use AppCache -- AppCache only
checks for new versions when the page is "loaded" or "reloaded", and
there's no way to control that on an Android webapp.  Android Jelly
Bean allows you to close apps easily (good) but it caches "closed"
apps (oops!) so even if you close the app and relaunch it there's no
guarantee you'll get reloaded.

[* Local Storage in desktop webapps seems to be broken as well: bug
791281, possibly related to bug 767258]

That said, even with those issues webapps worked well enough for me to
ship code to Ethiopia this week, and the mozilla webapp stuff is IMO
much better than PhoneGap on Android.  Video and WebGL work, for
example!
  --scott

-- 
      ( http://cscott.net )
_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps

Reply via email to