构建使用多种编程语言(pythonjavac)开发web应用程序的基础设施

2024-10-04 13:20:28 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我对这方面的编程很在行,所以很难找到描述这个问题的词语。似乎我试图找到类似Maven的东西,但是对于多语言和加法模块,可能是预编译的。在

这在理论上是可能的吗?在


Tags: 模块答案语言权限编程地方逻辑理论
3条回答

我不确定我是否正确地理解了这个问题,但我认为您希望在多种语言上构建web应用程序。我的第一个猜测是面向服务的编程。您可以在多种语言上构建服务,它们可以通过JSon或XML进行通信

这当然是可能的。例如,我开发的web应用程序混合使用:

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

总的来说,这是非常有效的,因为你可以使用每种语言的特定优势。尽管需要提醒您的是,它确实要求您精通所有语言才能发挥作用,而且它确实需要对您的环境进行更多配置才能使一切顺利进行

我发现有用的技巧:

  • 非常清楚为什么要使用每种语言。例如,JavaScript可能仅限于浏览器中的客户端代码。在
  • 如果语言在同一个平台上运行,这会有很大帮助。例如,Clojure和Java都运行在JVM中,这使得互操作性更加容易,因为您不需要任何额外的代码来进行二者之间的接口。在
  • 使用一个支持您打算使用的所有语言的IDE(在我的例子中是Eclipse)
  • 使用具有多语言支持的良好构建系统。您希望能够进行“一键式构建”,包括所有语言。imhomaven是最好的工具(尤其是当您使用Eclipse插件与IDE集成时)

我认为rocco337的面向服务编程真的是个好主意。 但这种方法有一个小小的缺点。 由于所有这些HTTP请求,服务之间的通信量。 我听说亚马逊为此而受苦,但他们成功了,我想是因为他们是巨人。在

这个也有它自己的缺点。 就把这件事当成肮脏又快捷的替代品吧。在

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

我混合它们的方法是使用简单的命令行和shell脚本。 python和glue真的很好用。在

所以基本上你要做的就是。在

A.异步方法。(当您的模块需要超过几秒钟才能完成任务时)

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

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

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

祝你的项目好运!在

相关问题 更多 >