Вопрос
Я рассматриваю возможность разработки веб-сайта, похожего на stackoverflow, но ответы также могут состоять из рисунков (в данном случае схем).Я хочу, чтобы в форме ответа была область, где они могли бы создать эту схему, не требуя специальных плагинов и т.д.
- Достигли ли мы той точки, когда SVG имеет или должен иметь критическую массу в ближайшее время (1-2 года), так что разработка веб-сайта, на котором SVG с запуском скриптов в качестве основной функции является разумной (т. Е. требуется Firefox или другой браузер, совместимый с SVG / AJAX)?
- Каковы некоторые хорошие ресурсы для изучения кроссплатформенных SVG-сценариев (вероятно, на javascript)?
-Адам Дэвис
Решение
К сожалению, у меня нет ответа, но у меня есть три подсказки к проектам, на которые вы могли бы обратить внимание.
Первый - это Живое Ядро автор: Дэн Ингаллс (да, тот самый Дэн Ингаллс) из Sun Labs.Это реализация виртуального мира Smalltalk на JavaScript поверх SVG.Точнее, это реализация фреймворка Morphic GUI от Squeak Smalltalk на JavaScript с использованием SVG и порта (частей) Squeak Smalltalk на JavaScript.
Или, если вы не любитель поговорить по душам и все вышесказанное для вас не имеет смысла:это операционная система, написанная на JavaScript с интерпретатором JavaScript в качестве процессора, SVG в качестве видеокарты и браузером в качестве компьютера.
Это примерно настолько экстремально, насколько это возможно, когда речь заходит о JavaScript и SVG.И это всего лишь полностью работает в Safari 3 и частично в Firefox 3, хотя существует экспериментальный порт и для Internet Explorer.
Второй проект принадлежит Джону Ресигу Processing.js перенос языка визуализации обработки на JavaScript.Он использует <canvas>
элемент вместо SVG именно из-за проблем, о которых вы упомянули.Однако этот вариант работает только в Firefox 3.
Третий - это 3D в реальном времени на JavaScript бесполезными Солеными огурцами.Он использует Только JavaScript, DOM и CSS и НЕТ SVG или <canvas>
или Вспышка, или что там еще. И он переносим практически в любой браузер, включая Internet Explorer 7 и выше.Выполнение 2D должно быть еще проще, чем это.
Между этими тремя проектами вы должны быть в состоянии найти немного вдохновения, а также найти людей, которые пытались выйти за рамки с помощью JavaScript и SVG или JavaScript и графики и могут рассказать вам, что работает, а что нет.
Заключение:делаем кроссбраузерный SVG или кроссбраузерный <canvas>
это почти невозможно, но с небольшим налетом безумия, кроссбраузерная графика без SVG или <canvas>
это возможно.
Другие советы
Рафаэль выглядит как интересный взгляд на проблему кроссбраузерной векторной графики.
SVGWeb - это скрипт, который добавляет почти собственные возможности SVG в IE с использованием flash.Все остальные основные браузеры поддерживают SVG.
1 / вероятно, никогда - если бы IE хотел добавить это, то я бы это сделал, хотя он бы уже сделал это;но есть обходные пути, использующие Серебристый свет и Геккон чтобы обеспечить рендеринг.С другой стороны, доступны кроссбраузерные графические API.Я делал большие интерфейсы, используя XULRunner и SVG, но в Интернете не было ничего, что могло бы работать с IE.
2 / Двумя, на которые я ссылался чаще всего, были SVG-страницы на mozilla.org и это Ссылка на SVG DOM .Все мои SVG-ссылки находятся здесь, на восхитительный
На сайте есть один существующий редактор http://www.bpel4chor.org/editor/;также, если все, что вам нужно, - это схемы, где все дуги расположены на сетке, вы можете сделать это довольно хорошо, используя divs и изображения без SVG.Или вы могли бы просто пойти лоу-фай маршрут
Как упоминал @jwmittag <canvas>
это вариант.
Это работает в Saffari и Firefox 3, Opera 9 и люди разрабатывают поддержку IE.
Вы могли бы легко фиксировать щелчки мыши, связанные с текущим инструментом и свойствами.Перерисовка холста на каждой отображаемой странице.
Я только что закончил проект, используя <canvas>
и это простой и очень мощный API для работы, особенно если вы когда-либо работали с OpenGL или Cairo.
Удачи, звучит как классный проект.