GWTCanvas или gwt-graphics для интерактивного рисования?

Я хочу разработать приложение, в котором пользователь должен иметь возможность рисовать объекты (круги / эллипсы), соединять их с помощью линий / стрелок и перетаскивать их, добавлять к ним текст и т. Д. Конечно, я также должен написать eventHandling.

Что для этого наиболее подходит? Вы бы предпочли пойти на gwt-graphics или GWTCanvas?

2 ответа

Решение

Исходя из того, что я знаю, GWT-Graphics основана на SVG. в то время как GWTCanvas(который на самом деле является частью основной линии GWT) основан на элементе canvas.

Теперь быстрое сравнение. В целом, перетаскивание SVG было намного проще и быстрее (когда o тестировал перетаскивание, когда у меня было большое количество элементов, моя программа, основанная на canvas, была намного медленнее, чем аналогичные, основанные на SVG.

Другое преимущество библиотеки на основе SVG заключается в том, что canvas не поддерживается всеми браузерами (на самом деле более старые версии ie imight имеют некоторые проблемы).

с другой стороны, холст намного быстрее, в то время как вам нужно рисовать огромное количество объектов, холст, безусловно, ваш выбор.

Я бы лично пошел с gwt-графикой. Это тот, который я знаю лучше, он дает столько контроля над графикой, сколько мне было нужно (и я думаю, что вы тоже), и большинство событий уже реализовано, поэтому логика, которую вам нужно будет написать, будет минимальной.

С другой стороны, IExplorer плохо поддерживает SVG, и если векторов станет много, у вас будут проблемы с совместимостью.

Canvas, если HTML 5 и даст вам контроль уровня пикселей - что, я полагаю, не так в вашем проекте - но также приведет к - без обходных путей - подход, который является профессионалом.

В заключение, я думаю, что это зависит от уровня контроля, который вы хотите получить от пользователя при использовании холста, и уровня работы, которую вы хотите выполнить с вашей стороны.

Другие вопросы по тегам