我正在观看python的教程,那个人告诉他用python编写了雅虎邮件的地址簿和拼写检查器。
现在我最初想的是,如果我构建网站,那么我必须使用php或java或asp或任何其他语言。
但我很困惑,我们怎么能在diff语言中制作单独的模块并组合成一个网站
任何想法
答案 0 :(得分:2)
Web应用程序的体系结构可能与通过浏览器可见的逻辑体系结构不同。基本上它是通过放置前端Web服务器(想想apache与mod_proxy,但它可以是支持反向代理的任何其他现代Web服务器)和将Web应用程序服务器(java / python /无论)安装到不同的路径(如/ app1 for java)来实现的app,/ app1 / subapp for python app,/ app2 for php app)。当然,这些应用程序默认独立工作,因此如果要在两者之间传递一些数据,则必须建立一些通信(直接套接字到套接字或间接与某些消息传递中间件或数据库)。
一般来说,这是一个非常广泛的主题,所以如果您有兴趣,请尝试使用一些基本关键字:应用服务器,负载平衡,反向代理,网址重写。
答案 1 :(得分:1)
您可以使用任何语言来提供Web服务,因此您可以提供返回JSON或XML的REST / SOAP Web服务。 Web服务可以用任何语言编写,用于与Web服务交互的语言可以是任何语言,因为现在所有语言都有JSON和XML解析器。
您可以设置不同的子域以供不同的服务器使用,并使用您喜欢的任何语言设置这些应用程序。
答案 2 :(得分:0)
我知道在Ruby on Rails中,你可以执行bash命令。
示例:puts ls
答案 3 :(得分:0)
如果您只需要从PHP调用简单脚本,您当然可以使用exec()。我经常使用它来编写ruby中的代码,我更喜欢非Web任务,并从PHP调用ruby脚本(它当然可以反过来完成)。
答案 4 :(得分:0)
如果它们是不同的页面,则可以通过不同的软件轻松创建它们。因此,如果用Java编写的邮件应用程序提供了一个到地址簿的链接,那么地址簿很容易就是Python - 这只是配置服务器的问题。
如果您需要邮件应用程序中的地址簿组件,这有点复杂,但仍然可行。特别是使用Java和.NET,可以在同一平台上运行各种语言(例如,Jython和Ironpython分别在JAVA和.NET VM上运行Python)。
答案 5 :(得分:0)
但我很困惑,我们怎么能在diff语言中制作单独的模块并组合成一个网站
请阅读:http://httpd.apache.org/docs/2.0/sections.html
然后阅读:http://php.net/manual/en/configuration.changes.php
然后阅读:http://code.google.com/p/modwsgi/
然后阅读:http://www.modruby.net/en/
然后阅读:http://tomcat.apache.org/
Apache可以通过插件模块支持大量语言。
使用mod_rewrite以及Apache中可用的基本“部分”定义,您可以将URI分成不同语言的单独模块。