Let me ask you a question… Of all the Apps right now on your phone, how many do nothing more than a regular website? That right there is the answer to any debate on whether you should make your App with Hybrid or Native technologies. If you are really just making a website for a phone then you are wasting your time and money if you do not go hybrid.
I will also tell you that I have programmed both hybrid and native Apps since 2011. The majority of the Apps are hybrid because I always take the smartest approach, which usually is based on what is the easiest to build and maintain. Plus as I stated before, 90% of the Apps on your phone are just glorified websites.
The Performance Lag. This is worth considering. Hybrid essentially takes the code and runs it inside a browser on your phone. Even though it looks like and App, it is running in a browser. Thus, if you need to call a core phone function (like geolocation, compass, accelerometer) that will cause a lag. Now this lag is a millisecond. Not a big deal if you are showing a map of restaurant locations near a person. But this can be a huge factor if you are Uber and showing where a car is in real time on a map.
The Facebook Effect. Zuckerberg isn’t any smarter than you or me. He is just a guy that hit a grand slam in his first at bat. In the early days of FB they went with a hybrid mobile approach. But they had to reverse course from a hybrid because in 2011 HTML5 had no way of scrolling content on a phone effectively. Since scrolling is a major part of FB they scrapped their approach and went native. Mark then made a few comments that HTML5 wasn’t ready. Group think prevailed and any CTO who made a mobile decision had to choose native because “that’s what Facebook is doing”.
A Real Life Example. I am leading a team right now rebuilding a website, iPhone and Android App for one of the largest corporations in the world (sorry can’t disclose but you’ve saw/used their products today). We have one backend team that is handling all the web service calls and then three separate teams for Web, iPhone and Android. All three teams are rebuilding the registration, login and shopping pages and calling the same backend web services. We get into situations where the Android team has something working and then the web team requests a backend change that breaks their code.
In addition to that, the user experience is different across devices. Hence, we have a design team that makes comps for all three environments. But all three sites do exactly the same thing! There is absolutely no reason (programmatically) that we should not be on a hybrid platform. All three are just glorified websites.
I get the inner workings of how decisions are made. And selling people on one code base being used for three platforms seems like pie in the sky type of stuff. But its not! You are all being sold a bullshit concept that you have to have three separate code bases for the same thing. Let that sink in…
If you are a developer, project manager, CTO… whatever. You need to wake up right now and challenge the status quo. Ask a simple question “Is our App just a glorified website”? If the answer is “Yes” then choosing anything other than hybrid is a major mistake.