Выбрать главу

кое-что я могу посоветовать.

Больше о 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 также позволяет программировать звук в веб-браузере с помо-