【问题标题】:Can Lua be used for application development?Lua 可以用于应用程序开发吗?
【发布时间】:2012-07-05 16:46:22
【问题描述】:

随着VB6的中级知识,最近人们一直在建议“升级”到一种新的语言。我正在考虑 Lua - 它简单、简单且快速。但似乎没有任何关于创建类似于K3buTorrentCCleanermIRC 的应用程序的信息。

【问题讨论】:

标签: lua


【解决方案1】:

是的,它可以。而且很容易在一个小项目上尝试一下。

恕我直言,当与体面的工具包结合使用时,它非常适合使用 GUI 构建小型应用程序。既然您提到了 Visual Basic,我假设您现在专注于 Windows。在这种情况下,请查看Lua for Windows 包。

Lua for Windows 将 Lua 语言核心与大量有用的扩展模块集成在一起,并将其与适当的 Windows 安装程序打包在一起。它包括一个 SCiTE editor 版本,它具有 Lua 的语法着色和一个集成的调试器。它还包括wxWidgetsIUP GUI 工具包的绑定。

我使用 Lua 和 IUP 构建了几个实用程序。在一起,可以构建相当复杂的应用程序,而无需求助于已编译的代码。

Lua 作为开箱即用的唯一应用程序语言失败的一个领域是打包。它仍然需要相当多的 Windows 应用程序打包经验才能生成一个安装程序,该安装程序可以提供最终用户所需的一切,从而使您使用 Lua 作为与他们无关的核心语言。

但是,正如许多商业项目所证明的那样,这是一个可以解决的问题。我通常最终编译一个小的 EXE 文件,它可以有自己的默认图标和版本资源,用于加载和初始化 Lua 核心,并为应用程序的其余部分遵循 Lua 脚本。这与实现分析显示的任何功能的一两个 DLL 相结合,应该在编译环境中完成,您就可以开始了。

幸运的是,即使您最终交付了自己的 Lua 副本,您也会发现整个安装过程相当小。此外,核心语言本身并不关注注册表等 Windows 功能,因此很容易拥有多个碰巧都使用 Lua 的应用程序,即使它们是不同的版本。

Lua 已经存在了 10 多年,并且拥有一个活跃的用户社区。此外,学习和学习这门语言并不难,所以恕我直言,找到可以为项目团队做出贡献的人真的没有任何问题。

【讨论】:

  • 阿门。甚至还有使用 Lua 的大型桌面应用程序项目——参见 TextadeptZeroBraneStudio。那里可能有很多更小的更像实用程序包装器。
【解决方案2】:

Lua 是相当“轻量级”的,它有优点也有缺点——如果你正在构建一个完整的应用程序,你将自己做大量的基础工作,而不是专注于应用程序级的开发.我建议使用更丰富的动态语言,例如 Python(我个人最喜欢的)或 Ruby(尤其适用于 Web 应用程序,但不限于这些)——这样你就可以找到很多工具和基础设施,丰富的标准已经为您构建的库、第三方扩展、各种应用程序的可用框架等。

【讨论】:

    【解决方案3】:

    Lua 是一门很棒的语言 - 我们经常在游戏开发中使用它来编写脚本,因为它轻巧、易于学习并且具有良好的 C 绑定。
    但是,如果您从 VB6 迁移,那么我建议您学习 VB.NET 或者最好是 C#。您会发现更多的开发资源和库支持。

    【讨论】:

    • VB.NET 基本上已经死了。即使没有死,它也从来不是 .NET 世界中排名第一的孩子。他的选择是 C#(没有脚本,但 IDE 不错),或者可能是 C# 用于用户界面,但 Lua 用于编写其动态行为的脚本。我会选择 Qt + Lua。
    • @akauppi。我同意。我个人讨厌 VB.NET,只是认为这可能是一个很好的过渡,因为他已经知道 VB6。对于脚本,我个人会使用 Python。它有很多 GUI 选项,比如 wxPython 等
    【解决方案4】:

    您会在此处找到使用 Lua 的各种项目的列表,其中最相关的可能是 Adob​​e Photoshop Lightroom,其中 40% 是用 Lua 编写的:Lua Uses

    【讨论】:

      【解决方案5】:

      Lua 可以用于应用程序开发,但您必须做一些基础设施工作:例如绑定到 wx 或 Qt 等图形工具包。尽管我很喜欢动态语言,但我不建议在您的情况下使用它。

      如果您来自 VB6,我建议您按顺序使用 C#、VB.NET 或 Java。每个都比 VB6 强大得多,但应该足够熟悉,以便您快速提高工作效率。

      【讨论】:

      【解决方案6】:

      Lua 是一种易于学习的语言。但是,如果您愿意,请学习 C# 或 Java,并将 Lua 作为脚本语言嵌入到您的应用程序中。

      或者只是学习 Python。

      【讨论】:

        【解决方案7】:

        没有。

        原因是可连续性(拼写错误?)。您会发现很少有开发人员使用这种语言,因此当团队在您之后继续工作时,或者您将用户锁定给您时,您会遇到问题。

        即使您确实找到了开发人员,恕我直言,他们也会更昂贵。

        恕我直言,选择“更流行”的语言/技术是有好处的:开发人员更便宜。

        【讨论】:

        • 我认为任何优秀的开发人员都可以在几周内学习 Lua。我知道一个案例,有人告诉聘请从事 C/Unix 繁重工作的开发人员,顺便说一下,我们在这个产品中也嵌入了脚本语言'',而且跟上速度没有问题。
        • 可悲的是,我也同意 tkadlubo,真正的程序员在几周内学会一门好语言是没有问题的。但是掌握它来创建一个好的项目?学习一门语言需要几个月的时间。
        • 我被聘为 MMO 工作,没有 Lua 经验,我在一周内学会了我需要的语言。任何体面的程序员都可以在相当短的时间内学会使用 Lua。
        猜你喜欢
        • 2012-07-05
        • 1970-01-01
        • 1970-01-01
        • 2021-11-11
        • 2021-05-01
        • 2016-07-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多