2009-04-24 2 views
3

Я собираюсь разработать комплексное образовательное программное обеспечение, которое работает в браузере и имеет множество работ по визуализации и симуляции (электростатическая и электромагнитная визуализация, 2D и 3D).Язык программирования vs javascript?

Какой язык (Processing, javascript или что-то еще) является лучшим для моей цели?

+1

Этот вопрос действительно слишком широк ... Вы можете быть более конкретным? –

+0

Я задал свой вопрос! –

ответ

0

У вас действительно есть два варианта ActionScript в Flash или VB.NET/C#/другой в Silverlight.

Итак, сначала вам нужно решить, на какой из этих платформ вы будете нацелены.

+1

Что относительно Java/JSP и апплетов? – Cerebrus

+0

@Cerebrus: Да, технически это еще один вариант. – AnthonyWJones

+0

Вы имеете в виду два _other_ выбора, я полагаю? И не забывайте JavaFX ... :-) – PhiLho

6

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

Javascript на самом деле не предназначен для математических вычислений, что может потребоваться для вычисления большого количества E & M явление быстро (особенно, если они не представлены как закрытое решение формы). Это действительно зависит от того, сколько деталей вы хотите на своих графиках (больше шагов = больше вычислений). Возможно, вам понадобится сделать больше оптимизаций, чтобы компенсировать разницу в производительности.

Я сделал некоторые визуализации антенных решеток (они были закрытыми формами решений, только простые массивы) во Flash, и все получилось нормально. Javascript определенно не будет соответствовать любым 3D-симуляторам, которые вы, возможно, захотите сделать.

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

+0

С помощью JavaScript Canvas вы можете сделать 2D-графику. 3D можно сделать с помощью плагина Google O3D –

+0

+1. Хорошая уловка по математическим требованиям. Silverlight, безусловно, лучше подходит, поскольку он в лучшем положении, чтобы использовать многоядерную обработку (особенно если библиотеки Calc, построенные с помощью F #), в которой нет вспышки. – AnthonyWJones

+0

Я никогда не говорил, что у Js нет возможностей отображения, но есть проблемы с производительностью. – CookieOfFortune

2

Вспышка может быть наиболее распространенной стеком приложений прямо сейчас для того, что вы ищете, но Silverlight ищет загрунтованный, чтобы взять титул от них на основе мощных функций, которые он содержит.

0

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

Если вы можете переместить тяжелые вычисления на сервер, вы можете показать все в javascript.

Одна из трудностей с javascript заключается в том, что она интерпретируется, и вам нужно будет написать больше уравнений самостоятельно, поэтому есть время достижения производительности и времени разработки, но оно будет работать без каких-либо плагинов, если вы не захотите сделать 3D в теге canvas.

Flash и Silverlight могут иметь лучшие варианты, но затем вы изучаете новые языки и плагины, в зависимости от того, какую версию Flash вы хотите использовать.

4

Как утверждают другие, javascript не настолько силен, когда речь заходит о визуализации.

Processing - действительно хороший язык для того, что вы пытаетесь сделать, его легко освоить и основано на Java. Визуализация данных строится непосредственно на языке, а также в временном пространстве (то есть заранее «1 тик» во времени и реагирует на визуализацию.)

Также, если вы заинтересованы в том, чтобы идти по этому маршруту, я бы предложил набрав Visualizing Data, который в значительной степени является обработчиком.

+0

см. Http://www.youtube.com/watch?v=uofWfXOzX-g&feature=player_embedded, это о JavaScript .. . измените свое мнение –

+1

@Kamran - Это очень интересно, спасибо, что поделились ссылкой! - однако это не работает javascript, это javascript, взаимодействующий с O3D API. Это не то же самое, что javascript делает 3D-рендеринг. Проверьте эту ссылку на архитектуре: http://code.google.com/apis/o3d/docs/techoverview.html#architecture –

2

Я бы изгибаться или Silverlight себя

  1. Много многоразовых библиотек
  2. Встроенная поддержка мультимедиа
  3. Встроенная поддержка графики и анимации
1

Я второй мнение ЛРСОС Consulting, : Обработка много используется для образовательных целей, она бесплатна и быстро (Java быстрее, чем Flash в целом) и легко учится, поэтому у вас есть более быстрые результаты. Он поддерживает 3D, вы можете заниматься Java-библиотеками для моделирования и вычислений и т. Д. И у него отличное сообщество! :-)

JavaScript немного освещен для такого использования. JavaFX - это реклама, но на самом деле это не 3D (хотя с ним и использовался Java3D), и он все еще немного молод.
Flash и Silverlight: нет комментариев, не так много опыта в этой области. OpenLazlo может быть альтернативой ...

2

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

Смотрите также: http://www.chromeexperiments.com/

0

Проверьте обработку. Js, xcode и iprocessing! ProcessingJS отлично подходит для визуализации данных, но не имеет интерактивности.

0

Возможно, вам стоит попробовать python. Это действительно хороший язык для образовательных и вычислительных целей, у него довольно приличное сообщество, и синтаксис не так жестко. Несмотря на то, что он был разработан для командной строки, вы можете создать переднюю панель gui для нее, используя какой-то внешний пакет, а также предоставляет такие пакеты, как Scipy, Numpy и Matplotlib для расширенного построения графика и визуализации данных.

Смежные вопросы