If you read the presentation, it's more like,<p>>A: Facebook app has such different priorities than other developers, that Apple's development ecosystem has 'unreasonable' expectations and assumptions.<p>Facebook wants to be (and seems to like being) a "clowntown" (as the author puts it) where anyone and everyone can write up a duplicate library to anything and ship it. Any and all code will ship, it just can't make the app dip below 60fps. To meet those strange goals, they 'hacked' together their own GUIKit (at least three of them, actually), their own IDE, their own animation kit, their own debugger, etc. A general theme seemed to be that this was done in order to get everything off the main thread and onto background threads. By only depositing the very smallest amount of work onto the main thread from a gigantic soup of background threads you could keep the app snappy without needing to prune any code.<p>Seems to me to be a silly way to differentiate one's self.
Wow, At least that is a start, I have been shouting and even parking for an answer as to why some of the Apps are huge. May be next time i should ask that on Reddit to finally get an response.<p>To be honest performance wise Facebook app is great. Butter smooth, but there is no reason a 20MB App cant be butter smooth either. Feedly App, is only 18MB.<p>And it seems large app isn't just Facebook, twitter is 60MB. QQ is 130MB, or We Chat, etc..... Many apps seems to be be way bloated.<p>So are we implying all these apps are over engineered?
You can take a look at one of the possible reasons in a short piece I wrote about Facebook Paper, and especially screenshots :-)<p><a href="http://www.koszek.com/blog/2015/09/08/copyright-screen-of-facebook-paper/" rel="nofollow">http://www.koszek.com/blog/2015/09/08/copyright-screen-of-fa...</a>
That's silly.<p>I work on a multitude of apps that have <i>huge</i> customer bases. Obviously no where near Facebook but, definitely a couple million users. The largest app has maybe 200K lines of code? And we are always able to find sections of the app to refactor or find dead code to cut.