Java 有人使用Lua构建web应用程序吗?

Java 有人使用Lua构建web应用程序吗?,java,php,lua,Java,Php,Lua,我来自Java和PHP背景,负责构建web应用程序 以前是否有人使用Lua来构建web应用程序 问题:如果是这样,那么在web应用程序中使用Lua与使用PHP或Java相比,有哪些利弊?(例如,web服务器支持、性能、代码维护等)。有很多项目使用Lua进行web开发 例如,使用纯Lua开发的HTTP和wiki引擎 或者人造卫星,它是建立在开普勒之上的 也就是说,Lua在很大程度上是一种“自己动手”的环境 我现在正在使用Lua构建一个web应用程序!“自己动手”的软件开发人员名声不好——太懒,依赖

我来自Java和PHP背景,负责构建web应用程序

以前是否有人使用Lua来构建web应用程序


问题:如果是这样,那么在web应用程序中使用Lua与使用PHP或Java相比,有哪些利弊?(例如,web服务器支持、性能、代码维护等)。

有很多项目使用Lua进行web开发

例如,使用纯Lua开发的HTTP和wiki引擎

或者人造卫星,它是建立在开普勒之上的


也就是说,Lua在很大程度上是一种“自己动手”的环境

我现在正在使用Lua构建一个web应用程序!“自己动手”的软件开发人员名声不好——太懒,依赖于膨胀的兆字节支持库,或者什么?事实上,正如其他人所指出的,有相当好的支持,只是没有Python的规模,比如说。Lua是迄今为止速度最快的脚本语言(尤其是www.luajit.org),作为一种语言设计,它比其他同类语言干净得多。这对于长期维护至关重要


对于那些使用Web服务器(包括me)的用户,额外的好处是Lua的全部功能可用于脚本,对于同步请求处理/重写类固醇非常有用。

正如其他人提到的,Lua是一种“自己动手”的环境。与Perl/PHP/Python/Ruby相比,它速度非常快,内存效率也非常高,尤其是在使用LuaJIT时。而且它很容易与C/C++代码集成。通常,对于性能通常受到数据库限制的典型web应用程序来说,这些点是不相关的。此外,您并不真正关心C/C++集成,也不真正希望自己动手,而是希望在现有框架的基础上进行构建。因此,我认为Lua不适合典型的web应用程序。同时,Lua也有一些利基应用。例如,我们公司专门构建用于adserving的高性能HTTP服务器。因此,我们使用的是我们自己的HTTP服务器,它从头开始在C++中集成,它将Lua作为我们业务逻辑的脚本语言。相比于纯C++,我们可以快速地定制Lua的业务逻辑。同时,我们总是有选择在C++中执行性能关键部分。如果我们使用任何其他脚本语言,我们肯定会慢一些,它会使用更多的内存,通常会更难与C++代码集成。同时,我们并不太关心使用其他脚本语言时大量库支持的丢失,因为我们工作的领域非常专业,所以通常这些库与它无关。

优点:快速、小巧、优雅,易于自己绑定到C库

缺点:有时,您必须为在Python中免费获得的东西编写自己的库


在Lua中有许多关于web开发的好帖子。

我已经用Lua编程了一些网站。第一个是我的魔兽世界公会的raid计划者(这通常是你在Lua中开始编程的方式…)。为此,我使用mod_lua和Apache2.4的alpha版本。另外两个是面向客户的小型竞赛网站,由WSAPI、Nginx、Spawn fcgi和Orbit开发。这个设置非常快,比mod_lua和我见过的任何东西都要快。页面将立即显示,就像它们在缓存中一样!这段经历非常愉快,Lua让你很快变得富有成效。但你最好有条理。在web开发方面,Lua缺少很多电池,因此您通常必须实现自己的,并且可能会变得混乱。所以我建议你在开始之前计划一下你需要什么。我将自己的Lua“ORM”与MySQL结合使用,并将Lua页面的分叉版本用于模板。如果您想尝试Lua+Wsapi+Nginx,请查看此处: 我认为这是最好的设置。

并且是非常好的平台,但我建议您首先看看。这是一个很好的开始


您可以将您的PHP/Java背景设置为有用的工具。

我们在后端实现中成功地使用了lua。您还可以查看嵌入式设备的JUCI webgui。它使用lua进行后端实现。您可以查看代码如何与lua/C后端交互:

但是请注意,此后端是一个纯jsonrpc后端,因此它不会创建任何类似php或cgi页面的html。如果您所做的只是处理和响应json请求,那么Lua是完美的。您还可以使用php编写主应用程序,并使用lua在后端编写应用程序。或完全使用javascript的主应用程序


我认为,如果您打算在希望生成html的地方使用lua,那么您会发现它缺少许多功能,但是如果您将其限制为纯功能性后端实现,那么您会发现它工作得非常好

这意味着,Lua似乎是Python和Ruby之间的完美平衡。嗯,我想Lua对于web应用程序来说比PHP更好吗?如果是,原因是什么?请看这里的服务器绑定:答案已经过时,请查看最新信息。“自己动手”本身并没有什么错,但如果你必须自己实现所有事情,那么你将不得不在这些事情上花费大量时间,我们都知道,时间就是金钱。还有一个问题,你需要考虑的是图书馆为你处理的许多安全问题——但是在交换的情况下,如果有bug,你可以立即作出反应,这不是图书馆的情况——你经常需要等待它被更新。Lua的设计是更干净的?当我发现Lua教程与Python类似,但语法可读性较差时,我放弃了Lua教程。BTW,谷歌正在制作一个Python的C++实现