Это не совсем технический ответ, но я думаю, что это правильный ответ.
Суть в том, что нам не нужны оба. Да, я знаю, что есть различия между векторной и растровой графикой и разные способы управления путями, объектами, анимацией и т. Д. Между ними, но для конечного пользователя все одинаково. Да, SVG сейчас немного мощнее из-за его более длительного существования, но немного больше работы позволяет делать то же самое с Canvas.
Я полагаю, что реальность такова, что Canvas является частью подавляющей реакции на сам XML в веб-разработке. Я полагаю, что большинство веб-разработчиков, особенно те, которые работают с ограниченным временем и ресурсами вне «корпоративных» сред, не любят сложность XML. Canvas является частью набора предпочтительных технологий «просто делай одно», так же как HTML5 предпочтительнее XHTML, JSON предпочтительнее XML и даже YAML предпочтительнее XML.
Я думаю, что идея похожа на философию * nix, согласно которой многие конкретные инструменты выполняют одну вещь правильно и эффективно, а не один мегаинструмент, выполняющий много вещей. (Это также похоже на философию, которой придерживаются многие велосипедисты с фиксированной передачей, которые избегают невероятно точных и продвинутых технологий переключателя ради простоты одного механизма прямого привода.)
Не поймите меня неправильно, я считаю, что XML - это невероятно мощная и блестящая технология, придуманная и разработанная блестящими людьми для того, чтобы стать главным швейцарским ножом в сети, программировании, настройке, хранении данных и т. Д .; но это не значит, что проще управлять и стилизовать серию сложных контуров, чем просто рисовать пиксели на.
Я знаю, что мой ответ самоуверенный, и я не собираюсь это считать пламенем. Мне нравится SVG, и я бы хотел, чтобы за эти годы он получил больше поддержки (особенно от IE), но я чувствую, что волна поворачивает к Canvas просто из-за психологии разработчиков стандартов и веб-разработчиков, которые на них влияют.
В долгосрочной перспективе я хотел бы, чтобы SVG сделал XML необязательным и перешел к более JSON-подобной структуре, которой проще манипулировать с помощью JavaScript, возможно, даже ставшей контекстом Canvas на векторной основе. На мой взгляд, это было бы лучшим решением для Интернета.