Что было бы быстрее Flash или Javascript? - PullRequest
3 голосов
/ 08 октября 2008

У меня есть идея для сайта, который включает в себя область холста, которая не имеет ограничений по размеру. По сути, вы сможете добавлять элементы на холст (заметки, фотографии, что угодно). Затем вы сможете перетащить холст, который будет перемещать эти элементы вместе с холстом, пока они не исчезнут с экрана. Если вы перетащите холст обратно, он снова появится.

Вопрос: Что лучше всего подходит для этого типа вещей, Flash или Javacsript?

Мое основное беспокойство вызывает скорость, с которой javascript / flash может обрабатывать перемещение нескольких элементов по экрану описанным способом. Какой язык лучше подходит для пользователя на медленной машине.

UPDATE:

Спасибо за ваши мнения, ребята, но чтобы выяснить, в чем преимущества canvas по сравнению с прямыми манипуляциями с JQuery DOM? или наоборот. Я никогда не использовал холст раньше.

Ответы [ 5 ]

4 голосов
/ 08 октября 2008

Я не думаю, что это вопрос, который даст вам объективный ответ - разработчики Flash скажут вам, что Flash лучше, веб-разработчики скажут JavaScript. Стараясь оставаться объективным, я бы сказал, что обе технологии подходят для того, что вы описываете, но имеют разные преимущества.

Flash определенно будет работать быстрее, даже на медленных машинах, и графически намного богаче.

JavaScript более доступен и работает на большем количестве устройств. Однако используйте хороший JS-фреймворк.

2 голосов
/ 08 октября 2008

Сначала я подумал о том, чтобы использовать Javascript - если он достаточно хорош для Google Maps, то, вероятно, достаточно и для вашего приложения.

1 голос
/ 09 октября 2008

Я бы сказал, идти со вспышкой (или DOM, если вам не нужен дополнительный удар). Вот мои рассуждения:

  • Вы можете выполнять классные преобразования с помощью canvas (наклоны, повороты, постепенное появление градиентов на изображениях, эффекты отражения и т. Д.), Которые вы не можете использовать с DOM. Недостатком является то, что делать эти классные вещи тяжело математика.

  • Canvas не работает в IE. Эквивалент IE (VML), по-видимому, имеет дыру в безопасности корневого доступа.

  • DOM существует дольше, чем canvas, и поскольку он более широко используется (и зависит от него), он более оптимизирован и полирован, чем canvas.

  • В сообществе Flash есть много хороших бесплатных компонентов, которые могут уже делать то, что вам нужно.

  • Flash и DOM имеют много хорошей документации и учебных пособий, но не так много.

  • Flash может делать практически все, что могут DOM и canvas, а также аудио, видео и захват данных с веб-камеры.

1 голос
/ 08 октября 2008

Лучшим способом наверняка был бы Javascript. И я бы даже сказал, что вы должны пересмотреть использование холста. Похоже, что это может быть сделано в чистом DHTML. Таким образом, вы не потеряете поддержку IE.

Рассмотрите возможность использования одной из структур JavaScript; Прототип или JQuery приходят на ум. Это значительно облегчит ваше кодирование. Учитывая развитие производительности движка javascript (следующие версии Webkit (Squirrelfish Extreme) и Mozilla (TraceMonkey) будут молниеносно), беспокойство о производительности может быть спорным.

Также, если вы решите, что не сможете сделать это без холста, рассмотрите возможность использования processing.js .

Джона Резига.
1 голос
/ 08 октября 2008

Вам нужно использовать canvas, то, что вы описываете, может быть сделано только с помощью javascript и DOM. Он будет отлично работать, если не будет большого количества элементов, и будет совместим с разными браузерами. Для холста вам потребуется exCanvas для поддержки IE, который иногда может замедлять работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...