There is only one rendering engine on iOS. Apple TOS prohibits all other rendering engines. Chrome uses Safari/webkit rendering engine to render the page.
305 karma · joined June 12, 2012
http://reddit.premii.com - Reddit Webapp (Mobile + Desktop) - no tracking - fast - works in congnito
http://premii.com
There is only one rendering engine on iOS. Apple TOS prohibits all other rendering engines. Chrome uses Safari/webkit rendering engine to render the page.
What is the right way? Native only?
There are many apps in the appstore that uses html5 and users of the app don't care how is it build.
If you need cross browser solution and if you don't mind using JS, then you can use canvas to blur images. Its not good as this.
Demo: http://premii.com/ (Refresh the page to see a different background).
iPhone doesn't have a hardware back button, and most people don't know you can navigate back by swiping.
I will add tracking in http://hn.premii.com/ to see how many user uses in landscape mode vs portrait.
Hiding navbar in the landscape mode is an option.
Try this my redesign reddit. http://reddit.premii.com/ I hope reddit does something like this, and let user configure layout for each subreddit.
My hacker news app is a hybrid app. Available on iOS/Android/Windows/Mac and web, and I harldy see any one compalining about not being native.
There are some legit issues and peole think only way to fix is go native. Only reason I have not fixed those issues because I don’t have time, or I don’t use that functinality.
I think you are doing something wrong. I have a light app and very heavy SPA (written really badly with almost 5mb of code, D3 + Highcharts). Still, both app loads in less than 4 seconds in IE 11, FF, Chrome and Safari.
They should but not the way they are making it.
It should be server side render for initial page (not just home page but any page). And mostly changing content through AJAX when you navigate between pages.
SPA is hard specially when it comes to usability. One of the biggest issue I see with SPA is going back. Browser handles back history pretty good for non-SPA. Replicating similar behavior in JS in not easy.
Reddit SPA should be like this with server side rendering. http://reddit.premii.com/
How big is the iOS team at Twitter? This is old picture (https://pbs.twimg.com/media/BYBiL8MCUAAiB7r.jpg)
Everyone from VPs, Directors, to HR knows HTML, and they all have opinion about how it should be. They all want you to build a Facebook like app with 2 developers and works on all platforms.
Cordova is not a replacement to build native apps. Its a tool that allows you to build really good apps that works on all platforms.
My app[1] wouldn't have exist without Cordova. And based the feedback, most users are fine with it.
I have yet to find a solid native app that is available on all platforms, not belongs to a big company or a startup with huge funding, and made by 1/2 developers.
[1]
https://play.google.com/store/apps/details?id=com.premii.hn
https://itunes.apple.com/us/app/hacker-news-yc/id713733435?m...
http://hn.premii.com/ (HTML5)
div.textContent = msg;
msg.text = div.innerHTML;
This should remove all HTML/CSS/Script.
Does it freezes on 5th and 18th item? That is on purpose.
I don't have LG. I have tested on Asus, Samsung S3, and Nexus 5. Try it on Chrome browser, and see how it works.
Some images (Washington post, latimes, etc) are bigger than 20 MB each. All browser freezes when you render those images. My demo specifically includes those to see how bad it performance on different devices.
One of the benefit of being a big company is you can control everything. Flipboard scales down those images to 300kb before sending it to browser. I use original images.
I implemented this in few hours. Works on iOS, Android 4+ and WP
- Demo for mobile: http://premii.com/play/flipboard-style-news/
- I am using it in real app here. http://reddit.premii.com/#/r/news/
I have not updated my downloaded app in long time.
For HN, official APIs are very limited.
Twitter is list of stories with notifications. For me its more like HN app. HN has list of stories, Twitter has 140 characters tweet. When you click on the HN story, you get list of comments or article. When you click on the tweet, you get replies and retweets and so on.
Facebook is a same thing with pictures and videos. Try this http://reddit.premii.com/#/r/pics - enable pictures view from top right dropdown and http://reddit.premii.com/#/r/gifs to try gify/video
---
I didn't start with Android 5.x. I started my app with Android 4.x. I don't think you use low end Android device. Even native apps on Android has lot of issues related to performance.
On my Nexus 5.0/Android 5.x, Facebook scroll is not smooth when there are pictures. I only get non-important notifications from my twitter app.
I test my app in first generation of iPad 2 (My iphone 4s broke) and galaxy s3.
---
Now show me 5 meaningful 100% native apps (Non-game) that are not developed my a startup with a huge capital or big company, available on iOS and Android, and has 4.x star ratings.
> There's nothing more annoying to a mobile user than an "app" that takes 10 seconds to start up
Try this on your mobile browser http://hn.premii.com/
Now download this. Android : https://play.google.com/store/apps/details?id=com.premii.hn Or iOS: https://itunes.apple.com/us/app/hacker-news-yc/id713733435
And play with it. Download top 5 native HN apps, and launch those, and tell me which one takes 10 seconds on which device.
No doubt that you will have to deal with different version of webkit browsers (webview) on android. As long as you follow standards and not use latest CSS rules, you will be fine. And with Android 5.0+, its much much better.
---
Now try this page on your mobile, and tell me how bad it is. This is few hours of work (Flipboard style animation), and works on iOS/Android Chrome/WP8: http://reddit.premii.com/#/r/news
There are issues with browsers, but performance is not one of the issue.
----
It takes time on Cordova not because of HTML, but because how each platform works natively. I am not a native developer.
Try https://play.google.com/store/apps/details?id=com.premii.hn
And if you hate downloading, try http://hn.premii.com/ in chrome and add it to home screen
It actually gets ycombinator page, parses DOM and generates JSON that I can use in my app. I think that might be the reason.
All our servers (API/DB) are slow, and they think that Angular will free up resource (Because not rendering on servers), and using "free" client resource to render, it will be fast.
- JS only site won't rank higher on search engines.
- Facebook share/Open graph won't work
Or any site that relies on getting HTML from you to index wont work.