我必须同意 JavaScript 不太适合科学处理的评论。然而,您最了解自己的需求;也许您已经找到了可以满足您需要的有用的库。请注意,您必须实施all自己逻辑。没有内置的复数、矩阵、积分或......通常程序员的时间比机器时间更有价值。就我个人而言,我会研究编译语言;after我创建的第一个版本在我最喜欢的语言中都不够快。
假设 JavaScript 是可行的方法:
Data I/O
我可以想到三个选择:
使用ajax向服务器发送和接收数据
似乎是您在 Server2go 中找到的解决方案。它要求您编写一个服务器后端,但这可以保持非常简单。它真正需要做的就是能够读取和写入文件作为对客户端应用程序的响应。
使用 v8 的非浏览器实现,其中包括文件 I/O
例如Node.js http://nodejs.org/. You could然后就不再需要服务器,只需使用命令行界面,所有代码都将是 JavaScript。除此之外,它大致相当于第一个选项。
使用创建文件对象file API http://www.w3.org/TR/FileAPI/您要求用户保存或加载
我认为这是最糟糕的选择,因为用户交互是required。它将避免对服务器的需要;您的应用程序可以是一个简单的 html 文件,它使用 ajax 请求加载所有数据文件。你必须用一个特殊的开关来启动 Chrome,以允许 ajax 请求file://
协议,如上所述here https://stackoverflow.com/questions/10038256/my-xml-file-is-not-being-by-google-chrome-and-internet-explorer
这些选项是only与文件 I/O 相关,并且您无法在 JavaScript 中执行文件 I/O。这是因为浏览器cannot允许任意 Web 代码执行任意文件 I/O;安全影响将是可怕的。每个选项都描述了一种方法not执行文件 I/O。
第一个与为客户端执行文件 I/O 的服务器进行通信。
第二种使用 JavaScript 的“特殊”版本,其条件与浏览器不同,因此安全影响并不重要。但这意味着您必须在您使用的实际实现中查找文件 I/O 是如何完成的,这对于 JavaScript 来说并不常见。
第三个要求用户控制文件I/O。
界面
即使您不使用 JavaScript 进行实际处理(到目前为止这是共识),也没有什么可以阻止您使用浏览器作为界面或 JavaScript 库来进行可视化。这是 JavaScript 所擅长的。
如果您想交互式地控制您的数据挖掘工具,您will需要一个可以控制该工具的服务器。 Server2go 应该可以工作,或者 Node.js 中的内置服务器(如果您使用它)或者...如果您不需要数据工具的交互式控制;也就是说,您首先生成处理后的数据,然后查看服务器可以避免的数据,通过使用file//:
协议和JSONP https://en.wikipedia.org/wiki/JSONP。但真的;避免服务器不应该成为目标。
我不会详细讨论接口问题,因为没有什么具体可说的,而且非常接近一切关于 javascript 的文章都是关于接口的。
一件事,一定要使用声明性数据绑定库,例如Angular.js http://angularjs.org/ or 淘汰赛.js http://knockoutjs.com/.