Доброго времени!
У нас вышла книга Закаса «JavaScript для профессиональных веб-разработчиков»
Эта книга ориентирована на три группы читателей:
— профессиональные разработчики, имеющие опыт объектно-ориентированного программирования и желающие изучить JavaScript в контексте традиционных объектно-ориентированных языков, таких как Java и C++;
- разработчики веб-приложений, которым нужно сделать свои веб-сайты и веб-приложения более удобными в использовании;
— начинающие разработчики на JavaScript, желающие лучше понять этот язык.
Темы, рассматриваемые в книге
Книга объединяет введение в JavaScript для разработчиков и описание более сложных и полезных возможностей этого языка.
Сначала мы рассмотрим историю и эволюцию JavaScript, после чего подробно обсудим компоненты языка, уделив особое внимание стандартам, таким как ECMAScript и Document Object Model (DOM), а также различиям JavaScript-реализаций в популярных веб-браузерах.
Взяв эту информацию за основу, далее мы рассмотрим базовые концепции JavaScript, в том числе особенности объектно-ориентированного программирования с его помощью, наследование и использование его в HTML. Вслед за подробным обсуждением обработки событий вы ознакомитесь с приемами распознавания браузеров и новыми API, такими как HTML5, Selectors и File.
Последняя часть книги посвящена более сложным темам, таким как оптимизация быстродействия и использования памяти, наилучшие методики работы и перспективные направления развития JavaScript.
Структура книги
В книге 25 глав.
1. Что такое JavaScript? Эта глава содержит общие сведения о JavaScript: вы узнаете, как появился этот язык, как он развивался и что он представляет собой сегодня. Мы обсудим, как JavaScript соотносится с ECMAScript, объектной моделью документа (DOM) и объектной моделью браузера (BOM). Кроме того, вы ознакомитесь с соответствующими стандартами от Европейской ассоциации производителей вычислительной техники (ECMA) и консорциума World Wide Web (W3C).
2. JavaScript в HTML. В этой главе описано применение JavaScript в сочетании с HTML для создания динамических веб-страниц. Также рассмотрены различные способы внедрения JavaScript-кода в страницу, типы JavaScript-контента и их использование с элементом <sсript>.
3. Основы языка. В этой главе рассмотрены базовые концепции языка, в том числе его синтаксис и управляющие инструкции. В ней указаны сходства и различия JavaScript и других C-подобных языков, а также описано приведение типов в связи со встроенными операторами.
4. Переменные, область видимости и память. В этой главе рассказано о переменных, которые в JavaScript являются слабо типизированными. Глава содержит сведения о различиях между примитивными и ссылочными значениями и контексте выполнения в связи с переменными. Вы также узнаете о том, как работает сборщик мусора и как память возвращается среде, когда переменные покидают область видимости.
5. Ссылочные типы. Эта глава посвящена встроенным в JavaScript ссылочным типам, таким как Object и Array. Для каждого ссылочного типа, определенного в ECMA-262, приведены как теоретические сведения, так и подробности его реализации в браузерах.
6. Объектно-ориентированное программирование. В этой главе рассмотрены приемы объектно-ориентированного программирования на JavaScript. Поскольку в JavaScript нет классов, мы обсудим несколько популярных методик создания объектов и наследования. Глава также содержит сведения о прототипах функций и их использовании в рамках объектно-ориентированного подхода.
7. Функции-выражения. Функции-выражения относятся к наиболее мощным аспектам применения JavaScript. В этой главе описываются замыкания, детали функционирования объекта this, паттерн Модуль и создание закрытых членов объектов.
8. Объектная модель браузера. В этой главе описана объектная модель браузера (BOM), которая предоставляет объекты для взаимодействия с браузером. Вы ознакомитесь со всеми BOM-объектами, включая window, document, location, navigator и screen.
9. Распознавание клиента. В этой главе рассмотрены способы распознавания клиентского браузера и поддерживаемых им функциональных возможностей. Вы узнаете о распознавании возможностей, анализе строки пользовательского агента, о достоинствах и недостатках каждого подхода и о том, какой подход оптимален в той или иной ситуации.
10. Объектная модель документа. В этой главе описаны объекты, определенные в спецификации DOM Level 1. После ознакомления с XML в контексте DOM вы сможете подробно изучить модель DOM и предоставляемые ею возможности по манипулированию содержимым страницы.
11. Расширения DOM. Эта глава содержит сведения о том, как API и сами браузеры расширяют функционал DOM. В число рассматриваемых тем входят Selectors, Element Traversal API и расширения HTML5.
12. DOM Level 2 и 3. В этой главе, основанной на двух предыдущих главах, рассказано о том, как спецификации DOM Level 2 и 3 расширяют DOM дополнительными свойствами, методами и объектами. Также рассмотрены проблемы совместимости Internet Explorer и других браузеров.
13. События. Из этой главы вы узнаете о природе JavaScript-событий, их генерировании, поддержке унаследованных возможностей и о том, как события переопределены в DOM. Помимо прочего, в главе рассмотрены события устройств Wii и iPhone.
14. Работа с формами. В этой главе рассказывается, как с помощью JavaScript улучшить взаимодействие с формами и обойти ограничения браузера. Особое внимание уделено работе с элементами форм, такими как текстовые поля и списки, а также проверке и обработке данных.
15. Рисование на холсте. Эта глава посвящена тегу и его использованию для динамичного создания графики. Рассмотрены двухмерный контекст и контекст WebGL (трехмерный), что поможет вам приступить к созданию анимаций и игр.
16. HTML5. В этой главе представлены изменения JavaScript API в HTML5. Глава включает сведения о передаче сообщений между документами, элементах <audiо> и <videо> из Drag-and-Drop API, а также управлении состоянием журнала.
17. Обработка ошибок и отладка. В этой главе рассмотрены способы обработки ошибок в JavaScript-коде. Также описаны инструменты и приемы отладки для каждого браузера и приведены рекомендации по упрощению процесса отладки.
18. XML в JavaScript. В этой главе рассмотрены возможности JavaScript, используемые для чтения XML-данных и манипулирования ими. Описаны различия возможностей и объектов в разных веб-браузерах и приведены советы по написанию кроссбраузерного кода. Также в главе приведены сведения об использовании XSLT-преобразований для трансформации XML-данных на клиентских системах.
19. ECMAScript для XML. Эта глава посвящена расширению ECMAScript для XML (E4X), которое упрощает работу с XML. Также в ней описаны преимущества E4X над манипулированием XML с помощью DOM.
20. JSON. В этой главе представлен формат JSON — альтернатива XML. Описаны возможности синтаксического анализа и сериализации JSON и приведены сведения о том, как обеспечить безопасность при использовании JSON.
21. Ajax и Comet. В этой главе описаны популярные приемы работы с Ajax, в том числе использование объекта XMLHttpRequest и обмен ресурсами с запросом происхождения (CORS). Также рассмотрены различия реализаций и поддержки Ajax в браузерах и приведены рекомендации по использованию этой технологии.
22. Более сложные приемы. В этой главе описаны более сложные шаблоны JavaScript, такие как каррирование функций, частичное применение функций и динамические функции. Кроме того, в главе рассмотрены пользовательские события и создание объектов, защищенных от изменений, с помощью ECMAScript 5.
23. Автономный режим и клиентское хранилище. В этой главе рассказано о том, как определить, что приложение работает в автономном режиме, и описаны различные методики сохранения данных на клиентском компьютере. В главе рассмотрены как традиционные файлы cookie, так и более новые возможности, такие как веб-хранилище и база данных IndexedDB.
24. Наилучшие методики. Эта глава посвящена использованию JavaScript в корпоративной среде. В ней описаны приемы обслуживания кода, в том числе методики кодирования, форматирования кода и общие приемы программирования. Также приведены советы по оптимизации и повышению быстродействия кода. Наконец, рассмотрены вопросы развертывания приложений, включая реализацию процесса сборки.
25. Перспективные API. В этой главе представлены API, разрабатываемые для расширения возможностей JavaScript в браузере. Несмотря на то, что эти API пока реализованы не полностью, разработчики браузеров уже начинают их внедрение. Глава содержит сведения о Web Timing, Geolocation и File API.
Об авторе
Николас Закас занимается разработкой веб-приложений более десяти лет. Он принимал участие в создании корпоративных интранет-приложений для ряда крупнейших компаний в мире и разрабатывал такие известные потребительские веб-сайты, как My Yahoo! и домашняя страница Yahoo!.. В качестве архитектора уровня представлений в Yahoo! Николас руководил разработкой клиентских компонентов популярнейших сайтов в мире. Он регулярно выступает на корпоративных собраниях, конференциях и неформальных мероприятиях, посвященных новым технологиям и лучшим методикам разработки клиентских компонентов веб-приложений. Является автором нескольких книг, включая Professional Ajax and High Performance JavaScript, и ведет блог на сайте www.nczonline.net.
О научном редакторе
Джон Пелоквин (John Peloquin) занимается разработкой клиентских компонентов веб-приложений и за десять лет работы с JavaScript поучаствовал в создании решений всех размеров. Он получил диплом бакалавра по математике в Калифорнийском университете (Беркли) и в настоящее время занимает должность ведущего разработчика в молодой компании, где использует новейшие технологии программирования клиентских систем. Джон был научным редактором книги JavaScript 24-Hour Trainer (Wiley, 2010), которую написал Джереми Макпик (Jeremy McPeak). Если Джон не программирует и не ищет ошибки в книгах, его можно застать за занятиями математикой, философией или жонглированием.
Более подробно с книгой можно ознакомиться на сайте издательства
Оглавление
Отрывок
Для Хаброжителей скидка 25% по купону JavaScript
Книга доступна только в бумажном виде. Причина — правообладатель не пожелал передать электронные права.
Автор: ph_piter