JavaScript. Оптимізація продуктивності
-
ISBN978-5-93286-213-1
-
Видавництво
-
Автор
-
Рік2017
-
МоваРосійська
-
ІлюстраціїЧорно-білі
-
Жанр
Все про “JavaScript. Оптимізація продуктивності”
Від видавця
Шосте видання JavaScript. Докладне керівництво від Девіда Фленаган стало супер бестселером і самим надійним помічником всіх JavaScript-програмістів. Але один аспект теми JavaScript автор розкрив недостатньо широко... Все, що Ви хотіли знати про оптимізацію продуктивності, але не знали, де запитати - у новій книзі від "Символ-Плюс" і o'reilly!
Якщо ви ставитеся до переважної більшості веб-розробників, то напевно широко використовується JavaScript для створення інтерактивних веб-додатків з малим часом відгуку. Проблема полягає в тому, що рядки з програмним кодом на мові JavaScript можуть сповільнювати роботу додатків. Ця книга відкриє вам прийоми і стратегії, які допоможуть у ході розробки усунути вузькі місця, що тягнуть за собою зниження продуктивності. Ви дізнаєтеся, як прискорити виконання, завантаження, операції з деревом DOM, роботу сторінки в цілому і багато іншого.
Ніколас Закас (Nicholas C. Zakas), програміст з компанії Yahoo!, спеціалізується на розробці користувацьких інтерфейсів веб-додатків, і п'ять інших експертів в галузі використання JavaScript – Росс Хармс (Ross Harmes), Жюльєн Лекомте (Julien Lecomte), Стівен Левітан (Steven Levithan), Стоян Стефанов (Stoyan Stefanov) і Метт Суїні (Matt Sweeney) – представлять оптимальні способи завантаження сценаріїв та інші методи програмування, які допоможуть вам забезпечити найбільш ефективне та швидке виконання програмного коду на JavaScript. Ви познайомитеся з найбільш передовими прийомами складання і розгортання файлів в чинному оточенні і з інструментами, які допоможуть вам в пошуку проблем.
Прийоми і підходи, які розглядаються в цій книзі, охоплюють різні аспекти програмування на мові JavaScript, такі як час виконання, завантаження, взаємодія з DOM, життєвий цикл сторінок і багато інших. З розглянутих проблем лише мала частина, пов'язана з продуктивністю ядра (ECMAScript), може бути усунена за рахунок удосконалення інтерпретаторів JavaScript, але це ще тільки має відбутися.
У вирішенні інших розглянутих проблем збільшення продуктивності інтерпретаторів JavaScript не вирішує проблему швидкодії. Це взаємодія з деревом DOM, мережеві затримки, блокування і паралельна завантаження сценаріїв JavaScript і багато іншого. Ці питання не тільки не будуть зняті в майбутньому, але стануть основним предметом досліджень по мірі підвищення продуктивності інтерпретаторів JavaScript.
Голови в цій книзі організовані у відповідності зі звичайним циклом розробки сценаріїв на мові JavaScript. Спочатку у розділі 1 «Завантаження та виконання» розповідається про паралельної завантаження JavaScript-файлів одночасно з іншими ресурсами.
Погано написаний програмний код, використання неефективних алгоритмів і утиліт є істотним фактором зниження продуктивності JavaScript. У розділах 2-8 представлені конкретні прийоми програмування, які дозволяють максимально збільшити швидкість виконання програмного коду.
У розділі 2 «Доступ до інформації» описується, як JavaScript-сценарії зберігають і витягають дані. Важливо не тільки вирішити, які зберігати дані, але і де їх зберігати, і ця глава демонструє, як такі поняття, як ланцюжки областей видимості і ланцюжка прототипів, можуть впливати на продуктивність сценаріїв. Тут розповідається про прискорення доступу до даних та вирішенні ідентифікаторів, про управління областями видно, про динамічних областях видимості, про використання ланцюжків областей видимості і збереження даних в замиканнях. Цей матеріал дозволить глибше зрозуміти особливості роботи областей видимості в мові JavaScript.
У розділі 3 «Робота з деревом DOM» пояснюється, що через особливості реалізації операції з деревом DOM є найповільнішими в JavaScript. Розглядаються всі аспекти, що стосуються DOM, включаючи опис того, як оновлення і реорганізація елементів сторінок можуть зменшити швидкість виконання програмного коду.
Пропонуються зручні і ефективні прийоми читання та зміни елементів DOM, способи зміни стилів елементів DOM, що дозволяють уникнути зайвих операцій перемальовування і перекомпонування.
Глава 4 «Алгоритми і керування потоком виконання» описує, як поширені прийоми програмування, такі як цикли і рекурсія, можуть працювати проти вас, знижуючи продуктивність під час виконання. Тут розглядаються такі методи оптимізації, як мемоизация, а також деякі обмеження, що накладаються браузерами.
Багато веб-додатки виконують складні операції з рядками, обговорення яких у главі 5 «Рядки та регулярні вирази» веде Стівен Левітан, експерт з обробки текстових даних. Протягом багатьох років веброзробники боролися з неефективною реалізацією строкових операцій в браузерах, і Стівен пояснює, чому деякі операції виконуються дуже повільно і як обходити це при розробці.
Глава 6 «Чуйні інтерфейси» концентрується на відчуттях користувачів. В процесі виконання JavaScript-сценарій може «підвішувати» броузер, викликаючи незадоволення у користувачів. Тут обговорюються деякі прийоми, що гарантують збереження чуйності користувальницького інтерфейсу в будь-яких умовах. Розповідається, як вирішуються проблеми, обумовлені тим фактом, що виконання JavaScript-сценаріїв і оновлення інтерфейсу проводиться в одному потоці виконання. Демонструються такі прийоми, як застосування таймерів, поділ завдань і використання фонових потоків для виконання програмного коду за рамками головного потоку управління.
У главі 7 «Ajax» обговорюються способи реалізації швидких взаємодій між клієнтом і сервером, показується, як різні формати представлення даних можуть впливати на продуктивність механізмів Ajax і чому застосування об'єкта XMLHttpRequest не завжди є кращим вибором.
Глава 8 «Прийоми програмування» являє собою колекцію найбільш ефективних прийомів програмування, унікальних для мови JavaScript.
Після того як JavaScript-сценарій буде написаний і налагоджений, настає момент зробити внесені зміни доступними всім бажаючим. Проте недостатньо просто скопіювати вихідні файли на діючий сервер. У розділі 9 «Складання і розгортання високопродуктивних додатків на JavaScript» демонструється, як підвищити продуктивність сценаріїв при розгортанні, обговорюються особливості використання систем збирання, автоматично мінімізують файли, і застосування функції стиснення в протоколі HTTP при відправці файлів броузерам.
Наступний крок після розгортання JavaScript-сценаріїв – тестування їх продуктивності. Глава 10 «Інструменти» охоплює інструменти дослідження продуктивності, здатні допомогти в пошуку проблем, які можуть з'явитися після розгортання сценаріїв. Розповідається про інструменти для профілювання JavaScript-сценаріїв і аналізу мережевого трафіку, таких як Firebug, інструменти розробника в Chrome, dynaTrace, Fiddler, Page Speed, YSlow, веб-інспектор в Safari, інструменти розробника в IE.
Ця книга адресована веб-розробникам з середнім і високим рівнем володіння мовою JavaScript, охочим підвищити продуктивність інтерфейсів веб-додатків.
Зміст
Анотація
Всі характеристики
- Видавництво
- Автор
- Категорія
- Рік2017
- Сторінок258
- Формат170х240 мм
- ОбкладинкаМ'яка
- ОформленняМатова
- Тип паперуОфсетний
- МоваРосійська
- ІлюстраціїЧорно-білі
- Жанр
Товар входить до категорії
-
Самовивіз з відділень поштових операторів від
45 ₴ -80 ₴ -
Доставка поштовими сервісами - тарифи перевізника
Рецензії