Are mobile web apps slow?
blogs.adobe.com
blogs.adobe.com
I wrote this client. It is as fast as most other native HN mobile apps, but mine works on iOS, Android browser, and windows phone 8. It also works on regular browsers.
I have wrapped this in hybrid app using phonegap, but only submitted to Google play. One day I will submit it to Apple too. https://play.google.com/store/apps/details?id=com.premii.hn
But it is not a simple task to make fast performing HTML5 app that works on all mobile browsers.
This will definitely be the way I consume HN on the go from now on.
+1000 KUDOS
I WILL be using this app a lot.
edit: More kudos for being a Wolverine like myself. Go Blue!
I am not using any framework, and using vanilla JS as much as possible.
If you add these meta tags, it will open as app.
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-touch-fullscreen" content="YES"/>
And this for icon
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="a/icon/ios/Icon-72@2x.png"/>Other than that issue, I'm very impressed with the site. The design and performance are excellent.
But as you said, given that you didn't use any frameworks the productivity couldn't have been that great... Not to mention that it probably doesn't blend in with the native apps? (don't have a mobile with me right now, so can't test it)
Well, I am not a designer so it took me while to get right colors, background, text sizes, layout etc. You can see my profile here. (http://premii.com).
Initial app took one Sunday. It worked on android browser and iOS. If I only had to make it work for iOS, it would ve been easy, but chrome on android took as much time as the whole app. Later found that there was a bug in chrome. They just fixed it like 2-3 weeks before.
It worked on WP8-IE10 without any special code. I didn't had WP, so I asked reddit/r/windowsphone guys and they told me it works great. Couple of redditors reported minor issues which I fixed.
I am not saying this is easy to do, and I will never advise anyone to user HTML5 if they have CPU intensive task and super complex animation/interaction. However HTML5 is the only platform that can help you develop simple app that works on all 4 mobile platforms (iOS, Android, WP8 and mobile browsers).
I installed the app by saving to the home screen. Then I opened it and was browsing around, but all of a sudden, all my buttons got disabled and so now I'm stuck inside the app looking at an HN thread. There's no back button once you click through to an external url. So I can't even get back to the app's UI.
So now I just have to wait for my phone battery to die.
But the hard reset suggested by TeMPOraL worked.
On Opera Mobile or Nokia Xpress it's unusable though, as expected; luckily the HN site works just fine in these browsers.
i created a tile for it using webapps [1] and it really feels like a native experience (looks good on my start screen too [2]..)
would be great if you ever get round to submitting a wrapped version to the wp store as well. its unfortunately lacking in quality hn apps..
[1] http://www.windowsphone.com/en-us/store/app/webapps/49e97b4c...
Here is the format[1]:
<meta name="msapplication-TileImage" content="/metro-tile.png"/>
<meta name="msapplication-TileColor" content="#015565"/>
[1] - http://blogs.msdn.com/b/ie/archive/2012/06/08/high-quality-v...Edit: N/M It's in there.
A: "A web app's CPU budget is spent in three different buckets"
Q: "That... doesn't answer my question."
A: "Javascript is the puppet master of the browser engine."
Q: "That doesn't either."
A: "I'm the director of engineering for the Web Platform team at Adobe. I sort of have to write blog posts like this."
Q: "Ah, ok. No hard feelings then. You're in a tough spot."
A: "Yes. Yes, I am."
A meaningless question. Slow relative to what? Slow for whom? What sort of app are we talking about?
Personally, I tend to agree with the original article that GC is an expensive thing to put in most apps. BUT, you need to be pragmatic about determining if the additional margin of execution speed from not having a GC justifies the coding effort.