Hybrid vs Mobile Web vs Native Applications: an Insider's Look
But who can we trust? If you want to purchase something, you’ll definitely have to deal with the sellers, who, unfortunately, aren’t experts in the field. In my opinion, there is only one way to solve this problem - to take the matter into your own hands and try to understand the subject, at least superficially, or to ask for a professional opinion. That’s exactly what I’m offering to do. The question we’ll try to answer is the following “Which applications - native or hybrid - are better for the mobile platforms?”
Hybrid vs Mobile Web vs NativeIn order to start the research, let’s use a sure, well-tried way of googling the problem. Google will offer you dozens of articles painted with the same brush. All kinds of bloggers, programmers, managers, boosters, their mothers, managers’ grandmas and other people, who are “experts” in this area will try to tell you in an individual, interesting and funny way the following things:
There are pure web apps that look almost like natives, for example, app.ft.com. They should be differentiated from the hybrid ones.
Pure web applications do not work without connection.
An interesting observation - it is easier to find the content of pure web apps. One will just have to type the necessary request into the search system and, if Google loves you, the user will see your site on the first page of search results.
Another fascinating observation - hybrid and native applications must correspond to certain rules in order to be published in AppStore or GooglePlay. On the other hand, you can easily create a comfy app-site with gruesome content and eye-offending design and nobody will say a word.
Creating hybrid applications demands less working hours than writing native ones, because the written code is usable for all of the platforms.
- Hybrid applications are cheaper to support, because, again, there is one code for all the platforms. Just change it in one place and you’re done.
Native apps work much faster than web apps or hybrids.
Native applications can work with every component of the device, whereas web and hybrid ones have limited access. For example, the ability of native apps to use cameras is something that is taken for granted. But you’d have to be really creative to make a hybrid one to take pictures with it.
If we develop native applications, we’ll get a genuine UI for each platform. Hybrid and web applications can’t give you that.
Let’s tear the masks offSeems like now we can tell the difference between hybrid and native applications, and it’s time to finish the article and go write some code. But no! As you remember, we can’t trust the sellers, and people, who’d listed all those points are sellers in one way or another. So, let’s do some more digging.
Web applicationsThe idea of a site that looks like an app is interesting. This approach has both some cons and definite pros. But there is one big question: “Why?” Picture yourself as a user who’s brain is not loaded with knowledge about IT. You open a site and…” OMG!” An app has opened. “What the hell is going on? This must be some virus stuff! But wait, why is the address bar of the browser visible? Is it some sort of website? Or an application? Hmm, it’s not in the list of installed apps. It works really slow. I think, I’ll rather use some regular app, not this non-identifiable something.” So, what’s the point of this mimicking? Why would you confuse the user? Because someone could truthfully believe, that it’s an app and expect it to behave correspondingly. To explain, I’d like to give an example: let’s take a rock, paint it as a football and then ask a football player with a broken leg, who had a pleasure of using it, for some feedback about our unique design solution.
What do you even know about pain?WebView for Android (version 4.3 and earlier) will function dreadfully slow, if you attempt to view something a bit more complicated than a text. Version 4.4 of WebView uses Chromium engine, that might improve the situation. Mostly, for PhoneGappers and others like them, attempting to launch an app on Android only causes pain and suffering. For iOS the situation is easier, because Safari engine is working slightly better.
- Excuse me, are you a woman? - I’ll be whoever you want, baby. Different styles can be used for application interface in different devices. Sure, that’s great, but it doesn’t change the logic of the design. If there is a ”Go Back” button in iOS, then there will be one in Android, even though nobody actually expects it to be there. Another example — Actionbar. In iOS it is traditi?nally on the bottom of the screen, in Android it’s on the top. In a PhoneGap application the placement of the Actiobar won’t be changed. Whatever your device is, it’ll just look differently. One more thing: every OS has its specifics, like animation. Look at iOS and Android. Animation of transition from one screen to another is different! Hybrid apps won’t be able to recreate those special features.
All of the problems are really in our heads - another important aspect, that, for some reason, isn’t taken into consideration by anybody. PhoneGap developers are usually the front-end ones. They have no idea of how the interface for Android or iOS should look like, because they haven’t seen style-guides. They know nothing about the platform specifics, because they haven’t read the documentation. But they’re good at creating websites. So, as a result, you’ll get an application that looks like a site. Is that what you need? Are you sure? Look at this picture. Are you still insisting?