Преобладающая теория о том, почему текущее приложение Facebook для iOS настолько медленное, заключается в том, что приложение:
- страдает от интенсивного использования JavaScript в компоненте UIWebView, который в настоящее время не использует движок Javascript Nitro, доступный для Mobile Safari
- плохо спроектирован
Приложение использует очень мало собственного кода, и, таким образом, большая часть вашего взаимодействия происходит в UIWebView, отображающем HTML и выполняющем Javascript.
По сути, везде, где приложение отображает что-то, что выглядит и действует как «встраивание веб-браузера», это UIWebView.
Проще говоря, движок Nitro Javascript делает Javascript «быстрее».
В iOS 4.3 появился движок Nitro для Mobile Safari, а в IOS 5 - движок Nitro для веб-ярлыков, запускаемых с домашнего экрана. Это одна из возможных причин, почему использование Facebook в Mobile Safari выглядит намного более отзывчивым.
Начиная с iOS 5.1, UIWebView не использует движок Nitro Javascript.
Эта проблема недавно обсуждалась в блоге Mobtest: « Вот почему приложение iOS для Facebook так плохо (UIWebViews и не Nitro) » с множеством комментариев в соответствующей ветке Hacker News .
В рамках текущего приложения Facebook недавно усилил продвижение дополнительных приложений для iOS:
Эти приложения - от «старых новостей» до «совершенно новых» - похоже, хорошо справляются с задачей хорошо выполнить одну задачу, связанную с Facebook, в некоторых случаях добавляя поддержку чего-то, чего не делает обычное приложение Facebook для iOS. даже поддержка.