Live data from Hacker News

Go native, HTML5 is going to lag for a while

blog.suthakamal.com

11–20 of 97 posts

Re: Go native, HTML5 is going to lag for a while

#11

A smartphone today can talk to all sorts of other devices: TV remotes over WiFi, watches and headphones over Bluetooth, health-sensors and car stereos through dock connectors, and TVs over AirPlay. All this is beyond the reach of HTML apps. That's almost the entire point of PhoneGap and similar frameworks, exposing these via APIs. He's confusing using HTML/CSS/JS for UI in a "native" app with making a web app.

Did you notice the enormous performance improvement in Facebook's app when they moved away from that type of solution to a native one?

Re: Go native, HTML5 is going to lag for a while

#13
Sadly, Apple and/or Google have the power to retard the adoption of HTML5 as long as they like.

"But ender7," you say, "both Mobile Safari and Chrome have great support for HTML5."

Yes, they do. Sort of. Except for the crippling bugs in many of their implementations. Some of these bugs render the APIs in question essentially useless on mobile. Or just a giant pain in the ass to work around. Or have performance issues so large that they are impractical for non-toy purposes.

How quickly these bugs (and perfomance issues) get fixed will have a huge effect on HTML5 vs. native adoption. So far, this seems to be happening at a rate of "meh". For example, iOS 6 finally fixed the bugs in its HTML5 History API that prevented anyone from using it in a real product. But they did fix it. It only took...a few years.

Re: Go native, HTML5 is going to lag for a while

#14
Lets get this straight, the limitations in performance on Mobile Safari are very much deliberate limitations. Do you seriously think a company like Apple who gets a pretty large chunk of app store sales is going to let something like HTML5, CSS3 and Javascript steal it's profits away? Fat chance.

Although it even rings true for desktop browsers not being able to perform as optimally in regards to some HTML5 features work, Apple can and could do more to improve HTML5 support but won't for the foreseeable future until it works out how it can control and monetise HTML5 (which it can't and never will).

People are quick to point out Facebook ditched web and went native because of HTML5 limitations which I believe is a lie. It's been rumoured that Facebook is going to be deeply embedded into iOS 6 like Twitter got in iOS 5 and one of the requirements would obviously be to have a native application.

The Facebook app I believe was slow because of one key issue: 37 requests, 491kb. That was the problem, of course that many requests and large size is going to be slow for users on congested 3G networks.

Case in point of just how well a web app can run is LinkedIn's iOS app. It works the same way as the Facebook app used too. It has a Node.JS backend and uses a web wrapper to load it in, they even wrote up a blog post about how they squeezed every ounce of performance out of the web UIView and I think it works well.

I'm not one to believe in conspiracy theories without solid facts, but in my opinion the move to native by Facebook was a strategic one on Apple's end. Apple knew Facebook were the poster-child for HTML5 web applications that could run without relying on the almighty iPhone operating system, so throw them an integration bone and ask them to go native in hopes that others do the same and ditch HTML5 as their first choice for an app and many people will follow.

Re: Go native, HTML5 is going to lag for a while

#15
post #13

Sadly, Apple and/or Google have the power to retard the adoption of HTML5 as long as they like. "But ender7," you say, "both Mobile Safari and Chrome have great support for HTML5." Yes, they do. Sort of. Except for the crippling bugs in many of their implementations. Some of these bugs render the APIs in question essentially useless on mobile. Or just a giant pain in the ass to work around. Or have performance issues…

> Sadly, Apple and/or Google have the power to retard the adoption of HTML5 as long as they like.

I'm hopeful that Firefox OS and Firefox for Android will be able to exert competitive pressure in the HTML5 app space, but it will still be a long, hard slog.

Re: Go native, HTML5 is going to lag for a while

#16
post #13

Sadly, Apple and/or Google have the power to retard the adoption of HTML5 as long as they like. "But ender7," you say, "both Mobile Safari and Chrome have great support for HTML5." Yes, they do. Sort of. Except for the crippling bugs in many of their implementations. Some of these bugs render the APIs in question essentially useless on mobile. Or just a giant pain in the ass to work around. Or have performance issues…

