luau VS fengari

Compare luau vs fengari and see what are their differences.

luau

A fast, small, safe, gradually typed embeddable scripting language derived from Lua (by luau-lang)

fengari

🌙 φεγγάρι - The Lua VM written in JS ES6 for Node and the browser (by fengari-lua)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
luau fengari
64 24
3,587 1,757
2.5% 1.0%
9.0 0.0
4 days ago 12 months ago
C++ JavaScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

luau

Posts with mentions or reviews of luau. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-11.

fengari

Posts with mentions or reviews of fengari. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-28.
  • Lua: The Little Language That Could
    19 projects | /r/programming | 28 May 2023
    it should be possible, the article mentions https://fengari.io/ (a Lua VM written in JavaScript)
  • PyScript
    10 projects | news.ycombinator.com | 22 Jun 2022
    Other languages have done that :)

    Lua in the browser: https://fengari.io/

    And then you can use that to run Fennel, a Lisp that compiles to Lua https://fennel-lang.org/

    I think TypeScript also has a script you can include that lets you put your TS code in a special script tag, and it gets compiled in-browser.

  • Upcoming interview with Roberto Ierusalimschy
    2 projects | /r/lua | 14 Jun 2022
    Please stop this stuck in the mud nonsense. Anyone stumbling upon lua.org might think the project is dead already. The material is great, close to the best, but its presentation is pure shite. Not mobile friendly (what kinds of device do you think the majority of people in the Global South use?). We live in a world of code highlighting, none of that in PiL. We live in a world where Fengari allows Lua to run in the browser, does that make an appearance on lua.org, allowing users to immediately play with the language? Of course not! It's almost as if the Lua team is trying to push away potential users.
  • Hacker News top posts: Feb 20, 2022
    2 projects | /r/hackerdigest | 20 Feb 2022
    Fengari – Lua for the Browser\ (57 comments)
  • Fengari – Lua for the Browser
    10 projects | news.ycombinator.com | 20 Feb 2022
    Lua 5.3’s not really a fork. It just has backwards-incompatible changes, as do 5.1, 5.2 and 5.4.

    Otherwise yes, “Fengari implements Lua 5.3”. https://github.com/fengari-lua/fengari

    10 projects | news.ycombinator.com | 20 Feb 2022
  • Move over JavaScript: Back-end languages are coming to the front-end
    2 projects | news.ycombinator.com | 8 Feb 2022
    Please note, my original comment was simply correcting the notion that JS is popular because it was especially well suited for working on the web. I see projects like Fengari[1] and would _love_ to use something like that but I recognize I can't impose an extra 300kb on end users just because I want to write in a more pleasant language to develop. I accept that JS is what we have, but I won't pretend like JS was the cream that rose to the top.

    [1]: https://fengari.io/

  • How I coded my way to victory in World of Warcraft
    4 projects | dev.to | 15 Jan 2022
    WoW's UI API is written in Lua. If you aren't familiar, Lua is a great little scripting language built on top of C, designed to be embedded into larger pieces of software. You can even, thanks to web assembly, run it in the browser. It has some quirks that take some getting used to (Lua's Arrays start at index 1 👀), but by and large it's great at what it does and can be found everywhere in computer game UIs.
  • Lua: Good, Bad, and Ugly Parts
    11 projects | news.ycombinator.com | 22 Dec 2021
  • CPython's main branch running in the browser with WebAssembly
    9 projects | news.ycombinator.com | 28 Nov 2021
    > I’d expect MicroPython (or Lua/mruby/etc) could be an order of magnitude smaller. Still larger (and slower) than just using JavaScript, though.

    Fengari [0], a Lua interpreter written in JS, is a little over 200Kb. (And was intentionally written in JS [1] because of a variety of reasons that made WASM not work that well.

    200Kb isn't that bad of a price to pay to switch languages, on most websites. It'll be about the cost of a single image added to the page. And it's fairly performant.

    For most sites, the costs in terms of requests and performance will be negligible compared to what you're trying to achieve.

    And Fengari makes it nice and easy to interact with JS, too. Using React with Lua's syntax was what sold me on it. No ecosystem lockout, like I'd expect with most WASM ports.

    [0] https://fengari.io/

    [1] https://hackernoon.com/why-we-rewrote-lua-in-js-a66529a8278d

What are some alternatives?

When comparing luau and fengari you can also consider the following projects:

lua-languages - Languages that compile to Lua

LuaJIT - Mirror of the LuaJIT git repository

moonsharp - An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.

lua-language-server - A language server that offers Lua language support - programmed in Lua

moonscript - :crescent_moon: A language that compiles to Lua

tl - The compiler for Teal, a typed dialect of Lua

rbxfpsunlocker - FPS Unlocker for Roblox

pypyjs - PyPy compiled to JavaScript

pyodide - Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

pallene - Pallene Compiler

emscripten - Emscripten: An LLVM-to-WebAssembly Compiler

lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly