Я занимался исследованием библиотек холста HTML и наткнулся на этот вопрос. Каково текущее состояние библиотек и фреймворков JavaScript холста HTML? этот вопрос был задан в 2010 году. Самый популярный ответ - Fabric.js. Проведя немного больше исследований, я наткнулся на http://www.html5canvastutorials.com/, где есть учебники по KineticJs, которые могут похвастаться наличием нескольких холстов для скорости. Немного позже исследование показало, что библиотеки Canvas, кажется, повсюду, когда дело доходит до скорости и функций. Каково текущее состояние библиотек и фреймворков JavaScript Canvas? Кто-то вышел на первое место?
РЕДАКТИРОВАТЬ: Поскольку библиотеки постоянно меняются, и многие люди в последнее время приходят сюда за новостями и информацией о новых библиотеках, я изменил вопрос, чтобы он был более вневременным.
источник
Ответы:
Отказ от ответственности: я являюсь автором Fabric.js .
Я бы сказал, что Easel.js, Fabric.js и Paper.js являются одними из самых популярных на данный момент. Я сужу по количеству наблюдателей Github для каждого репозитория, по объему обсуждения в их группах Google и по тому, как часто я слышу о том, что они используются в качестве библиотек холста в Twitter.
Это также те, которые имеют более или менее приличную документацию, примеры / демонстрации, группы обсуждения и модульные тесты (состояние тестирования в большинстве других библиотек холста довольно печально).
Я также веду эту сравнительную таблицу различных библиотек холста , где вы можете увидеть, как недавно была обновлена библиотека, ее размер, поддержку IE <9 или node.js и многое другое.
источник
РЕДАКТИРОВАТЬ: KineticJS больше не поддерживается.
Отказ от ответственности: я создал KineticJS
KineticJS на самом деле неплохо справляется. Вы можете найти исходный код на Github , где на данный момент его отметили 2180 человек.
Он может обрабатывать тысячи одновременных форм:
Стресс-тест для 10 000 перетаскиваний: http://www.html5canvastutorials.com/labs/html5-canvas-kineticjs-drag-and-drop-stress-test-with-1000-shapes/
10 000 фигур с всплывающими подсказками: http://www.html5canvastutorials.com/labs/html5-canvas-10000-shape-stress-test-with-kineticjs/
У него очень хорошая поддержка событий, включая мобильные события, и довольно солидный набор из сотен модульных тестов, так что кодовая база кажется довольно прочной.
kangax: PS Отличная работа с fabric.js! Помимо KineticJS (конечно), две другие мои любимые библиотеки - ткань и бумага.
источник
Для недавних читателей по состоянию на январь 2013 года я оценил:
Под "оценкой" я не просто читал документы; Я создал прототип приложения.
Я начал с Fabric, потому что у него было самое большое сообщество, и я подумал, что это будет моим решением. Но я отказался от Fabric по следующим причинам:
Я взглянул на Paper и не зашел слишком далеко. Мне это показалось чересчур тупым, и к тому же он попадает в затруднительное положение. ИМО - это слишком большая библиотека визуализации, чтобы быть простой объектной моделью для Canvas, но библиотеки визуализации недостаточно, чтобы конкурировать с D3. К тому же документация снова оказалась не особо доступной.
Я думаю, что Easel, вероятно, имеет большой смысл, если у вас есть фон Flash / ActionScript, но у меня его нет. К тому же он казался слишком ориентированным на игру для моих требований. Гвоздем в гробу снова оказалась документация - мало и представленная в нестандартном формате.
Итак, я остановился на Kinetic, потому что:
Kinetic ни в коем случае не идеален, и было несколько раз, когда мне приходилось глубоко погружаться в исходный код, чтобы понять, что на самом деле происходит под покровом. Кроме того, мне не хватает синтаксического анализа SVG и вывода Fabric.
источник
Я очень рекомендую pixijs. Это высокопроизводительная библиотека холста.
Pixi.js - это 2D-рендерер webGL с бесшовным резервным холстом, который позволяет ему работать во всех современных браузерах, как настольных, так и мобильных.
http://www.goodboydigital.com/pixi-js-is-out/
источник