Доброго времени!
У нас вышла книга Закаса «JavaScript для профессиональных веб-разработчиков»

image

Эта книга ориентирована на три группы читателей:
— профессиональные разработчики, имеющие опыт объектно-ориентированного программирования и желающие изучить 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
Книга доступна только в бумажном виде. Причина — правообладатель не пожелал передать электронные права.

Комментарии (11)


  1. DjoNIK
    14.04.2015 14:42

    Никто не поделится отзывом? А то ни на ozon.ru, ни на каких-либо других авторитетных ресурсах не могу найти.
    Вроде говорят, что пойдет и для новичка. Был бы рад узнать, так ли это.


    1. rznELVIS
      14.04.2015 14:47
      +2

      для новичка вот это к примеру есть — это. а после азов, как посложнее вот это хорошая

      Стоян Стефанов
      JavaScript. Шаблоны
      и много всего еще от O'Reily. Ценлый холивар был вот тут — тут )))


      1. DjoNIK
        14.04.2015 15:23

        Спасибо, конечно, но по первой ссылке коммент:

        При всем уважении к циклу «Head First» — эта книга кажется самой неудачной, не рекомендовал бы ее к прочтению для начинающих в программировании (в книге часто используются понятия, которым не даются определения), а тем кто уже имеет опыт с JS там тоже ловить особо нечего.

        Так что «хорошая попытка, но нет» ))

        А по второй ссылке — обсуждение 2008-го года. Как бы 7 лет.


  1. rznELVIS
    14.04.2015 14:42
    +2

    Честно иногда пугает когда книги одновременно и для новичков и для профи. Но хочу посмотреть. Список глав классный. Надеюсь контора закупит в нашу офисную библиотеку. Заявочку отправил…


    1. prishelec
      15.04.2015 11:25

      Вот к примеру имеется две книга
      1. Для начинающих
      2. Для профи
      То иногда книга для профи = Для начинающих + дополнительный материал (у кого уже есть опыт).
      Но есть и наоборот: книга для профи может не содержать или содержать очень мало материала для начинающих.
      Я сам сталкивался с обоими вариантами.


  1. ElianL
    14.04.2015 19:22
    +8

    По-моему странно выпускать в 2015 году книгу по JS не рассматривая ES6


    1. SamKrew
      15.04.2015 05:04
      +1

      Там цельных 19 страниц в приложении А.


    1. GraDea
      15.04.2015 09:05

      1. SamKrew
        15.04.2015 10:51

        Некропостинг, не иначе.


  1. stardust_kid
    15.04.2015 11:31
    +1

    На хабре есть отличный перевод «Выразительного яваскрипта». Хорошая книга для новичка.
    habrahabr.ru/post/240219


  1. ilinsky
    15.04.2015 18:20

    А книжечка-то под-устарела: акценты, рецепты, проблемы и т.д. во многом переформатированы к сегодняшнему дню. (Disclaimer: делал оригиналу книжечки техническое ревью в том самом 2011-м году по ходу ее написания, и тогда содержание казалось вполне адекватым)