6 ms·
Six apps, six embedded web browsers.
by rootlocus 9y ago
Six apps, six embedded web browsers.
- jamix 9y agoFacebook did flirt with HTML5 but ditched it in the end. So that's not really true.
- sidlls 9y agoThey went off the deep end with their "engineering" of the app (see: https://www.reddit.com/r/programming/comments/3m5n2n/facebook_engineer_ios_cant_handle_our_scale/?st=j5tqiuhc&sh=107e730a https://www.reddit.com/r/programming/comments/3m5n2n/faceboo...). It's really amusing to me when "engineers" start talking about the "scale" of the UI. It's a client. Thin vs. Fat aside, if it's that fat it's almost certainly a bloated mess of redundancy and what is called "overengineering" (which is actually underengineering--that is, a deficiency of the application of engineering and architecture principles to the design of the application).
- Sir_Cmpwn 9y agoAre these slides available anywhere? The backup link is down, too.
- sidlls 9y agoI don't know. I just did a search for "facebook ios can't handle our scale" because I remembered reading this some time ago.
- saosebastiao 9y agoI had a friend who quit working for Facebook about a month before that slideshow was published, and it was hilarious to see her mock it so mercilessly. She estimated a good 40% was completely dead code, and another 20% was partially dead code (e.g. code for notifying people of "pokes" without any mechanism to view them). She also had some choice words for the engineer who published the slides, but those can mainly be pieced together from the general mockery on Reddit and hacker news.
- anonacct37 9y agoDoes that add up to much in terms of app size? I was under the impression most embedded web browsers used platform web view components?
- potatolicious 9y agoYou're right - there should be minimal (if any) size bloat because of the use of browsers on iOS. You're not allowed to include your own browser, and can only use the platform's web view, which is not duplicated on a per-app basis. There are many culprits for app bloat, but using a browser is most certainly not one of them.
- rootlocus 9y agoI'm sincerely curious what would be the worst offenders for app bloat.
- potatolicious 9y agoIt varies, but for most apps I'd wager it's library bloat, but in my experience doing iOS dev here are the common culprits: - For games assets are a big issue. Some do not compress their assets, and unfortunately most image-authoring tools make it easy to output PNGs that are much larger than they can be. I think a lot of people by default assume bloat comes from images/icons/etc, but IMO this is a red herring for most non-game apps. - Library bloat. Even simple apps pull in a large number of external dependencies, which contribute dramatically to app bloat. There's also a lot of code pulled in that replicate platform-provided functionality (see: the bajillions of layout libraries out there), which may be simpler to use than the stock Apple components, but add to your bundle size. One of the common problems is that iOS open source dependencies are typically all-or-nothing - you end up pulling in a very large library even if you're only using a small slice of its functionality. I think most disassemblies of iOS app bundles show that library bloat is typically a far larger problem than asset bloat. In any case, I think the future will be something like Android Instant Apps - where apps are sliced up such that necessary bits can be downloaded on-demand. This gets users into apps faster, and saves space.
- WA 9y agoApparently, Crosswalk [1] for Android adds "only" about 20MB. I just compiled a Cordova-based Android-app without Crosswalk, but also without images. Just JavaScript, HTML and CSS and a few plugins and the APK is < 3MB. Was quite surprised by that. [1]: https://crosswalk-project.org/ https://crosswalk-project.org/
- eerikkivistik 9y agoI think a few more years and we can finally stop bundling browsers. It's not like anyone wants to bundle a browser inside their app for fun. That being said, Crosswalk really solved some serious issues for my product so cheers to them.
- prophesi 9y agoYeah, I used it a year or two ago, and it was nice for making sure the experience was the same across all Android devices. Glad to see the built-in Webview is getting place.
- pier25 9y agoNope. Only Crosswalk embeds a browser engine in Android and the project has been cancelled. Cordova uses the system WebView.