As someone who spent years building "HTML5" JS mobile apps and then recently spending the time to learn native languages, I 100% agree. There is no way to match the performance and consistency of native with a cross-platform clone. It will always be a half-baked solution.
That being said this only applies to apps. A ton of apps shouldn't be apps, they should be well-optimized websites. For ex. content sites.
Side Note: Learning Objective-c and Android java dev isn't nearly as bad as I thought it would be. It takes less time to learn and build native instead of trying to hammer Javascript into a hole it doesnt fit into, and spending hours attempting to optimize it's performance to no end.
The additional code involved in Java/Obj-c is less annoying since they are well integrated in IDEs such Android Studio or Xcode which auto-generate most of the boilerplate. After you develop for a while you depend less on the IDEs.
I always build an app to learn the language/platform. The only way you can really learn it is by building something. Combined with that I usually buy a book.
For Android, I hardly had to invest any time learning Java, since I came from Ruby and it's pretty similar. Most programming languages are all the same under the surface. Especially among OO-heavy ones.
I fully agree. As stated in my article http://www.springenwerk.com/2011/09/thoughts-on-mobile-ui-de... I think that the web is the one place where cross-platform UI actually works. Don't destroy it by using that freedom to mimic a native UI. Plus, in quite a few cases a great mobile website would be a much better solution than an app anyway.
I totally agree. We need to learn how to use the right tool for the job.
If your job is to cut down trees you wouldn't say "Well, I know how to use a pocket knife and I think a pocket knife is much easier to use than a chainsaw, so I'll just cut down trees with my pocket knife."
No, you'd obviously invest a little time to learn how to use a chainsaw to get the job done properly.
That being said this only applies to apps. A ton of apps shouldn't be apps, they should be well-optimized websites. For ex. content sites.
Side Note: Learning Objective-c and Android java dev isn't nearly as bad as I thought it would be. It takes less time to learn and build native instead of trying to hammer Javascript into a hole it doesnt fit into, and spending hours attempting to optimize it's performance to no end.