Moblie app terms

Mahdi Alkhatib's picture

hello,

I was confused on what is the best way to make mobile web app,
there are alot of terms from the book Mobile Developer’s Guide:

Mobile Widgets or web widgets,

native application,

Mobile Websites

Hybrid Apps

all of these made me confused of what fits me the best, as I'm going to make "Mobile application"(general term) which uses HTML5, CSS, and javascript, to let the user make several tasks (which are the most important tasks for my app):
1- search queries to the server. enhanced with auto complete
2- use map and Geolocation
3- can use camera through my app>
4- my app generate notifications through sounds and vibrations

please help me choose the way I should work with

Ivan Chichkov's picture

Hi,
 
Do not worry, all these terms will be made clear to you in our training. For now, abstract yourselvs from all the rest and think that there are two types of apps for mobile.
1. Web Apps, living on the server and downloaded/started using browser link
2. Hybrid Apps, living on the device local storage, launched through native application having web browser control embedded. Web browser control launches the app by accessing local html file.
Now, after the apps are actually launched, the difference blurrs a bit, as downloaded from web server apps can actually be saved in the local browser cache and start behaving similar to hybrid apps (working also offline and having their data accessible between sessions). However, there is a difference in what the second type apps are allowed to do and what the hybrid apps are, as hybrid ones may have access to all device data by communicating to their native part, as web based apps can not have this communications.
In your case, using geolocation, camera and user data is not possible without having the built as hybrid, at least not yet. Camera and geolocation need to get support from the native part of the app (for security/privacy reasons) in order to function properly.
But, as I said, ask more questions also on the training and will get it further clarified.