List of applications using Lua

The Lua programming language is a lightweight multi-paradigm language designed primarily for embedded systems and clients.

This is a list of applications which use Lua for the purpose of extensibility.

Video games

In video game development, Lua is widely used as a scripting language by game programmers, perhaps due to its perceived easiness to embed, fast execution, and short learning curve.[1]

In 2003, a poll conducted by GameDev.net showed Lua as the most popular scripting language for game programming.[2] On 12 January 2012, Lua was announced as a winner of the Front Line Award 2011 from the magazine Game Developer in the category Programming Tools.[3]

Other uses

Among websites, the most popular website using Lua was Pornhub, according to Wappalyzer.[4]

Other applications using Lua include:

  • 3DMLW plugin uses Lua scripting for animating 3D and handling different events.
  • Adobe Photoshop Lightroom uses Lua for its user interface.
  • Aerospike Database uses Lua as its internal scripting language for its 'UDF' (User Defined Function) capabilities, similar to procedures
  • Apache HTTP Server can use Lua anywhere in the request process (since version 2.3, via the core mod_lua module).
  • Ardour hard disk recorder and digital audio workstation application uses Lua for scripting including the ability to process audio and Midi.
  • Artweaver graphics editor uses Lua for scripting filters.
  • Autodesk Stingray, a game engine which uses Lua for developing video games.
  • Awesome, a window manager, is written partly in Lua, also using it as its configuration file format
  • The Canon Hack Development Kit (CHDK), an open source firmware for Canon cameras, uses Lua as one of two scripting languages.
  • Celestia, the astronomy educational program, uses Lua as its scripting language.
  • Cheat Engine, a memory editor/debugger, enables Lua scripts to be embedded in its "cheat table" files, and even includes a GUI designer.
  • Cisco Systems uses Lua to implement Dynamic Access Policies within the Adaptive Security Appliance (ASA), and also SIP normalization in Cisco Unified Communications Manager (CUCM).
  • Conky, the Linux system monitoring app, uses Lua for advanced graphics.
  • Cocos2d uses Lua to build games with their Cocos Code IDE.
  • Codea is a Lua editor native to the iOS operating-system.
  • CRYENGINE uses Lua for user scripts.[5]
  • Custom applications for the Creative Technology Zen X-Fi2 portable media player can be created in Lua.
  • Damn Small Linux uses Lua to provide desktop-friendly interfaces for command-line utilities without sacrificing lots of disk space.
  • The darktable open-source photography workflow application is scriptable with Lua.[6]
  • The Daylon Leveller heightfield/terrain modeler uses embedded Lua to let plug-ins be more easily developed.
  • Dolphin Computer Access uses Lua scripting to make inaccessible applications accessible for visually impaired computer users with their screen reader, SuperNova.
  • Eyeon's Fusion compositor uses embedded Lua and LuaJIT for internal and external scripts and also plugin prototyping.
  • A fork of the NES emulator FCE Ultra called FCEUX allows for extensions or modifications to games via Lua scripts.
  • Flame, a large and highly sophisticated piece of malware being used for cyber espionage.[7]
  • Foldit, a science-oriented game in protein folding, uses Lua for user scripts. Some of those scripts have been the aim of an article in PNAS.[8]
  • FreePOPs, an extensible mail proxy, uses Lua to power its web front-end.
  • Freeswitch, an open-source telephony platform designed to facilitate the creation of voice and chat driven products in which Lua can be used as a scripting language for call control and call flow among other things.
  • Geany, a code editor, has a Lua plugin, GeanyLua.
  • Ginga, the middleware for Brazilian Digital Television System (SBTVD or ISDB-T), uses Lua as a script language to its declarative environment, Ginga-NCL. In Ginga-NCL, Lua is integrated as media objects (called NCLua) inside NCL (Nested Context Language) documents.
  • GrafX2, a pixel-art editor, can run Lua scripts for simple picture processing or generative illustration.
  • HAProxy, a reverse proxying software, may be extended with Lua starting from version 1.6.[9]
  • Hollywood, a cross-platform programming language using Lua.[10]
  • iClone, a 3D real-time animation studio to create animation movies uses Lua in the controls of its new physics simulation.
  • The drawing editor Ipe (mainly used for producing figures with LaTeX labeling) uses Lua for its functionality and script extensions.
  • Leadwerks Game Engine uses Lua for user scripts.[11]
  • Lego Mindstorms NXT and NXT 2.0 can be scripted with Lua using third-party software.[12]
  • lighttpd web server uses Lua for hook scripts as well as a modern replacement for the Cache Meta Language.
  • LÖVE, a 2D game framework for Lua (programming language).[13]
  • LuaTeX, the designated successor of pdfTeX, allows extensions to be written in Lua.[14]
  • LuCI, the default web interface for OpenWrt, is written primarily in Lua.[15]
  • MediaWiki[16], which is used on Wikipedia and other wikis, uses Lua as a new templating language provided by Scribunto extension.
  • ModSecurity ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave's SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence.
  • Moho, an animation software package distributed by Smith Micro Software, uses Lua as its scripting language, and all of its native tools are built as editable scripts.
  • MySQL Workbench uses Lua for its extensions and add-ons.
  • NetBSD has a Lua driver that can create and control Lua states inside the kernel. This allows Lua to be used for packet filtering and creating device drivers.[17][18][19]
  • nmap network security scanner uses Lua as the basis for its scripting language, called nse.[20]
  • NodeMCU uses Lua in hardware. NodeMCU is an open source hardware platform, which can run Lua directly on the ESP8266 Wi-Fi SoC.[21]
  • NSBase is a database management software. LUA scripting is used to dynamize forms and reports. It's a software workshop that allows you to create real database management applications.
  • OpenResty, a web platform based on nginx that supports Lua scripting in different execution phases.
  • Orbiter (simulator) Space Flight Simulator offers some Lua API allowing to customize simulation feedback, or to automatize simple maneuvers [22]
  • Sierra Wireless AirLink ALEOS GSM / CDMA / LTE gateways allow user applications to be written in Lua.
  • PowerDNS offers extensive Lua scripting for serving and changing DNS answers, fixing up broken servers, and DoS protection.
  • Project Dogwaffle Professional offers Lua scripting to make filters through the DogLua filter. Lua filters can be shared between Project Dogwaffle, GIMP, Pixarra Twistedbrush and ArtWeaver.
  • Prosody is a cross-platform Jabber/XMPP server written in Lua.
  • QSC Audio Products supports Lua scripting for control of external devices and other advanced functionality within Q-SYS Designer.
  • Quartz Composer, a visual programming tool by Apple, can be scripted in Lua via a free plugin produced by Boinx Software.
  • REAPER digital audio workstation supports Lua scripting to extend functionality.
  • Reason digital audio workstation; Lua is used to describe remote codecs.
  • Redis, is an open source key-value database, in which Lua can be used (starting with version 2.6) to write complex functions that run in the server itself, thus extending its functionality.[23]
  • Renoise audio tracker, in which Lua scripting is used to extend functionality.
  • RetroShare encrypted filesharing, serverless email, instant messaging, online chat, and BBS software, based on a friend-to-friend network, has a lua plugin for automation and control.
  • Roblox is a MMORPG turned game platform with its own game engine. It uses a modified version of Lua.
  • Rockbox, the open-source digital audio player firmware, supports plugins written in Lua.
  • RPM, software package management system, primarily developed for Red Hat Linux.[24]
  • New versions of SciTE editor can be extended using Lua.
  • SAS integrates Lua with the PROC.
  • Snort intrusion detection system includes a Lua interpreter since 3.0 beta release.[25]
  • The Squeezebox music players from Logitech support plugins written in Lua on recent models (Controller, Radio and Touch).
  • Tarantool uses Lua as the stored procedure language for its NoSQL database management system, and acts as a Lua application server.
  • TeamSpeak has a Lua scripting plugin for modifications.
  • TI-Nspire calculators contain applications written in Lua, since TI added Lua scripting support with a calculator-specific API in OS 3+.
  • Torch is an open source deep learning library for Lua.
  • Varnish can execute Lua scripts in the request process by extending VCL through the Lua VMOD (Varnish module).[26]
  • Vim has Lua scripting support starting with version 7.3.[27]
  • VLC media player uses Lua to provide scripting support.
  • Waze uses Lua internally. waze-4-35-0-15.apk includes Lua 5.3.3.
  • WeeChat IRC client allows scripts to be written in Lua.
  • WinGate proxy server allows event processing and policy to execute Lua scripts with access to internal WinGate objects.
  • Wireshark network packet analyzer allows protocol dissectors, post-dissectors, and taps to be written in Lua.[28]
  • ZeroBrane Studio Lua IDE is written in Lua and uses Lua for its plugins.
  • NUT allows Applications written in Lua.
  • mpv (crossplatform media player, an mplayer fork) Uses Lua as a scripting language.
  • Neovim text editor Intended to replace Vim script as a primary scripting language

