Building Mobile Apps out of HTML5, with motion tracking? - android

This is an open question and I was really hoping for advice...
I am planning on creating a mobile app which will track your steps and distance (based on GPS), while sitting in your pocket.
I was planning to make the app out of html5 as I know you can calcualte the motion of the device using this
So, I am really asking if people think this is possible on HTML5?
Thanks

Assuming you know JavaScript, you should be able to accomplish this with PhoneGap's Geolocation object.
Appcelerator has Titanium.Geolocation as well.

If you plan to do it with HTML5 and PhoneGap is probably your best option. But you'll still need to program a background service* in order to handle tracking the location while the app isn't actively in use.
It sounds like the real work will need to be done in Java either way so I think you should just make a regular Android application. But as I said PhoneGap is still an option for the interface if that's what you really want.
* The background service will still need to be done with Android API's. Which would then need to be hooked into PhoneGap. It might just be simpler to make a native app.

Related

Can we build Mobile app with bubble.is that has support for video calling from the app?

I am exploring the possibility to make mobile apps using bubble.is and we intend to have a feature where the app user can do a video call and talk with us.
Do you think we can use some exisiting thing to integrate with bubble.is app to accomplish this ?
Yes, you can use GoNative to make a mobile app using bubble.is and Gruveo or a similar service to do this.
The positioning with Gruveo is a bit difficult if you want your app to be responsive (tablets? desktop?) but its doable.

Does a WebView app have access to Android features?

I am sorry if this is not the correct place to ask these questions but I cannot find the answer anywhere. I have built/building an app that basically displays a leaflet map and tracks users in real time with node and socket.io It has various functions but everything is contained either on or over the map. What I need to know is.
Will this run properly in a WebView app?
Can it run when the app is on but in the background (This has to run to keep the connection open and update location with the watch.position function)?
Can it access the HTML5 location features?
Can I access things like if I want to send a SMS from it via a button on the webapp?
Can I access the camera?
Whats the quickest software to use to develop this and could a similar app be made for iOS?
Sorry if a lot of questions but from what I have read WebView should be good enough as most of the work is back-end and map/browser based anyway. Or should I go down the native route?
I have done a couple of cross platform apps for iOS and Android with Cordova. To answer your questions: In a nutshell, I think you can do most of what you are trying to do with a framework like Cordova.
No.
Not with the webview, but maybe with Cordova (there is a plugin for background services).
Not with the webview, but yes with Cordova.
Not with the webview, but yes with Cordova.
Not with the webview, but yes with Cordova.
I am now a native developer for both iOS and Android. I would probably not do an app cross platform again unless it was really simple. I was always able to make things work in Cordova, but with a lot of hacking involved. Since you are familiar with javascript/html Corodova or Phonegap would probably be fastest in terms of development time for you.

Does it make sense to write an offline mobile web app in html5?

I am investigating options for a web app aimed at mobiles and one of the options is to write a standalone app that does not connect to the internet at all. Does it make sense to consider using HTML5 for this? The main reason for considering HTML5 as far as I'm concerned is the fact that it works cross-platform, but I just don't know if it makes any sense to consider this option if it will only be used offline once it has been initially downloaded.
Thanks in advance for your help!
As mentioned, this is definitely possible. I think the other answers don't quite give enough information, or understand the question, so let me provide a bit more.
Yes, it is possible to create a mobile app in HTML, either from scratch by using PhoneGap as the platform, or by using a mobile framework such as jQuery Mobile.
PhoneGap allows you to create true mobile apps using HTML5, CSS & JavaScript, and utilising the PhoneGap API to utilise features found in smartphones such as a camera, motion sensor, gps, storage etc.
Using jQuery Mobile, you'll be creating a mobile website, which must be accessed using the phone's browser, however you are able to incorporate this framework into the PhoneGap platform. This allows you to create a more native feeling app in HTML5.
I think the question you should be asking is what language should I use?. It doesn't matter if the app is used online or offline. What matters is what language or platform you want to write it in. There are downsides to using HTML5 to write mobile apps (speed, scalability, quality, approval to name a few).
I don't see a problem for doing so. HTML5 gives you ways to store information locally and a big set of other functionnalities. This could help you find if there is what you want regarding the mobile browsers (and Androïd's): http://caniuse.com/#feat=namevalue-storage
Then you may look into MVC frameworks like dojo toolkit (if you want widgets out of the box), backbone.js and so on.
Yes, it's possible. in fact many cross platform app out there is using HTML5 or javascript.
you could take a look on phonegap.com. It's cross platform using html5
Yes, it's perfectly possible to create an application with HTML5 (and javascript if needed).
Coding your app in HTML5 makes it easier to port to other mobile OS.
Just keep in mind that HTML5 is not definite yet, so you MAY have to rewrite certain parts after some time.
Phonegap can be used for this, as some already suggested.
If you're comfortable with java, but just want a HTML5 app so you can port it later,
you can use Google GWT (which converts java into HTML5 and javascript)
It's possible, but I don't think it's the best choice for an app that won't connect to the web at all. HTML5 offline apps are designed to work for the short periods of time where there is no web connection, not really for apps that will never connect to the web. Plus, HTML5 local storage is limited. I'm not sure what the limitations are off of the top of my head, but I think you'd be better off taking another route.
Definitely! There are already developers looking into it. HTML5 has native like capabilities, such as writing to its own DB and etc. Like they said, HTML5 is not definitive yet, so it might take awhile for it to be feasible and adopted by all.
Imagine 1 language to rule them all :)

