SVG --- сила! |
[Mar. 30th, 2008|12:21 am] |
Точнее, так. Использовать ли продвинутые возможности SVG в серьёзных сервисах — каждый пусть решает сам. С одной стороны SVG это стандарт W3C, он хорошо документирован, отлично подходит для автоматической обработки, легко интегрируется с другими XML-технологиями (XSLT, CSS, об HTML уже не говорю), имеет ясный синтаксис и очень пологую кривую обучения. С другой стороны — разные реализации всё ещё не вполне совместимы, а в IE до сих пор нет поддержки SVG из коробки, нужен плагин. Но что бесспорно — SVG это невероятно кайфовая технология.
Вот этого чувачка, шарящегося по пустыне (осторожно — по ссылке интерактивный скрипт, если он завесит ваш браузер, удалит вашу почту или отформатирует ваш винчерстер, я не виноват!) я сегодня сделал за три часа (включая сюда перерывы на пожрать и почитать френдленту), не имея ни опыта разработки на JavaScript, ни сколько-нибудь глубокого знания собственно SVG. В мануалы практически не глядел, обошёлся примерами: код продуктов на SVG + JavaScript вполне, что называется, self-explanatory. Никаких, тем более платных, навороченных SDK, которые надо изучать неделями: в процессе "разработки" использованы текстовый редактор Emacs, одна штука, и браузер Firefox, одна штука. Но главное — ощущения. Такого соотношения между незначительностью прикладываемых усилий и прикольностью получаемого результата я не помню со времён восьмибитных компьютеров.
Да, разумеется, чтобы увидеть, что же я там наваял, вам понадобятся Firefox или Opera со включённым JavaScript'ом, причём в Опере персонаж не будет анимированным (учитывая качество "анимации", невелика потеря). У меня есть подозрение, в чём там проблема, но сейчас лень разбираться. Пользователи IE, подозреваю, не увидят ничего (не могу проверить за отсутствием под рукой Windoze).
А вот что SVG может вытворять в умелых (а не как у меня, по крайней мере пока, да) руках.
Тетрис: http://croczilla.com/svg/samples/svgtetris/svgtetris.svg Ещё один тетрис, чуть погламурнее: http://www.codedread.com/yastframe.php Пасьянс "Косынка": http://www.codedread.com/solitaire.php Ещё пасьянс: http://www.codedread.com/freecell.php "Жизнь": http://www.kevlindev.com/alife/life/life_2_0_bw.svg Поиск стран на неподписанной карте мира: http://files.myopera.com/orinoco/svg/WorldCountries.svg А здесь вот целый ворох ссылок на SVG-игры: http://torque.oncloud8.com/archives/000473.html
А вот вещи посерьзёнее. Здесь замечательный сайт о применении SVG в ГИСах: http://www.carto.net/papers/svg/samples/ А здесь статья про GUI на SVG, очень обстоятельная: http://www.svgopen.org/2004/papers/SPARK/
Для тех, кто захочет попробовать что-нибудь сделать на SVG сам, добавлю, что на intuit.ru недавно появился курс по SVG.
P.S. Да, если вдруг кому понадобится — вот все используемые скриптом по первой ссылке файлы в одном тарболле [1M], вот они же без мегабайтного файла с фоновой картинкой [28k]. И ещё: найдётся хоть кто-нибудь, кому захочется дополнительных слов про то, как оно работает, я готов расписать процесс "разработки" (если это слово применимо к двухкилобайтной программе) по шагам. P.P.S. На всякий случай. Управляется персонаж клавишами со стрелками. UPD 30.03.08 14:51 Кое-что поправил. |
|
|