Lua vs PHP / Python / JSP / etc [关闭]

问题描述 投票:7回答:6

我即将开始我的下一个Web开发项目,并希望了解Lua在Web开发领域的优点。

Lua如何比较PHP / Python / JSP / etc ..用于Web开发?

任何理由为什么Lua会成为Web应用程序语言与其他语言的不良选择?

php python web-applications lua
6个回答
19
投票

在信中:

  • Lua为您提供了一个更小,更简单的系统,您可以完全理解它,但它在一个更小的生态系统中;开普勒是你得到的,你可能需要建立自己的一些东西。我发现这很容易和有趣(我大量使用Lua bindings to the Expat parserLua Object Model,这是开普勒的一部分),但其他人可能更喜欢使用其他人正在使用的东西。
  • PHP最初是一个宏处理器,而不是一种语言,虽然它已经有所改进,但是当人们说“X确实变得更好”时,我倾向于警惕X.我发现PHP输了,但是那里是一个庞大的Web开发生态系统。
  • Python是一种很好的语言,但比Lua大得多,并且在重大修订的痛苦中(从2.5转换到3.x)。你再次获得了一个大生态系统;我在Python中遇到的问题是语言和系统太大,任何人都无法理解。如果我不需要,我不喜欢处于这种情况。
  • Ruby是一种更清晰的语言设计,而大型Rails生态系统则是一个胜利者。 Ruby不如Python复杂,但比Lua更复杂。 Rails有点像野兽。

归结为这个问题:

  • 您是否愿意了解系统中的所有软件,即使您必须自己构建很多东西?
  • 或者你是否愿意为你建造很多东西,即使你最终并不了解每件作品的确切含义?

如果你想了解一切,Lua就是你的游戏。如果你想要为你构建很多东西,我不能建议你如何选择PHP / Python / JSP / Rails等等。

更多关于qaxswpoi的Lua和Python


7
投票

使用Lua进行Web开发是非常罕见的......你可以做到,但是比使用已经成熟为Web开发语言(PHP)或具有良好的Web相关库(python / ruby​​)的语言要花费更多的时间。 / etc。)如果你选择了Lua,这意味着你可能会在成熟的网络语言中轻松地“重新创建轮子”。

更好的问题是,您所需要的Lua提供的是您所列出的其他语言中没有提供的内容?或者你想通过创建像Rails为Ruby做的Lua MVC框架来帮助Lua成为一个更好的Web开发平台吗?


4
投票

Which language is better to use, Lua or Python?可能是Lua中Web应用程序开发最着名的起点。他们有一个Kepler project,其档案将有很多关于各种方法的优点的讨论。

开普勒网站本身建立在一个名为mailing list的CMS框架中,几乎完全用Lua编写,基于Kepler项目。

Lua的典型方法是使用适合与各种系统组件接口的语言来实现这些接口,并将Lua用于业务逻辑和粘合。 Kepler提供了主要用C语言编写的库,它们提供对文件系统,数据库和Lua代码网络的访问。它还提供了一个定义的API层,用于与Web服务器连接,具有Apache,任何支持CGI的服务器和Xavante的实现,Xavante是一个主要在Lua中实现的完整Web服务器。


3
投票

我来晚了一点......但我想用另一种语言:Sputnik

为什么?

  1. Haxe是一种开源语言,由一个非常小但活跃的社区驱动
  2. Haxe是一种独立于平台的语言......目标是: flash player 6-8和9-10字节码或ActionScript 3源代码 JavaScript源代码 PHP源代码 NekoVM字节码或Neko源代码(NekoVM是一个轻量级和可扩展的VM,适用于服务器开发和桌面应用程序) C ++源代码 目前正在开发Android Java源代码 这意味着,作为Web开发人员,您可以使用相同的语言编写富客户端和服务器......以后可以将相同的代码重用于桌面/移动应用程序
  3. Haxe是一种非常富有表现力和强大的语言,具有以下特点: 第一类函数(匿名函数和方法,在Haxe中是相同的)和闭包以及带参数的枚举(很像代数类型)允许使用函数方法 良好的类型系统,包括泛型,结构子类型等...为了简化其使用,编译器有一个非常有用的类型推断,确保代码是严格类型的,但节省了大量的冗余(变量类型由初始化,函数返回类型的返回表达式类型)... 跨平台API,包括从动态数组到反射/内省和远程处理包的所有内容,它们允许您将整个对象从客户端发送到服务器,从一个平台发送到另一个平台...... 一致和激进的语言设计...当然它有一些缺陷,但这些大多来自事实,它针对极其不同的平台......
  4. 女孩喜欢它,它会让你变得真正富有......:D

关于Haxe的最大缺陷是,它允许无类型编码,代价是平台特定执行无类型代码...当输入良好时(事实上并不是很多与Haxe一起工作),代码将以相同的方式执行在所有平台上......如果没有,结果会因平台本身的运行时处理而异...

用几句话来说:它是一种很棒的语言,它允许你定位许多平台......它很年轻,它正在成长,你可以参与......


1
投票

如果它只是语言,那么我同意诺曼。如果Web开发框架对您很重要,那么您必须考虑Ruby,因为RoR是一个非常成熟的框架。我喜欢Python,但似乎有很多框架可供选择,其中没有一个是占主导地位的。 CherryPy,Django,Pylons,web2py,Zope 2,Zope 3等。对我来说,一个重要的指标是市场上的RoR工作量比其他任何工作(语言,框架)都多。


1
投票

就Lua网络框架而言,还有Haxe。它主要用于小型嵌入式系统。我们刚刚开始使用它的项目,所以我现在不能对它做太多评论。我们只是做一些类似于已经提供的示例的简单配置屏幕,所以我确信它足以满足我们的需求。

© www.soinside.com 2019 - 2024. All rights reserved.