Building HTML5 Apps Platform - html

I would like to know what is the best platform out there to create HTML5 based apps for iOS / Android. I am currently using PhoneGap and the performance is just horrible. It is very slow and I just want to be able to do this guys. Can anyone recommend me a good platform? Thanks!

The low performance has nothing to do with PhoneGap, it's essentially because of the html-based solution. The WebView(or the browser) renders html and runs javascript pretty slow. If you decide to choose the "native + html" kind of solution, and take the benefit of fast development and cross-platform, you have to deal with the terrible performance of the html rendering by the WebView of each kind of device.

Related

Possible ways to implement voice recording functionality without flash

I know it would be hard to implement a web-based voice recorder without using flash, but is there any existing API that could help make this possible to achieve? Is HTML5 media feature matured enough for this space?
Thanks guys :)
Web Audio API is quite mature, and supported by many browsers (even on mobile).
You can implement your audio recorder starting from
this example
this plugin

What are the advantages and disadvantages of building a tablet / smartphone app in html 5?

I wrote a kids' storybook/picture book which I want to get made into an app for iPad, iPhone, and other tablets and smartphones.
I don't know much on the tech side of this.
I heard that it could be a good idea to create the app in html 5 and then 'wrap' it for each different device, rather than creating the app as a native app for each different device.
Are there any disadvantages to doing it this way?
I guess the main advantage of doing it this way, is that it's more efficient to build the app for lots of devices, but are there any other advantages?
Advantages:
"Write once and run anywere " is the main advantage of writing your mobile/table app using HTML5.
Build your app with open web standards to run on many platforms (e.g. Flash is a bad idea and even Adobe started supporting HTML5 in mobile devices over flash)
You can easily find developers with HTML, CSS, Javascript knowledge or you may already have.
Disdvantages:
Performance - Native application wins over HTML5 applications in this. But you don't need native performance for all applications. So its a disadvantage only in some cases.
Look and feel - Native look and feel is better than HTML5 app in some cases.
You may check phonegap, senchatouch, titanium.
If you want to make money on your app it can be harder with an html5 app. The infrastructure like app store/marketplace/android market is not as good for html5 apps.

Extending HTML5 mobile app for more file storage

