>> Rizer is a Hybrid app that uses Apache Cordova and its plethora of native plugins

Plethora of native plugins? Why is it a good thing for my app to have a plethora of dependencies on obscure plugins that someone else has to maintain and update otherwise I am completely blocked from developing? Nevermind the fact that I have to learn all the intricacies of said obscure plugins? Just to be able to do what I can already do more efficiently in native?

>> Make No Mistake, Going Hybrid Is The Right Choice For The Vast Majority Of Apps

Why are you leading with this after explaining the app you built? Show me why it's better, don't just act like an authority and tell me so. And you don't appear to be an authority on mobile app development, it appears any experience or credentials you have are in javascript. You made a single mobile app with hybrid and are now ready to declare that going hybrid is the right choice for almost everyone?

>> A Hybrid version of an app will never be as fast as a native version of the same app, but it doesn’t matter as long as the Hybrid version is fast enough.

Thanks, and you're right! Native apps are much faster and always will be much faster than the apps you seem to want to make. How one can determine if their hybrid app will be "fast enough" ahead of time is as clear as mud. For apps that do significant things and need to do them quickly, I suspect many hybrid apps won't be "fast enough" and the user will be able to tell that they are on a website. But you'll have to just engineer it and find out later if the framework has an unconscionable defects or limitations. Happy coding (oh and try not to use jQuery)!

>> A resource-hungry 3D game or similar does not fit into my definition of “app”

Games are apps too, but don't worry, there is a real cross-platform technology out there called Unity for you. You won't be able to use JS with it though I am afraid.

>> In these cases a native app is almost certainly your best option

Almost certainly? Certainly.

>> You get to utilize your existing JS, HTML, and CSS skillset

You are assuming that someone who wants to make a mobile app has an HTML, CSS, and JS skillset. Why are you assuming this? Are you writing this because you have a certain set of biases and preferences for web technologies or because you actually think hybrid is the best way? One must wonder.

>> single codebase

Single codebase isn't a selling point if your app is slow and full of workarounds piled on top of workarounds that probably would have been solved with a single line of native code.

>> There are less than 10 times throughout my project that I needed to branch the code based on the platform the app was running on

This is utterly embarrassing, and very telling to me that you think it is a selling point. The entire point of doing a hybrid app is to NOT be doing this. "I only had to do it 9 times!!" should not encourage anyone and truthfully could only be seen as encouraging by someone who was dead set on using web skills in a mobile arena to begin with and was determined to make any justifications to do so.

>> Viewing changes on your device during development is nearly instantaneous.

Great. So are native apps. You click the little play button in the IDE. Nearly instantaneous. Again, it's a mystery why you think this is a win for hybrid.

>> You can push updated JS, CSS, HTML, fonts, and images directly to all of your users without needing to recompile the app’s binary and getting App Store approval.

APK upload for the Play Store is almost immediate. Yes, iOS has a significant review time which has been whittled down to about 2 days. I don't think this is really paramount to anyone. You forgot to note though, a downside of doing Hybrid is that Apple rejected your app 7 times which wasted far more time than you would have gained on any of this other stuff.

>> Choosing between these two WebViews sucks.

Not Apple's fault. This was your choice.

>> Thanks to some fantastic work from the Ionic team, some masochistic developers (myself included) are utilizing WKWebView in their Hybrid apps. I will be the first to say that when WKWebvView works, it really works.

Sorry, reading between the lines here -- are you encouraging people to use things that you KNOW don't work? If so, why?

>> Inability to access files that don’t exist in the app’s root “www” folder.

Not Apple's fault, your fault for choosing Cordova.

>> Numerous CORS (Cross-Origin Resource Sharing) issues, including being unable to extract image data from a canvas that was drawn using a local image.

Not Apple's fault, your fault for choosing Cordova.

>> Unpredictable vertical scrolling behavior, and in my experience, completely broken horizontal scrolling.

Not Apple's fault, your fault for choosing Cordova.

>> No programmatic control over showing and hiding the keyboard

Not Apple's fault, your fault for choosing Cordova.

>> App-breaking conflicts with stable versions of the Cordova SplashScreen plugin

Not Apple's fault, your fault for choosing Cordova.

>> App-breaking conflicts with stable versions of the Cordova In-App Browser plugin

Not Apple's fault, your fault for choosing Cordova.

>> Without a doubt, creating Rizer was a longer and more frustrating experience than I expected it be… thanks to Apple.

Not Apple's fault, your fault for choosing Cordova.

>> In my experience, all of the potential show-stopping issues caused by going with the Hybrid approach have workarounds.

Oh, awesome! Just what everyone was looking for. How to build an app with workaround piled on top of workaround piled on top of a hack piled on top of a workaround piled into a shitty webview.

>> They are frustrating to discover and implement, but they do work.

Here we go again where you subtly or not so subtly admit the thing which you are advocating for actually sucks (and is the most hated technology on stack overflow).

>> It will absolutely take you longer to develop a Hybrid app than it should

Correct!

>> will feel just as fast as to your users

lel