кое-что я могу посоветовать.
Больше о JavaScript
В этой книге мы рассмотрели немало возможностей JavaScript, но вам
еще многое стоит узнать об этом языке. Вот некоторые книги и сайты,
которые помогут вам познакомиться с различными аспектами JavaScript:
• Книга: «JavaScript: сильные стороны », Дуглас Крокфорд (изда-
тельство «Питер»).
• Книга: Eloquent JavaScript, 2nd Edition , Marij n Haverbeke (No
Starch Press, 2014).
• Книга: «JavaScript. Подробное руководство », Дэвид Флэнаган
(издательство «Символ-Плюс», 2013).
• Ресурсы по JavaScript на Mozilla Developer Network:
https://developer.mozilla.org/ru/docs/Web/JavaScript (на русском).
• Курсы JavaScript от Codecademy: http://www.codecademy.com/
en/tracks/javascript/ (на английском).
276
Веб-программирование
Чтобы создавать сайты, вам помимо JavaScript понадобятся знания
HTML и CSS.
HTML
HTML — это язык разметки, предназначенный для создания веб-страниц.
Мы изучили основы HTML в пятой главе, однако это лишь капля в море.
Вот некоторые источники, из которых вы можете узнать об HTML больше:
• Введение в HTML от Mozilla Developer Network: https://developer.
mozilla.org/ru/docs/Web/Guide/HTML/Introduction (на русском).
• Курс HTML и CSS от Codecademy: http://www.codecademy.com/
tracks/web/ (на английском).
• Mozilla Webmaker: https://webmaker.org/.
CSS
CSS, или «каскадные таблицы стилей», — это язык для управления внеш-
ним видом веб-страниц. Узнать о CSS больше можно здесь:
• Введение в CSS от Mozilla Developer Network: https://developer.
mozilla.org/ru/docs/Web/Guide/CSS/Getting_started (на русском).
• Курс HTML и CSS от Codecademy: http://www.codecademy.com/
tracks/web/ (на английском).
Серверное программирование на Node.js
Веб-страницы располагаются на веб-серверах. Сервер хранит весь HTML,
CSS и JavaScript-код страницы, предоставляя к ней доступ из интернета.
Также вы можете писать программы для серверов (так называемый сервер-
ный код), позволяющие серверу генерировать различный HTML-код при
каждой загрузке страницы. Например, когда вы заходите в Twitter, серверная
программа ищет самые свежие посты для вашей ленты, генерирует HTML-
файл с этими постами и передает его вашему браузеру.
Node.js позволяет писать серверные программы на JavaScript. Озна-
комьтесь с информацией о Node.js по этим ссылкам:
• Больше о Node можно узнать здесь: http://nodejs.org/ (на анг-
лийском).
• Руководство Node Beginner Book: http://www.nodebeginner.ru
(на русском).
277
Графическое программирование
Если вы хотите создавать интерактивную графику на JavaScript, у вас
есть два основных пути: это элемент canvas и SVG.
canvas
Мы изучили основы работы с элементом canvas в книге, однако его воз-
можности гораздо шире. Вот некоторые обучающие статьи и игры, кото-
рые помогут вам ближе познакомиться с «холстом»:
• Обучающая статья по canvas на Mozilla Developer Network:
https://developer.mozilla.org/ru/docs/Web/API/Canvas_API/
Tutorial (на русском).
• Игра Code Monster от Crunchzilla: http://www.crunchzilla.com/
code-monster/ (на английском).
SVG с помощью Raphael
SVG — это графический формат, позволяющий рисовать разные фигуры
и анимировать их без необходимости перерисовывать каждый шаг ани-
мации с нуля.
Программирование SVG — дело не из простых, но вам будет куда
легче, если вы воспользуетесь JavaScript-библиотекой Raphaeclass="underline"
• Введение в библиотеку Raphaeclass="underline" http://code.tutsplus.com/
tutorials/an-introduction-to-the-raphael-jslibrary--net-7186/
(на английском).
3D-программирование
Помните, как в главе 13 мы запрашивали у «холста» canvas двухмер-
ный контекст рисования вызовом canvas.getContext("2d")? Кроме
этого, на «холсте» можно создавать и трехмерные изображения. Это
еще одна из тех областей, где проще всего воспользоваться библиоте-
кой, и я рекомендую вам библиотеку three.js. Вот некоторые ресурсы
для ее изучения:
• Руководство по three.js: http://threejs.org/docs/index.html#Manual
(на английском).
• three.js для начинающих: http://blog.teamtreehouse.com/the-
beginners-guide-to-three-js/ (на английском).
278 Послесловие: куда двигаться дальше
Программирование роботов
При помощи JavaScript можно даже управлять роботами! Например,
Parrot AR.Drone. Это маленький вертолет, которым можно управлять
с помощью Node.js. Также вы можете обратить внимание на Johnny-Five,
JavaScript-библиотеку для управления устройствами наподобие Arduino
(это популярный микроконтроллер, который используется во многих
любительских устройствах и роботах). Вот некоторые ресурсы о том, как
управлять роботами и другими устройствами из JavaScript-кода:
• node-ar-drone: https://github.com/felixge/node-ar-drone/ (на анг-
лийском).
• NodeBots: http://nodebots.io/ (на английском).
• Johnny-Five: https://github.com/rwaldron/johnny-fi ve/ (на анг-
лийском).
Программирование звука
JavaScript также позволяет программировать звук в веб-браузере с помо-