Aegis is a lightweight and strictly typed UI framework specifically designed for Roblox. It aims to give the developers customizable options without any extra memory load.
Key features
Performant
Designed to be efficient without extra load on the memory
Strict typing
Enforces strict typing to enhance reliability and catch errors easily
Customizable
Offers customizable options to modify to your likings
Intrigued?
Check out our documentation and socials to dive deeper into our projects and join our growing community!
Links
ㅤㅤㅤ
– Made with by the developers and contributors at Lumin Labs
As for a video, I’ll be adding a few stuff to the docs tonight so you can check there later! Plus, I do understand your concern of why this project was made when there was fusion and roact. I’ll be adding a descriptive comparisons page with benchmarks. There’s no tutorial on the docs page either, so just need some time
Will be updating the state and fixing the spring soon, however there’s something I’m willing to ask.
Should table types be restricted for state values?
For example:
Aegis.state({}) -- Table types won't be allowed!
This restriction will be added so that there’s no advanced mechanism to support table types. Right now, with how the state is, you will be able to change the entire table with just setting a normal table value.
If you were to only change a specific value inside the table, you’d have to completely copy-paste the full table into the state which might be memory-heavy.
Instead of the above, you could still do this,
local States = {
Aegis.state(1),
Aegis.state("Hello Aegis"),
}
Table types are going to be restricted since there were more people who opted for it
Rojo, Wally, Argon, Github, and VSC (regarding Roblox) don’t appeal to me. That’s a pretty strong gatekeeper against… normal Roblox Studio usage. I guess I can’t look into this anymore then.
The metatable creating technique using a separate Class table and setting it as the __index of the main table will be changed to the normal OOP class creating technique where you set the __index of a table to itself as it is the main style used in the main Luau Tutorials page
Services are going to be removed and will be converted to Constructors instead so that you no longer have to understand the concept of services.
I’ll be adding a new constructor function which will be similar to new except it will update the instance’s properties (Similar to Fusion’s Hydrate ). What should the name be for the function?
We have a system setup across all Lumin projects which automates stylua, wally, rojo and standalone files which can be used in studio. We were just having issues previously about those automations not working. It’s in our best interest to bring you consistency and quickness in relation to OSS.