1

我在不同的地方搜索过这个,但我没有找到详尽的答案。假设我们有用不同语言编写的单独模块,每个模块都实现了逻辑的某些部分。我们无权将它们重新编译为某种语言(例如使用 JPython)。

我是这部分编程的真正新手,所以很难找到描述这个问题的词。似乎我试图找到像 Maven 这样的东西,但是对于多种语言和附加模块可能是预编译的。

这在理论上可行吗?

4

3 回答 3

1

我不确定我是否正确理解了问题,但我假设您想在多种语言上构建 Web 应用程序。我的第一个猜测是面向服务的编程。您在多种语言上构建服务,它们可以通过 JSON 或 XML 进行通信

于 2012-05-14T10:41:46.653 回答
1

这当然是可能的。例如,我使用以下组合开发了 Web 应用程序:

  • Java(用于后端接口、API 和性能敏感代码)
  • Clojure(用于服务器端的主要 Web 应用程序)
  • JavaScript(用于浏览器中的客户端代码)

总体而言,这非常有效,因为您可以使用每种语言来发挥其特定优势。尽管应该警告您,它确实需要您精通所有语言才能有效,并且确实需要对环境进行更多配置才能使一切顺利进行

我发现有用的技巧:

  • 非常清楚您使用每种语言的原因。例如,JavaScript 可能仅限于浏览器中的客户端代码。
  • 如果语言在同一平台上运行,这将大有帮助。例如,Clojure 和 Java 都在 JVM 中运行,这使得互操作性变得更加容易,因为您不需要任何额外的代码来连接两者。
  • 使用支持您打算使用的所有语言的IDE (在我的情况下为 Eclipse)
  • 使用具有多语言支持的良好构建系统。您希望能够进行包含所有语言的“一键构建”。恕我直言 Maven 是最好的工具(特别是如果您使用 Eclipse 插件之类的东西与 IDE 集成)
于 2012-05-14T10:42:59.603 回答
1

我认为 rocco337 的面向服务编程确实是一个好主意。但是这种特殊方法有一个轻微的缺点。由于所有这些 HTTP 请求,您的服务之间的流量。我听说亚马逊为此受苦,但我想他们做到了,因为他们是巨人。

这个也有它自己的缺点。只是认为这个是肮脏和快速的选择。

我最近构建的 Web 应用程序基于 python、php 和一堆 C 模块。

我混合它们的方式是使用简单的命令行和 shell 脚本。python 作为一种胶水语言真的很棒。

所以基本上你要做的是。

A. 异步方法。(当你的模块需要几秒钟才能完成它的工作时)

  1. 打开一个线程
  2. 运行命令行应用程序(用 java、C# 编写)
  3. 在等待结果时显示您想要查看的内容。
  4. 当您从命令行获取结果时,让用户重新加载或使用 ajax 以结果刷新您的视图。

B. 同步方法。(工作相当简单)

  1. 运行命令行应用程序
  2. 等到你得到结果。
  3. 显示来自 2 的结果的用户结果视图

祝你的项目好运!

于 2012-05-14T11:32:06.357 回答