Производительность AngularJS против размера страницы - PullRequest
0 голосов
/ 25 января 2019

Мой сайт имеет размер ~ 500 КБ, включая js, css и изображения. Он построен на AngularJS. Многие люди в моей компании жалуются на медленный сайт с низкой пропускной способностью. Есть несколько вопросов, на которые я хотел бы получить ответ,

  1. Не слишком ли велико сжатие 500 КБ для более низкой пропускной способности? Люди утверждают, что загрузка их машины занимает 20 секунд, что, я считаю, является преувеличением. Это действительно из-за anugularJS и времени его оценки?

  2. Какое значение имеет размер приложения при низкой пропускной способности? Если мой сайт занимает 500 КБ, и если я уменьшу его до 150 КБ, создав собственную инфраструктуру, действительно ли это поможет мне с меньшей пропускной способностью? Если да, то сколько?

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Это все субъективно, и определение «низкая пропускная способность» довольно широкое.Однако ... используя https://www.download -time.com / , вы можете получить приблизительное представление о том, сколько времени потребуется для загрузки 500 Кбайт на разных полосах пропускания.

Таким образом, при любом соединении со скоростью выше 512 Кбит / с (минимальная скорость aDSL, большинство сейчас лучше, чем 5 Мбит / с, и 3G-мобильные устройства находятся примерно на одном уровне), маловероятно, что размер файла является проблемой.

Если «низкая пропускная способность» также подразумевает «ограниченное аппаратное обеспечение» (ОЗУ, ЦП), возможно, проблема с производительностью заключается в разархивировании и обработке вашего приложения.Angular довольно отзывчив, но низкое аппаратное обеспечение может бороться.

Приведенные выше основные причины оправдывают переписывание приложения с использованием вашей собственной пользовательской среды.

Однако наиболее вероятной проблемой являются любые ресурсы / ресурсы / шаблоны, которые требуются вашему угловому приложению для инициализации - изображения,Файлы JSON и т. Д. Это сложно выяснить без конкретных деталей - каждое приложение отличается.Хорошей новостью является то, что вам не нужно переписывать свое приложение - вы должны иметь возможность использовать существующее приложение и настраивать его.Я предполагаю, что приложение размером 500 КБ не может быть значительно уменьшено в размере без перезаписи, и что проблема скорости заключается в загрузке дополнительных ресурсов при запуске.

Я бы использовал разработчика Google Chromeинструменты, чтобы увидеть, что происходит.На вкладке «производительность» есть возможность имитировать различные типы условий сети.Вкладка «Сеть» позволяет увидеть, какие активы загружены и сколько времени они занимают.Я бы посмотрел, какие активы требуют времени, и посмотрел, какие из них могут быть загружены лениво.Например, если приложение загружает очень большой файл изображения при запуске, возможно, оно может быть загружено с отложенной загрузкой, что позволяет приложению быстрее реагировать на запросы конечного пользователя.Распространенным способом улучшения воспринимаемой производительности является использование отложенная загрузка .

0 голосов
/ 25 января 2019

Поскольку angular.js сам имеет размер gzip-файла 57kb , кажется, что этот первоначальный вызов страницы загружен гораздо больше, что примерно в 10 раз больше angular.js.

Чтобы уменьшить время загрузки страницы, попробуйте создать фрагменты ваших javascript функций, которые состоят только из функций, которые необходимы, например, для индексной страницы, чтобы уменьшить время загрузки.

Например, при использовании Webpack рекомендуемый максимальный размер файла по умолчанию составляет около 244 КБ , см. Здесь

Angualr 1.7.5 CDN size minified

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...