What can't you do with an HTML5/Javascript mobile app that you can do with a native mobile app?

I have just started researching creating mobile apps and from what I understand one big advantage of using HTML5/Javascript is that you can write one application that works with both Android and iOS.
I have also read that one of the drawbacks is that there are certain things that you can't do with HTML5/Javascript that you can with a native mobile app.
Is what I stated above correct? What will I not be able to do if I decide to go the HTML5/Javascript route?
While both native and web have their own positives and negatives, the one main advantage that native apps had over web apps was "Offline Access"
However that is now changing as HTML5 has support fo Offline Web Applications.
Some things for iOS:
Background audio/sound effects
Address book
Leverage CoreGraphics & OpenGL for advanced drawing
Camera access
Accelerometer
Limited Calendar Access
It all depends on what you are going to do. If your app needs GPS, the accelerometer, or is very graphics intensive, then a native app is the only way to go.
Otherwise, I would go with something like Sencha Touch for your app for a couple reasons. First off, if you release an update with a HTML5 app, you don't need to force everyone to download it, it will update automatically. Also, as you mentioned, you only need to write one application for all mobile platforms, which expands the potential user base. Lastly, I think the internet on phones is getting fast enough to support internet applications very well, and this is only going to improve in the days to come.
Basically, it all depends on the specific needs of the application. Personally, I would go with HTML5 whenever possible, due to the mobility it gives you with platforms.
I think we can separate this into two lists...
What can be done on a mobile device that is not possible in HTML5:
Push Notifications
Advanced Graphics (3d, OpenGL)
File Uploads (possible on Android but not iOS)
Connect to Address Book
Connect to Calendar
What can be done in HTML5 but is easier or implemented better on mobile devices:
Camera Access
Offline Use
Device Location Services
Sound
Accelerometer
Speed / Slickness of UI (hard to quantify, but apps typically still feel nicer when native)
(Please note the date this was answered on, this landscape could be quite different in 6-12 months or more.)
In theory not much, if you use titanium. http://www.appcelerator.com/products/titanium-mobile-application-development/
Unlimited Extensibility
Titanium’s plug-in architecture allows you code modules in Objective-C or Java to
extend your mobile app with custom native functionality and then call those
modules using Javascript in Titanium.
Though i have never used Titanium and dont know how well this works. I would stick with native development anyhow ... for now.

Morphing PHP driven site functionality into an Android App?

I'm completely new to Android DEV.
I want to make an app for a client that sells music, the idea is that it will be an alternate front end to the PHP site but will use some of the phone functionality such as locality etc.
Could anyone recommend the best approach to this? Would I look at developing via the Android SDK or via Flex/Flash? Is it possible to use php connections to retrieve dynamic data via android?
Any advice very gratefully received.
Thanks
Paul
Your best bet would be developing your app using Android SDK as you can use all the available native features. From a Flex perspective, you have a limited set of existing android API functionality that is supported.
As long as your PHP backend supports all your HTTP requests, you are good with both Flex as well as Android way.
Hope it helped.
I highly recommend you check out jQuery touch. It is a simple UI, but you get features like access to location (I believe through the html5 geolocation api (if they allow you to know their location)) and the list layout would work perfectly for purchasing music.
Obviously this is just my opinion. The Android API can be a little overwhelming at times but you will obviously have the most control over the phone and hardware, but jQuery touch keeps it simple. http://jqtouch.com

Categories

Resources