Dominującą teorią, dlaczego obecna aplikacja Facebook na iOS jest tak powolna, jest to, że aplikacja:
- cierpi z powodu częstego używania JavaScript w komponencie UIWebView, który obecnie nie korzysta z silnika JavaScript „Nitro” dostępnego dla Mobile Safari
- jest źle zaprojektowany
Aplikacja wykorzystuje bardzo mało natywnego kodu, dlatego większość interakcji odbywa się w UIWebView wyświetlającym HTML i uruchamiającym Javascript.
Zasadniczo wszędzie tam, gdzie aplikacja wyświetla coś, co wygląda i działa jak „osadzanie przeglądarki internetowej”, jest to UIWebView.
Mówiąc najprościej, silnik Javascript Nitro sprawia, że Javascript jest „szybszy”.
iOS 4.3 wprowadził silnik Nitro do Mobile Safari, a IOS 5 wprowadził silnik Nitro do skrótów sieciowych uruchamianych z ekranu głównego. Jest to jeden z potencjalnych powodów, dla których korzystanie z Facebooka w Mobile Safari wydaje się znacznie bardziej responsywne.
Począwszy od iOS 5.1, UIWebView nie korzysta z silnika Javascript Nitro.
Ten problem był ostatnio omawiany na blogu Mobtest: „ Oto dlaczego aplikacja Facebook na iOS jest taka zła (UIWebViews i bez Nitro) ” z kilkoma komentarzami w powiązanym wątku Hacker News .
W ramach bieżącej aplikacji Facebook ostatnio zwiększył promocję dodatkowych aplikacji na iOS:
Te aplikacje - od „starych wiadomości” po „nowiutkie” - wydają się robić dobrą robotę, koncentrując się na dobrze wykonanym pojedynczym zadaniu związanym z Facebookiem, w niektórych przypadkach dodając obsługę czegoś, czego nie robi ogólna aplikacja Facebook na iOS nawet wsparcie.