References

  1. "Why is Lua considered a game language?". Archived from the original on 20 August 2013. Retrieved 2017-04-22.CS1 maint: BOT: original-url status unknown (link)
  2. "Poll Results". Archived from the original on 7 December 2003. Retrieved 2017-04-22.CS1 maint: BOT: original-url status unknown (link)
  3. "Front Line Award Winners Announced". Archived from the original on 15 June 2013. Retrieved 2017-04-22.CS1 maint: BOT: original-url status unknown (link)
  4. https://www.wappalyzer.com/technologies/lua
  5. "Lua Scripting - Technical Documentation - Documentation".
  6. "Using Lua with darktable".
  7. Zetter, Kim (28 May 2012). "Meet 'Flame,' The Massive Spy Malware Infiltrating Iranian Computers". Wired News.
  8. Khatib, F; Cooper, S; Tyka, MD; et al. (November 2011). "Algorithm discovery by protein folding game players". Proceedings of the National Academy of Sciences. 108: 18949–18953. doi:10.1073/pnas.1115898108. PMC 3223433. PMID 22065763.
  9. http://blog.haproxy.com/2015/10/14/whats-new-in-haproxy-1-6/
  10. "Hollywood - Multimedia Application Layer".
  11. "Leadwerks Documentation".
  12. "pbLua Scriptable Operating Systems with Lua". Archived from the original on 2008-12-08.
  13. "LÖVE - Free 2D Game Engine".
  14. "LuaTeX". luatex.org. Retrieved 21 April 2015.
  15. "LuCI". Retrieved 2 July 2015.
  16. Technology report, Wikipedia Signpost (30 January 2012)
  17. "LUA(4) Man Page". netbsd.gw.com. Retrieved 2015-04-21.
  18. "NPF Scripting with Lua EuroBSDCon 2014" (PDF).
  19. "Scriptable Operating Systems with Lua" (PDF). Dynamic Languages Symposium 2014.
  20. "Nmap Scripting Engine". Retrieved 2010-04-10.
  21. Huang R. "NodeMCU devkit". Github. Retrieved 3 April 2015.
  22. "Orbiter Space Flight Simulator 2016 Edition".
  23. "Redis Lua scripting".
  24. "Lua in RPM".
  25. "Lua in Snort 3.0". Archived from the original on 2010-05-27. Retrieved 2010-04-10.
  26. "VMOD Lua for Varnish 3.0". Retrieved 2016-02-29.
  27. "Vim documentation: if_lua". Retrieved 2011-08-17.
  28. "Lua in Wireshark". Retrieved 2010-04-10.
  • eLua, Embedded Lua (a version of Lua specifically tailored for use in embedded systems).
  • Projects in Lua
  • Ravi, derivative of Lua 5.3 with limited optional static typing and an LLVM based JIT compiler
  • SquiLu, Squirrel modified with Lua libraries
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.