Why use Helium?
I know there's a few libraries that you could use instead of Helium, such as Fusion and Roact, but here's why I believe you should use Helium instead of either of those.
#
PerformanceThis is easily Helium's strength, as it's been proven time and time again that the only faster way to do UI is to not use any library. It consistently was the top performer in the three UI Stress Test places I have.
As a matter of fact, the framerate counter in UI Stress Test 3 was done with Helium, and Helium still performed better than either Fusion or Roact.
#
LifecycleHelium does support lifecycle events, but not in the same way or as nicely as Roact, but it's significantly better than Fusion's lack of lifecycle. The main "lifecycle" parts of Helium Components are four signals called Destroying
, Destroyed
, WillRedraw
, and DidRedraw
.
Destroyed
is called when the component is destroyed completely.Destroying
is called when the component is being destroyed.DidRedraw
is called right afterComponent:Redraw
is called.WillRedraw
is called right beforeComponent:Redraw
is called.
I've tested the performance cost of the Redraw signals, and they're not as big of a loss. It still performs at the top. If you wish to use these, you must add them to the Helium.Component.Extend
function's second parameter.
#
Native Janitor SupportJanitor is a top tier way to manage your Instances, connections, and whatnot. You can read more about it on my documentation for Janitor.
#
Store ClassHelium has a Store class similar to Redux and Rodux made just for it. It's incredibly fast and fairly simple to use. You can check out the documentation for more.
#
Incredible Support for Sleitnick's Component libraryHelium is the only library that natively supports Sleitnick's Component library. You can use this in tandem with the Store object to have a much cleaner way to manage your UI.