Почему JavaScript работает настолько медленный на iPhone?

Я исследовал запись приложения для iPhone. Мне действительно нравится вид PhoneGap, который в основном позволяет Вам содержать веб-страницу в приложении. Мои навыки находятся primarially в HTML/Javascript, таким образом, этот инструмент позволяет мне максимально использовать свои навыки, не имея необходимость проводить много часов, учась, как записать приложение исходно для iPhone.

Я делал некоторые тесты на своем iPhone для JavaScript и некоторые на вид простые примеры, выполненные крайне медленный. Действительно медленный. Этот unfortunatly является большой проблемой для моей задачи!

Какая-либо работа arounds? Если я хочу сделать что-либо интересное, я оказываюсь перед необходимостью писать 'надлежащее' приложение?

Объяснение на том, почему Apple по-видимому создала такую плохую реализацию JavaScript, было бы интересно также (возможно для создания большего количества денег? Меньше веб-приложений = больше приложений в хранилище?)

Ссылки

http://ajaxian.com/archives/ipad-javascript-shockingly-slow

11
задан Tom Gullen 22 July 2010 в 10:10
поделиться

4 ответа

Javascript не особенно медленный, но DOM очень медленный.
Я думаю, что это то же самое, что и настольный браузер, но увеличенный.
Я бы проверил сначала все манипуляции DOM, если они не могут быть оптимизированы.

Другим вариантом является использование механизма шаблонов.
Основные манипуляции DOM выполняются с помощью инъекции innerHTML, которая быстра даже на мобильных телефонах.

Мы создали мобильную версию нашего веб-приложения и используем PURE (созданная нами JS-библиотека с открытым исходным кодом) для рендеринга HTML из данных JSON, и она очень отзывчива.

Мы пошли по пути HTML5 (не родной), но я думаю, что генерация HTML может быть сделана таким же образом, когда упакована в PhoneGap.

9
ответ дан 3 December 2019 в 08:53
поделиться

Очевидно iOS не будет выполнять JIT-компиляцию JavaScript (в отличие от Android) из-за функция безопасности: http://daringfireball.net/linked/2010/07/22/android-ios-js-benchmarks

Хороший момент, когда проблема заключается в доступе к DOM: я не знаю, сколько они тесты тестируют операции DOM.

2
ответ дан 3 December 2019 в 08:53
поделиться

Я не думаю, что Apple создала какую-либо специальную реализацию Javascript для Mobile Safari. Вероятно, это то же самое или очень похоже на настольный Safari.

Эти устройства небольшие и имеют строгие ограничения мощности, поэтому процессор работает медленно.

3
ответ дан 3 December 2019 в 08:53
поделиться

На самом деле, я думаю, что Apple заинтересована в том, чтобы максимально исключить javascript из Iphone. они, похоже, хотят регулировать вещи через свой appstore, требуя приложений, которые запускаются изначально. Мне любопытно, работает ли javascript также медленно на телефонах Android (я никогда не использовал его раньше). Если это не так, то я думаю, что немного странно, что Iphone будет медленным с javascript, во всяком случае, они уже теряют долю рынка и должны будут решить проблему в какой-то момент, я уверен, я думаю, что люди цепляются за игры Apple и идиотизм в попытке микроуправлять всем сейчас, когда в пространстве мобильных устройств появляются более законные альтернативы.

-1
ответ дан 3 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: