处理语言与JavaScript有何区别?

3

我将开发一款全面的教育软件,它可以在浏览器上运行,并具有许多可视化和模拟工作(静电和电磁场的可视化、2D和3D)。

哪种语言(Processing、JavaScript或其他)最适合我的目的?


1
这个问题太宽泛了...你能更具体一些吗? - Richard Ev
10个回答

6

这个问题确实很广泛,但我将从我的经验回答。

Javascript并不是真正用于数学计算的,而这可能是快速计算许多电磁现象所必需的(特别是如果它们没有表示为封闭形式的解)。这确实涉及到您在图表中想要多少细节(更多步骤=更多计算)。您可能需要进行更多的优化来弥补性能差异。

我在Flash中对天线阵列进行了一些可视化(它们有封闭形式的解,只有简单的阵列),效果还不错。Javascript绝对无法达到您可能想做的任何3D模拟。

我想知道Silverlight是否会是一个更好的解决方案,因为您可能会发现.NET中有更多的数学库,而不是Actionscript,这可以节省您写出数学公式的大量工作(但由于性能问题,您最终可能仍然需要这样做)。


我从来没有说过 Js 没有显示功能,但是它存在性能问题。 - CookieOfFortune
处理方面怎么样?Processing和Silverlight,哪个更好? - Kamran Bigdely
好的,在查阅了Processing的参考资料之后,它似乎是在Java小程序中运行的...如今,浏览器中的Java已经不被看好了吗?太慢且容易出错。 - CookieOfFortune
这显示了很大的潜力,但浏览器支持相当差... 哎呀,它正在很好地运行我的一个核心,哈哈。 - CookieOfFortune
我看到了,但我不知道要求另一个插件会得到多少支持。 - CookieOfFortune
显示剩余5条评论

4
正如其他人所建议的那样,JavaScript在可视化方面并不是一种很强的语言。 Processing是一种非常适合您尝试的语言,易于学习且基于Java。数据可视化直接内置于该语言中,以及时间空间(即在时间上“推进1个刻度”,并使可视化对其做出反应)。
此外,如果您有兴趣走这条路,我建议您阅读Visualizing Data,这本书几乎是Processing入门指南。

1
@Kamran - 这非常有趣,感谢分享链接!- 但是,它不是JavaScript在工作,而是JavaScript与O3D API交互。这与JavaScript进行3D渲染不同。请查看此链接以了解架构:http://code.google.com/apis/o3d/docs/techoverview.html#architecture - Gavin Miller

2

目前来看,Flash可能是您正在寻找的更常见的应用程序栈,但Silverlight似乎准备通过其包含的强大功能夺得这一称号。


2

我个人会选择使用Flex或Silverlight

  1. 有大量可重复使用的库
  2. 原生支持多媒体
  3. 原生支持图形和动画

2
我有点晚了,但是你想要的已经在JavaScript中实现了,你会发现这非常有用。我建议在Chrome下运行它,因为JS处理引擎非常快。(你甚至可以尝试更快的Chrome 2)

另请参见:http://www.chromeexperiments.com/


1

我支持LFSR咨询的观点:Processing 在教育方面使用广泛,它是免费的、速度快(Java一般比Flash更快)且易于学习,因此可以更快地获得结果。它支持 3D,您可以使用 Java 库进行模拟和计算等。而且它还有一个伟大的社区! :-)

JavaScript 对于这种用途来说有些轻微。JavaFX 很受欢迎,但它实际上并没有 3D 功能(虽然可以使用 Java3D)。而且它还比较年轻。
Flash 和 Silverlight:没有意见,在这个领域没有太多经验。OpenLazlo 可以作为一个替代选择...


0

你应该尝试一下Python。它是一种非常适合教育和计算目的的语言,拥有相当不错的社区,语法也不是很难。即使它最初是为命令行设计的,但你可以使用一些外部包创建前端GUI。此外,它还提供了像ScipyNumpyMatplotlib这样的包,用于高级绘图和数据可视化。


0

在编程方面,你真的有两种选择:Flash中的ActionScript或Silverlight中的VB.NET/C#/其他语言。

因此,首先你需要决定要针对哪个平台进行开发。


1
Java/JSP和小程序怎么样? - Cerebrus
@Cerebrus:是的,从技术上讲,那也是另一个选项。 - AnthonyWJones
你是指另外两个选择,对吧? 还有不要忘记JavaFX... :-) - PhiLho

0

你可以将问题分为两个部分,用户交互和显示部分以及繁重的计算部分。

如果你可以将繁重的计算移动到服务器上,那么你仍然可以在javascript中显示所有内容。

Javascript的一个困难是它是解释性的,你需要自己编写更多的方程式,因此会有性能损失和开发时间,但它将没有任何插件工作,除非你不想在canvas标记中使用3D。

Flash和Silverlight可能有更好的选择,但这样你就需要学习新的语言并需要插件,具体取决于你想使用哪个版本的Flash。


0

看看processing.js、xcode和iprocessing吧!ProcessingJS非常适合数据可视化,但交互性不足。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接