Разумно ли использовать Processing.js Джона Ресига?

Я думаю о создании веб-сайта с довольно интенсивным использованием JavaScript / холста, я смотрел на Processing.js, и мне кажется, что это значительно упростит манипулирование холстом. Кто-нибудь знает причины, по которым я не должен использую Processing.js? Я понимаю, что старые браузеры не смогут его использовать, но пока все в порядке.

Вы смотрели на чистые библиотеки холста Javascript, такие как Fabric.js?

kangax 18.07.2012 13:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
9
1
3 181
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Если вы согласны с тем, что он не работает в IE7, сделайте это. У меня он работал в Firefox 3. Это отличный способ добавить эффекты Silverlight / Flash на вашу страницу.

Я подозреваю, что библиотеки, такие как Processing.js, будут быстро меняться или обновляться, поэтому будьте готовы к запуску, когда они это сделают, и не отставайте от новых функций.

Я бы сказал, что вместо этого используйте Flash. Flash установлен в большем количестве браузеров, чем в том количестве браузеров, которые работают с processing.js. Кроме того, вы получите намного лучшую производительность от Flash по сравнению с использованием JavaScript (по крайней мере, на данный момент, хотя есть проекты, которые значительно ускоряют JS, но до этого еще немного).

В идеале Flash, Silverlight и другие должны быть уничтожены (по крайней мере, де-факто) стандартизированным содержимым и функциональностью в DOM.

David-SkyMesh 19.07.2009 17:06

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

В любом случае, я рекомендую вам узнать, как напрямую использовать Canvas API. Понимание api холста, особенно преобразований, очень поможет вам, даже если вы используете Processing.js.

Ответ принят как подходящий

Как уже упоминалось, IE не поддерживается Processing.js (включая бета-версию IE8). Я также обнаружил, что processing.js немного медленнее с точки зрения производительности по сравнению с простым использованием холста (особенно если вы анализируете строку с помощью языка обработки вместо использования javascript API).

Лично я предпочитаю Canvas API оболочке обработки, потому что это дает мне больше контроля. Например:

Функция обработки line () реализована примерно так:

function line (x1, y1, x2, y2) {
  context.beginPath();
  context.moveTo(x1, y1);
  context.lineTo(x2, y2);
  context.closePath();
  context.stroke();
};

И вы бы использовали это так (при условии, что вы используете API с поддержкой javascript):

var p = Processing("canvas")
p.stroke(255)

////Draw lines...///
p.line(0,0,10,10)
p.line(10,10,20,10)
//...and so on
p.line(100,100,200,200)
////End lines////

Обратите внимание, что каждый вызов line () должен открывать и закрывать новый путь, тогда как с помощью API Canvas вы можете рисовать все строки в одном блоке beginPath / endPath, значительно улучшая производительность:

context.strokeStyle = "#fff";
context.beginPath();

////Draw lines...///
context.moveTo(0, 0);
context.lineTo(10, 10);
context.lineTo(20, 10);
//...so on
context.lineTo(200, 200);
////End lines...///

context.closePath();
context.stroke();

Когда я попробовал это, многие примеры также не работали в Chrome, Safari. Это должно быть исправлено ..

Nils 11.12.2008 14:31

Довольно надуманный пример, не правда ли? В обработке вы бы сделали то же самое с beginShape (), vertex () и endShape ().

endolith 16.10.2009 18:15

Попробуйте новую реализацию javascript p5js p5js.org

О, и в ответ на ответ Лео вам на самом деле не нужно использовать функцию линия в обработке или p5js, есть отдельные функции beingShape и beingPath, похожие на api холста.

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