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
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).
- 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.[4]
- 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.[5]
- 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.[6]
- 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.[7]
- 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.[8]
- 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.
- Lego Mindstorms NXT and NXT 2.0 can be scripted with Lua using third-party software.[9]
- lighttpd web server uses Lua for hook scripts as well as a modern replacement for the Cache Meta Language.
- LuaTeX, the designated successor of pdfTeX, allows extensions to be written in Lua.[10]
- LuCI, the default web interface for OpenWrt, is written primarily in Lua.[11]
- MediaWiki[12] uses Lua as a new templating language, which is used on Wikipedia and other wikis.
- The Moonbridge Network Server for Lua Applications, in combination with WebMCP, a web development framework, allows complex web applications to be written in Lua (used by LiquidFeedback[13]).
- 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.[14][15][16]
- Nginx has a powerful embedded Lua module that provides an API for accessing Nginx facilities like socket handling, for example.[17]
- nmap network security scanner uses Lua as the basis for its scripting language, called nse.[18]
- NodeMCU uses Lua in hardware. NodeMCU is an open source hardware platform, which can run Lua directly on the ESP8266 Wi-Fi SoC.[19]
- Sierra Wireless AirLink ALEOS GSM / CDMA / LTE gateways allow user applications to be written in Lua.
- The Perimeta session border controller from Metaswitch Networks uses Lua as a scripting language to manipulate SDP data on the fly.[20]
- 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.[21]
- 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's Studio editor allows users to write Lua game scripts and editor plugins.
- Rockbox, the open-source digital audio player firmware, supports plugins written in Lua.
- RPM, software package management system, primarily developed for Red Hat Linux.[22]
- 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.[23]
- 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.
- Transformice, independent multiplayer free-to-play online platform browser game that uses Lua to code minigames.
- Varnish can execute Lua scripts in the request process by extending VCL through the Lua VMOD (Varnish module).[24]
- Vim has Lua scripting support starting with version 7.3.[25]
- VLC media player uses Lua to provide scripting support.
- 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 and post-dissector taps to be written in Lua.[26]
- ZeroBrane Studio Lua IDE is written in Lua and uses Lua for its plugins.
References
- ↑ "Why is Lua considered a game language?". Archived from the original on 20 August 2013. Retrieved 2017-04-22.
- ↑ "Poll Results". Archived from the original on 7 December 2003. Retrieved 2017-04-22.
- ↑ "Front Line Award Winners Announced". Archived from the original on 15 June 2013. Retrieved 2017-04-22.
- ↑ "Lua Scripting - Technical Documentation - Documentation".
- ↑ "Using Lua with darktable".
- ↑ Zetter, Kim (28 May 2012). "Meet 'Flame,' The Massive Spy Malware Infiltrating Iranian Computers". Wired News.
- ↑ "Algorithm discovery by protein folding game players". Proceedings of the National Academy of Sciences. 108: 18949–18953. doi:10.1073/pnas.1115898108.
- ↑ http://blog.haproxy.com/2015/10/14/whats-new-in-haproxy-1-6/
- ↑ "pbLua Scriptable Operating Systems with Lua". Archived from the original on 2008-12-08.
- ↑ "LuaTeX". luatex.org. Retrieved 21 April 2015.
- ↑ "LuCI". Retrieved 2 July 2015.
- ↑ Technology report, Wikipedia Signpost (30 January 2012)
- ↑ "Public Software Group e. V. – LiquidFeedback Frontend". public-software-group.org. Public Software Group. Retrieved 3 April 2015.
- ↑ "LUA(4) Man Page". netbsd.gw.com. Retrieved 2015-04-21.
- ↑ "NPF Scripting with Lua EuroBSDCon 2014" (PDF).
- ↑ "Scriptable Operating Systems with Lua" (PDF). Dynamic Languages Symposium 2014.
- ↑ "HttpLuaModule". Wiki.nginx.org. Retrieved 2013-07-17.
- ↑ "Nmap Scripting Engine". Retrieved 2010-04-10.
- ↑ Huang R. "NodeMCU devkit". Github. Retrieved 3 April 2015.
- ↑ "Know Your SBCs" (PDF). Retrieved 2014-03-08.
- ↑ "Redis Lua scripting".
- ↑ "Lua for RPM".
- ↑ "Lua in Snort 3.0". Retrieved 2010-04-10.
- ↑ "VMOD Lua for Varnish 3.0". Retrieved 2016-02-29.
- ↑ "Vim documentation: if_lua". Retrieved 2011-08-17.
- ↑ "Lua in Wireshark". Retrieved 2010-04-10.
External links
This article is issued from
Wikipedia.
The text is licensed under Creative Commons - Attribution - Sharealike.
Additional terms may apply for the media files.