Realistically, though, Google have always seemed to view HTML5 as being a very good thing, since the Web is their bread and butter. Android seems to be more of a hedge against other vendors' platform dominance than an attempt by Google to lock everything down -- thus why Google actually exerts little control over Android distribution.

And I can see a good argument for blocking the open Web being in Apple's interests, but again, historically they've been going as fast as anyone else. They might not move as fast as I'd like, but they're not lagging.

Re: Go native, HTML5 is going to lag for a while

#17

What about things like Titanium or RubyMotion? They compile to native and allow you to have a "unified" code base.

I'm not sure about RubyMotion, but I can speak to Titanium as we use it to build our TripLingo language learning apps.

Appcelerator Titanium does not compile down to anything - rather it bridges a JavaScript runtime to the native layer: either iOS or Android. It's not as fast as coding in ObjC or Android Java, but we see performance which is very close to that of native and have the entire underlying native SDK available for use.

Re: Go native, HTML5 is going to lag for a while

#18

A smartphone today can talk to all sorts of other devices: TV remotes over WiFi, watches and headphones over Bluetooth, health-sensors and car stereos through dock connectors, and TVs over AirPlay. All this is beyond the reach of HTML apps. That's almost the entire point of PhoneGap and similar frameworks, exposing these via APIs. He's confusing using HTML/CSS/JS for UI in a "native" app with making a web app.

(I wrote the original blog post.)

You're right that things like PhoneGap give access to native features. However, the Native-API-implementations in these frameworks are 1) typically significantly behind the native OS (release date) 2) tend to have less-than-feature-parity

So, often you're stuck writing your own native bridge, or tweaking the portability framework's version, which is time wasted (IMO) vs writing to the native framework. As an example, just try and write a PhoneGap app using Bluetooth: The Android implementation is incomplete, and the iOS version is non-existent.

Also, there are a tonne of performance issues you run into with the HTML/CSS/JS + Framework + Native solutions. As a thought experiment, consider how you'd build Instagram in one of these frameworks.

1) Image filters in HTML/CSS/JS land? Slow. 2) Thousands of images in a continuous virtual scrolling window in HTML land? Slow. 3) Fetching a binary blob (the image) from the OS, and throwing the resulting blob back-and-forth to web-land (for example, to use HTML5 offline storage) ... hellish slow.

Compare that to native... it's just one example of where the theory of HTML for UI and native for logic breaks down when you start to push the platform a little outside it's comfort zone.

Re: Go native, HTML5 is going to lag for a while

#19

Lets get this straight, the limitations in performance on Mobile Safari are very much deliberate limitations. Do you seriously think a company like Apple who gets a pretty large chunk of app store sales is going to let something like HTML5, CSS3 and Javascript steal it's profits away? Fat chance. Although it even rings true for desktop browsers not being able to perform as optimally in regards to some HTML5 features…

"It has a Node.JS backend and uses a web wrapper to load it in, they even wrote up a blog post about how they squeezed every ounce of performance out of the web UIView and I think it works well."

Can you give a link to that blog post? I took a quick look at LinkedIn's corporate and developer blogs but couldn't come across it.

Re: Go native, HTML5 is going to lag for a while

#20
post #8

Regardless of whether or not HTML5 is going to "lag", I think this article white-washes the evolution of the web as an open platform vis-a-vis the desktop/OS. Open platforms and protocols are the result of hard work and people taking risks and building value, not a result of stability in the platform. The Web and technologies have operated in a disruptive manner with respect to an established platform, and the mobile…

(I wrote the original article.)

You're absolutely right about open platforms and protocols being about lots of people taking risks and building hugely valuable things. My point was that when the core OS is innovating like mad, you need to be close to those OS's to build the best apps... The innovation on the desktop slowed to a crawl years ago, and the majority of innovation has moved to the browser and web-app layer. In mobile, however, there's a LOT of innovation still happening right at the OS level w/ Android and iOS, and so all the frameworks that exist above the native SDK's are going to lag, and not take best advantage of the innovations being released at the OS layer.

The speed of mobile OS innovation will invariably slow (like it did on the desktop), but until then, philosophy about open platforms aside, iOS and Android show no signs of being displaced as the real mobile OS / platform drivers... and so, native's going to lead HTML5 / other "open" platforms for a while.

Post reply on HN