我打算開發一個在瀏覽器上運行的綜合教育軟件,它有許多可視化和模擬工作(靜電和電磁可視化,2D和3D)。處理語言vs javascript?
哪種語言(Processing,javascript或其他)最適合我的目的?
我打算開發一個在瀏覽器上運行的綜合教育軟件,它有許多可視化和模擬工作(靜電和電磁可視化,2D和3D)。處理語言vs javascript?
哪種語言(Processing,javascript或其他)最適合我的目的?
在Flash或Silverlight中,您確實有兩種選擇ActionScript或VB.NET/C#/other的ActionScript。
因此,首先您需要確定您將要定位的平臺中的哪一個。
Java/JSP和applets怎麼樣? – Cerebrus 2009-04-24 16:24:14
@Cerebrus:從技術上講,這是另一種選擇。 – AnthonyWJones 2009-04-24 16:31:47
這個問題確實很廣泛,但我會從我的經驗中回答。使用Javascript並不是真正意義上的數學計算,這可能需要很快計算大量的E現象(特別是如果它們沒有被表示爲封閉式解決方案)。它真的會在圖表中顯示出多少細節(更多步驟=更多計算)。您可能會發現自己需要進行更多優化才能彌補性能差異。
我做了一些可視化的天線陣列(他們有封閉的形式的解決方案,只有簡單的數組)在Flash中,它運作良好。 JavaScript絕對不會與你想要做的任何3D模擬相提並論。
我不知道Silverlight是否可能是一個更好的解決方案,因爲您可能會發現更多的.NET數學庫比ActionScript,這可以爲您節省大量的自己寫數學的工作(但您可能最終會這樣做無論如何因爲性能問題)。
目前,Flash可能是更常見的應用程序堆棧,但您正在尋找的東西,但Silverlight正在根據其中包含的強大功能,從它們中獲取標題。
您可能能夠將問題分爲兩部分,用戶交互和顯示部分以及繁重的計算部分。
如果您可以將繁重的計算移動到服務器,那麼您仍然可以在JavaScript中顯示所有內容。
JavaScript的一個難點是它的解釋,你將需要自己寫更多的方程,所以有一個性能打擊和開發時間,但它將工作沒有任何插件,除非你不想在畫布標籤中做3D。
Flash和Silverlight可能有更好的選擇,但是您正在學習新的語言並需要插件,具體取決於您要使用的Flash版本。
正如其他人所建議的那樣,javascript在可視化方面並不強大。
Processing對於您要做的事情來說,它是一種非常好的語言,它很容易學習並且基於Java。數據可視化直接建立在語言以及時間空間中(即在時間上提前「1 tick」,並且可視化對此作出反應)。
另外,如果你有興趣去那條路線,我會建議拿起Visualizing Data這幾乎是一個處理引物。
我會去的Flex或Silverlight自己
原生支持我第二LFSR諮詢的意見,原生支持:處理用於教育目的很多,它是免費的,並且速度快(Java比Flash快一般)並且易於學習,所以您的結果更快。它支持3D,您可以處理Java庫以進行模擬和計算等,並且它擁有一個偉大的社區! :-)
對於這種用法,JavaScript有點輕鬆。 JavaFX是炒作,但它並沒有真正的3D(雖然有人用Java3D),它仍然有點年輕。
Flash和Silverlight:沒有評論,在該領域沒有太多的經驗。 OpenLazlo可以替代...
我有點遲到了,但是你想要什麼,已經在JavaScript中實現了,你會發現這非常有用。我建議在Chrome下運行它,因爲JS處理引擎速度非常快。 (您可能甚至想嘗試的Chrome 2這甚至更快)
查看processing.js,xcode和iprocessing! ProcessingJS非常適合數據可視化,但缺乏交互性。
你應該試試python。這對於教育和計算的目的來說是一個非常好的語言,它有一個相當不錯的社區,語法並不那麼艱難。即使它被設計爲命令行,你可以創建一個使用一些外部包前端貴的,此事還提供包,比如SciPy的,numpy的和Matplotlib先進的繪圖和數據可視化。
這個問題真的太廣泛了......你能更具體嗎? – 2009-04-24 16:12:44
我指定了我的問題! – 2009-04-24 16:20:45