2009-04-24 67 views
3

我打算開發一個在瀏覽器上運行的綜合教育軟件,它有許多可視化和模擬工作(靜電和電磁可視化,2D和3D)。處理語言vs javascript?

哪種語言(Processing,javascript或其他)最適合我的目的?

+1

這個問題真的太廣泛了......你能更具體嗎? – 2009-04-24 16:12:44

+0

我指定了我的問題! – 2009-04-24 16:20:45

回答

0

在Flash或Silverlight中,您確實有兩種選擇ActionScript或VB.NET/C#/other的ActionScript。

因此,首先您需要確定您將要定位的平臺中的哪一個。

+1

Java/JSP和applets怎麼樣? – Cerebrus 2009-04-24 16:24:14

+0

@Cerebrus:從技術上講,這是另一種選擇。 – AnthonyWJones 2009-04-24 16:31:47

6

這個問題確實很廣泛,但我會從我的經驗中回答。使用Javascript並不是真正意義上的數學計算,這可能需要很快計算大量的E現象(特別是如果它們沒有被表示爲封閉式解決方案)。它真的會在圖表中顯示出多少細節(更多步驟=更多計算)。您可能會發現自己需要進行更多優化才能彌補性能差異。

我做了一些可視化的天線陣列(他們有封閉的形式的解決方案,只有簡單的數組)在Flash中,它運作良好。 JavaScript絕對不會與你想要做的任何3D模擬相提並論。

我不知道Silverlight是否可能是一個更好的解決方案,因爲您可能會發現更多的.NET數學庫比ActionScript,這可以爲您節省大量的自己寫數學的工作(但您可能最終會這樣做無論如何因爲性能問題)。

2

目前,Flash可能是更常見的應用程序堆棧,但您正在尋找的東西,但Silverlight正在根據其中包含的強大功能,從它們中獲取標題。

0

您可能能夠將問題分爲兩部分,用戶交互和顯示部分以及繁重的計算部分。

如果您可以將繁重的計算移動到服務器,那麼您仍然可以在JavaScript中顯示所有內容。

JavaScript的一個難點是它的解釋,你將需要自己寫更多的方程,所以有一個性能打擊和開發時間,但它將工作沒有任何插件,除非你不想在畫布標籤中做3D。

Flash和Silverlight可能有更好的選擇,但是您正在學習新的語言並需要插件,具體取決於您要使用的Flash版本。

4

正如其他人所建議的那樣,javascript在可視化方面並不強大。

Processing對於您要做的事情來說,它是一種非常好的語言,它很容易學習並且基於Java。數據可視化直接建立在語言以及時間空間中(即在時間上提前「1 tick」,並且可視化對此作出反應)。

另外,如果你有興趣去那條路線,我會建議拿起Visualizing Data這幾乎是一個處理引物。

2

我會去的Flex或Silverlight自己

  1. 大量可重複使用的庫
  2. 多媒體
  3. 圖形和動畫
1

原生支持我第二LFSR諮詢的意見,原生支持:處理用於教育目的很多,它是免費的,並且速度快(Java比Flash快一般)並且易於學習,所以您的結果更快。它支持3D,您可以處理Java庫以進行模擬和計算等,並且它擁有一個偉大的社區! :-)

對於這種用法,JavaScript有點輕鬆。 JavaFX是炒作,但它並沒有真正的3D(雖然有人用Java3D),它仍然有點年輕。
Flash和Silverlight:沒有評論,在該領域沒有太多的經驗。 OpenLazlo可以替代...

2

我有點遲到了,但是你想要什麼,已經在JavaScript中實現了,你會發現這非常有用。我建議在Chrome下運行它,因爲JS處理引擎速度非常快。 (您可能甚至想嘗試的Chrome 2這甚至更快)

參見:http://www.chromeexperiments.com/

0

查看processing.js,xcode和iprocessing! ProcessingJS非常適合數據可視化,但缺乏交互性。

0

你應該試試python。這對於教育和計算的目的來說是一個非常好的語言,它有一個相當不錯的社區,語法並不那麼艱難。即使它被設計爲命令行,你可以創建一個使用一些外部包前端貴的,此事還提供包,比如SciPy的numpy的Matplotlib先進的繪圖和數據可視化。