awesome-lua VS middleclass

Compare awesome-lua vs middleclass and see what are their differences.

awesome-lua

A curated list of quality Lua packages and resources. (by LewisJEllis)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
awesome-lua middleclass
11 9
3,757 1,685
- -
0.0 0.0
26 days ago about 1 year ago
Lua
- 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.

awesome-lua

Posts with mentions or reviews of awesome-lua. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-01.
  • Gearing up for Lua
    3 projects | dev.to | 1 Jan 2024
    If you're familiar with awesome-lists, you'll be happy to know that an awesome-lua repository does in fact exist. This list contains more interesting stuff about the language, along with going deeper into certain niches that I'm not even going to start to touch.
  • What's your opinion on Lua programming language?
    3 projects | /r/programming | 26 Mar 2023
    Lua has a lot going for it. Its memory footprint is nicely small, its practical expressiveness is quite high (though not as high as Python's or Perl's), luajit's runtime performance is very good for such a highly-expressive language, and it has a great set of libraries integrating with a lot of commonly-used services.
  • Advice to Aimless, Excited Programmers (2010)
    2 projects | news.ycombinator.com | 1 Mar 2023
    I believe there is a way to accomplish this without seeking input from people on Reddit or message boards for new domains to contribute to.

    There are lists on Github that curate libraries native to a particular programming language. For example, there is a list for Lua (https://github.com/LewisJEllis/awesome-lua) and another for Python (https://github.com/vinta/awesome-python). Explore these lists to identify areas that may require assistance. Some of these lists have not been updated for years, so it is worthwhile to conduct additional research on the domain before undertaking a project.

    I have personally completed a project using this approach, although I did have some background knowledge in that domain.

  • Where do I go after learning lua?
    5 projects | /r/lua | 25 Jan 2023
    This was a list I got in my mind without googling... for more inspiration and see what others are doing take a look at awesome Lua: https://github.com/LewisJEllis/awesome-lua
  • Library support situation?
    3 projects | /r/lua | 13 Jun 2022
  • there seems to be an alarmingly small amount of support for lua compared with other programming languages
    4 projects | /r/love2d | 25 May 2022
    Check out awesome-love2d on github, there's tons of libraries for all sorts of stuff including UI. Also check out awesome-lua.
  • Any good Lua Modules out there ?
    2 projects | /r/lua | 13 May 2022
    So I’m 100% not the person to ask but usually the “awesome” lists on GitHub are a good place to start. Here is the awesome-lua repo for example.
  • Beginneer's guide to using Luarocks on neovim plugins
    5 projects | /r/neovim | 4 Aug 2021
    Disclaimer: i'm still new to this world as well, i went through this for making use of luacheck, a linter tool for Lua, but the possibilities are just endless, you can take a peek at some awesome-lua repo on GitHub to find out the amazing tools that you can implement to your projects
  • Lua Limitations
    1 project | /r/lua | 23 Jul 2021
    Look at all the awesome stuff you can do with Lua.
  • OOP in Love2d
    4 projects | /r/love2d | 25 Mar 2021
    https://github.com/LewisJEllis/awesome-lua#object-oriented-programming

middleclass

Posts with mentions or reviews of middleclass. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-31.
  • Is there a way to create namespaces/hierarchy in the documentation with LDoc?
    3 projects | /r/lua | 31 May 2023
    I am trying to document my code and I am using LDoc for that and for OOP I am using the library middleclass. All of my classes are in a main framework folder and inside that I have each namespace as a folder and then classes that are specific to that namespace in those folders.
  • Lua: The Little Language That Could
    16 projects | news.ycombinator.com | 28 May 2023
    The ConTeXt typesetting system tightly integrates Lua. One aspect of Lua that I dislike is its inability to easily write OOP-ish code. What's impressive about the language is that it can be extended to do so in astonishingly little code:

    * https://github.com/kikito/middleclass

    With OOP in place, I was able to typeset a hexagonal grid and a symbolic representation of a neural network on top, using a more OOP-like approach. The classes are straightforward.

    A vertex defines a point in 2D space:

    * https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...

    An edge connects two vertices:

    * https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...

    A graph connects edges:

    * https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...

    A priority queue serves for ordering graph edges by weight of adjoining vertices:

    * https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...

    With these concepts in hand, we can typeset a grid and a "neural network" on top:

    * https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...

    Here's an example of the output for chapter 1:

    * https://i.ibb.co/19DCDZy/ch-1.png

    And chapter 14, where the "network" has grown in complexity:

    * https://i.ibb.co/ncf16vg/ch-2.png

    This is for my near future hard sci-fi book on AGI. I'm looking for alpha readers to give me feedback. See profile for contact details.

  • Doing what you love when the money won’t follow
    4 projects | news.ycombinator.com | 4 Nov 2022
  • To all plugin authors: standard class realization
    3 projects | /r/neovim | 1 Sep 2022
    To reduce the amount of boilerplate code, I created the fork of middleclass repo suitable for Neovim plugin managers: it just adds a symlink to middleclass.lua file in lua/ directory. middleclass is well known and tested, so I suggest using it as a standard class realization. I also open a pull request to merge it upstream.
  • Is doing OOP in lua considered bad practice?
    1 project | /r/lua | 11 Mar 2022
    Not exactly what op asked, but if you want classes in Lua definitely check out https://github.com/kikito/middleclass
  • Alternative to Love2d
    7 projects | /r/love2d | 10 Jul 2021
  • OOP in Love2d
    4 projects | /r/love2d | 25 Mar 2021
    Like /u/TheMightyHUG pointed out below, there are patterns you can use to do OOP without any extra help. In the past I have used some libraries to improve the ease of doing so, specifically middleclass: https://github.com/kikito/middleclass
  • A complete implementation of the Set data structure in Lua
    2 projects | /r/lua | 3 Jan 2021
    Same, but when I do I like when authors include everything in one file so it's easy to manage. Here we have the library, some small 10 line file with helper functions that's required and we also need to remember about the licence. Take middleclass as an example, one file, license included, ready to plug and develop.

What are some alternatives?

When comparing awesome-lua and middleclass you can also consider the following projects:

luarocks - LuaRocks is the package manager for the Lua programming language.

pyxel - A retro game engine for Python

awesome-love2d - A curated list of amazingly awesome LÖVE libraries, resources and shiny things.

classic - Tiny class module for Lua

luv - Bare libuv bindings for lua

TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.

moonscript - :crescent_moon: A language that compiles to Lua

blog - gamedev blog

CC-Tweaked - Just another ComputerCraft fork

paq-nvim - 🌚 Neovim package manager

set-lua - `set-lua` is a complete implementation of the Set data structure in Lua