Web App
Web App is the application made for rotate in a browser normal internet. It can even be SPA, but it will still be like a website, using HTML, CSS, JS, etc. today pe JS is not so necessary, has options), with all normal limitations of the web. Does not access the privileged resources of the operating system.
It usually runs well in multiple platforms, with a little care. There are controversies, but it is said that it is the cheapest when you want to run on any device. Running on all browsers, on all devices, is not as simple as it may seem.
You have all the difficulties of running on an interface that you don’t have full control of. A usability not the best possible for most cases, it is typical of the web.
It is interesting for who will be a occasional user. Him no need to install something to run. But you need to know the address (URL) where the application is and enter the browser. Don’t expect a person to install an app to use one or the other time. People install very few apps on their devices and will only do so if they are very useful or if they are very fond of it.
Native App
Native App is that is uses native device resources directly and has access to everything in the best possible way. Roughly speaking we can say that it’s like making the desktop application that we’re used to. For example using Win32, or some library that accesses it more or less directly.
Generally wheel well on only one platform. But there are libraries that help run the same code base with little adaptation on more than one platform while maintaining the native feature. Xamarin, for example. Here is only opinion but technologies like Xamarin make the hybrid almost unnecessary.
It usually gives the best result in usability. Also tends to be fastest.
It’s a real app.
Hybrid App
Hybrid App is a web application usually running in one Runtime specific, may even be a browser personalized for this and that allows access native resources which are not normally available on browser normal. It is a normal application.
Of course, nothing prevents a hybrid application from being made in a slightly different model, but it’s usually like this.
People use it to try to make a single application run on multiple platforms without so many restrictions. It doesn’t always work out as well as expected. It depends on the search result and available budget.
It is a mid-term solution between the above. The result is middle ground:
- Usability is good but not great.
- Performance is not the best, but acceptable.
- Access device resources, but not in the best possible way and not always everything is available, at least not immediately to launch
- Consumes more feature than native, including battery, but less than web.
- The work is not as big as making native for each platform, but not as small as making one for all.
Completion
For me there are two options. Web or native, depending on the intention, public.
If it’s native, you have to choose whether it’s going to hit more than one platform. Remember that Android reaches the majority of the market, depending on the audience to be reached, 70, 80, or even more than 90% of the market, and the share is growing. Outside it practically only iOS is actually used and has no negligible absolute growth.
Many apps will be used for a very specific audience, probably for employees of a company who use or may use a standardized device. You don’t always need a platform anymore.
You gonna do it for more than one platform? Then the choice is whether to make an application for each of them, and that has its advantage there, or use the same basis for all of them (probably two, or three at most).
Roughly we will say that if the professionals involved dominate the technologies, make the native application gives a result of 100%, make native with a compatibilization library gives 95, who knows 98%, but it may be only 90%, depends on the quality of it, make hybrid, gives 70, 80%, and 50% web, of course depends on each case. Don’t consider these numbers as a study, it’s just my perception.
If done right, coding doesn’t weigh so much in the cost. Making for three platforms won’t cost three times as much. Harnessing code for all three won’t reduce the cost to a third.
I think it’s not the same, but there’s the link to relate:Android applications, what advantages and disadvantages of the tools?
– user28595