Для запуска javascript можно использовать внешнюю библиотеку, такую как RHINO или NASHORN. И javascript может оценивать простую формулу без парсинга строки. Не влияет на производительность, если код написан хорошо. Ниже приведен пример с RHINO -
public class RhinoApp {
private String simpleAdd = "(12+13+2-2)*2+(12+13+2-2)*2";
public void runJavaScript() {
Context jsCx = Context.enter();
Context.getCurrentContext().setOptimizationLevel(-1);
ScriptableObject scope = jsCx.initStandardObjects();
Object result = jsCx.evaluateString(scope, simpleAdd , "formula", 0, null);
Context.exit();
System.out.println(result);
}
Порт John Resig библиотеки Processing к JavaScript:
Я очень возбужден [приблизительно 110] RaphaГ «l. Я использовал его в одном проекте, и это работает как очарование.
Flot является чистой библиотекой графического изображения JavaScript для jQuery.
Вот несколько механизмов физики, записанных в JavaScript, которые имеют некоторые графические возможности.
http://blog.quantumstate.co.uk/javascript-physics-engine.html
Элемент HTML холста может быть лучшей поддержкой и используется как таковой во многих библиотеках (я знаю flot, и processingjs, упомянутые одноуровневыми элементами, используют его)
, элемент холста является более низким уровнем абстракции API, который можно получить, который может быть концептуально подобен Каир или GDI
Смотрите на dojox.gfx: тесты документов , , демонстрации (длятся две ссылки на ночной снимок на тестовом сервере, оптимизированном для отладки, не для производства).
Это использует собственную графику: SVG, VML, Silverlight или Холст — независимо от того, что доступно на клиенте, покрывающем все главные браузеры (IE, Firefox, Safari/Webkit, Opera).
, В то время как это 2D, это может использоваться в качестве основы для 3D материала. На самом деле существует библиотека, которая использует в своих интересах его: dojox.gfx3d. Примеры (может быть найден в тесты):
И для действительно предприимчивых типов существует библиотека, сделанная для Dojo как часть Google Summer of Code 2008: Верный 3D. Очевидно, это намного быстрее, чем 2D/3D гибрид и подходит для жидкой анимации. Можно исследовать его самостоятельно (предыдущая ссылка является общедоступным репозиторием Подверсии), но быть предупрежденным: это работает только над Firefox и Opera со специальными 3D графическими дополнениями от соответствующих поставщиков. Вы найдете все окровавленные детали в документации.
Развлекайтесь!