Native Apps Are Dead, Long Live Native Apps
cardoni writes "Dan Yoder, CTO at Border Stylo, offers insights on the current state of simultaneous iPhone / Android development using PhoneGap and his thoughts on the debate over native apps versus Web apps. Quoting: 'One problem with the debate is that it’s a false dichotomy, since you can embed a Web browser within a native application. And, conversely, you can extend an embedded Web browser to provide access to native APIs. The two alternatives have not been mutually exclusive for years now. And, focusing on the strengths of native applications ignores the benefits of Web applications. For example, there’s the appeal of writing code that will run on a variety of different devices, ranging from mobile phones, to tablets, to laptops, even to gaming consoles. Virtually every major device platform now sports a Web browser, and it can often be discreetly embedded within a native application. To boot, much of this code can be tested using a Web browser, which enables more easily automated testing. It’s also easier to find Web developers than it is to find native developers.'"
Everything looks like a nail. Web apps are nice and play in a certain application space. Same with Native apps. Saying that one is "better" than another isn't fair since the apps themselves are different, with different constraints (how do I access a file on the users local filesystem seamlessly from a web app?). If I was going for "I'm going to write an application to conquer the world" approach, I would probably want it to run on iPhone and Android, so a web app is probably a good option. However, if I know my application is fixed to one piece of hardware (the newest iPhone for example) a native app is better since I can access more of the hardware with a native application.
Well... running on many platforms sounds nicer than it actually is.
You tend to end up with an app that is tailored to the lowest common denominator of the platforms.
If you want to shine, you will want to go native.
Bram Stolk http://stolk.org/tlctc/
It really does become the "Write once, debug everywhere," thing. Unless you are using very simple HTML and pretty much no interactivity, at which point you are a web site not a web app, you are going to have to have a shitload of "gotchas" and different cases. Not just for major different platforms like Android, Windows, etc but for different browsers.
Now if you want to do all that, well and good, but be serious about the amount of effort it takes and the amount of time savings, if any, over doing things native.
For complex applications, there isn't a "Just write it once," way of doing things.
Dude, we can all tell that you're a web developer who has never developed a native application by the many misconceptions and outright bullshit you just spewed. Nice try, though. Maybe with some practice, you Ruby fanbois will someday sound convincing.