My team is writing an HTML5 app that uses the appcache and localstorage heavily. Our target platform is ipad and android tablets (and design time we work extensively in desktop browsers, though that's not necessarily a must-have).
Now we want to add some offline-available features that will be beyond what the browser-based storage can support-- namely a library of video & binary content that will be bigger than the appcache can handle.
Without the major mobile browsers implementing the html5 filesystem api, it seems very much like some kind of native app approach will be required (PLEASE correct me if I'm wrong here... I'd love to be wrong on this!). So, I'd love to hear opinions/experiences folks have had. We're noodling around with a few different ideas involving one or more of the following:
Compiling in phonegap + using their file apis
Using the Dropbox sdk (which would also require some kind of native support, not sure if phonegap would work)
writing per-platform custom native apps that host webkit controls, then providing the majority of functionality with our existing, cross-platform html5 app (basically we'd be writing a per-platform custom browser using the standard webkit controls).
Note that I'm a fan of #3 because I feel like we could release a relatively stable shell but then preserve the html5 cross-platform goodness & ease of distribution of our app. However, I don't know if this approach works (and/or if Apple frowns upon this type of approach-- seems like a bit of an App Store loophole).
Very interested to hear what you've tried and/or heard about.
This might be a completely stupid idea but, if you're looking for a cheap way to get extra storage, why not just use an html or js file to contain the data? You could even, for whatever reason, store it as a 64-bit data uri and run the media natively. I think you could even save data to it by just manipulating the manifest to be reflective. It'd take a bit of tom foolery, but it should work.
If you use approach 1 you will be well positioned to move to a web app once the major browsers support the File API. You see the File API in PhoneGap is based on the W3C spec that the browsers will implement.
2, I started working on a Dropbox plugin for PhoneGap Android but I need some "spare time" to finish it.
3, Apple will probably reject your app if it is just a wrapper around your web site. They've done that in the past.
Simon

Are there HTML5 desktop app frameworks (like Titanium or Adobe AIR) that run on V8 or Rhino instead of JavaScriptCore?

Our product, a desktop app, is composed of a ton of HTML5 and JavaScript together with a thin platform-specific layer that is basically a WebKit shell. Since this is much the same strategy as a framework like Appcelerator Titanium, and we waste way too much effort on this custom WebKit shell code, we were hoping to switch to Titanium or a similar framework to handle that for us.
However, such a switch would be much more compelling if we could pick up a nice modern JavaScript engine in the process. Like Titanium, we're currently on JavaScriptCore, which sucks (they still don't have Function.prototype.bind!). We'd take either V8, for speed and modernity, or Rhino, for yummy JavaScript 1.7/ECMAScript Harmony features.
Does anyone know of a framework for building desktop apps with HTML5 that uses either of these engines? Or some way of making either work with Titanium that will be very little effort? I saw the v8_titanium and rhino_titanium projects on GitHub, but see no mention of them anywhere else, or any documentation on how to use them. And the Adobe AIR WebKit page has nothing encouraging either.
Node-webkit is just about done being ported to use cef3. https://github.com/rogerwang/node-webkit/tree/cef
To follow up on this, we've just published binaries for all 3 platforms at https://github.com/milani/appjs | http://appjs.org. That's Chromium and Node, provided as a package that works out of the box with no configuration cross platform.
I think you could count Mozilla XULRunner as "app framework". It's more like embedded Firefox than framework, though.
https://developer.mozilla.org/en/xulrunner
It's much much more complex and powerful than Adobe AIR or Titanium.
We ended up on Chromium Embedded, which is a bit rough around the edges but definitely gets the job done.
You can use Adobe AIR to build HTML5 desktop apps.
AIR uses the webkit engine:
http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7ec1.html
See also:
http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7ecc.html

Strategies for rich Blackberry web pages

a client wants to "modernize" a 5 year old web/html-based Blackberry "application".
The application allows field service technicians and franchisees to inquire on warranty
and service status. Currently they use very simple php/html pages.
Application seems slow, especially on repeated inquiries which require constant reload.
Blackberry/Java seems to be obvious choice, but client seems to think that
development and maintainace is expensive, which I suppose is true because this skill
is not very common around here.
I am thinking of maybe loading all pages in a single initial load and use a javascript
hide/show type technique to reveal pages as user requests them, and using ajax to populate/update data.
They want to target javascript enabled Blackberry devices (OS 4.5 and later). I know that issues and limitations
with css and js on early browsers. i would like to hear other people's experiences.
I know jQuery so that would be obvious choice, but it is pretty fat for wireless. Is there a better
toolkit for this purpose - I found the iqTouch site, but that was not Blackberry specific. Any sites with examples that I can harvest?
If you're targeting OS 4.5 and later, all I can say is good luck. BlackBerry support for HTML was pretty poor in older devices, and you're hit and miss at best with anything more than the most basic use of JavaScript. I've had very little luck with anything other than non-dynamic HTML websites with the older browsers.
With OS 5.0 and later you have a lot more options. Support for the Gears APIs and better JavaScript. The Widget SDK even lets you easily create HTML/JS based 'Widgets' for BlackBerry that can contain a bunch of pre-cached data. BlackBerry 6 of course, with its WebKit based browser and HTML5 support can do pretty much anything that iOS or Android devices can.
So my recommendation is to only go dynamic if you can target 5.0 and later. Or potentially a site that degrades gracefully to browsers that don't support JS well (either user agent detection or some fancy JS coding) and users with older devices have to deal with a slower experience.
have you looked at features available in HTML 5?