Lua.js (luajs-interop on GitHub) commit 348913a

A bare-bones implementation of C Lua and Duktape JavaScript interoperability for future NX projects.

  1. caHarkness
    logo.png
    Lua.js (caharkness/luajs-interop on GitHub)

    "A bare-bones implementation of C Lua and Duktape JavaScript interoperability for future projects on the Nintendo Switch via libnx."

    What is it?

    It's a project I started to help teach myself C/C++ programming while creating a platform for my up-and-coming project to run on. It's a a project worth looking at if you are either a new or experienced programmer in other languages looking to develop Nintendo Switch homebrew.

    What makes it special?

    This project demonstrates a few characteristics of larger, more sophisticated C projects in just a handful amount of files. Here's a list of things to look out for:

    • Inclusion of fully open-source software's source code (such as Lua and its entirety)
    • Project level source code organization (keeping your code separate from Lua)
    • C Language level code organization (refactoring your code into separate, relevantly named .c and .h files)
    • Interoperability between C Language and scripting langauges (write code in C, Lua, & JavaScript and invoke functions defined in one language from another)
    • Working example of a Lambda "function literals" in C (the function is defined during execution)
    • Reading whole files from romfs:/ (a demonstration of libnx and importance of convenience functions)
    • Concise examples of source and header relationship (reducing clutter, redundancy, and compiler confusion)
    What is it not?

    Lua.js, although it compiles to .nro, is not homebrew ready for the consumer. It is also not a fully-fledged interpreter that can translate existing Lua and JavaScript-based games into Nintendo Switch experiences... yet.
    the_leg and ExploitJunkie like this.