Drivers
Iridium operates orthogonally to your data source, meaning only in it's extremities (those being it's data drivers), does it need to understand the source of your data.
This allows you the developer to create forms, tables, etc. based off data from your favourite ORM, or a file, an in-memory array, api, serial port, etc.
Getting started
To jump-start your development, Iridium ships with two distinct drivers:
It additionally supports creating custom drivers.
Limits of Iridium's Prebuilt Drivers
Iridium's drivers inherently need to be able to handle saving, reading, sorting, etc. an unknown struct in order to allow you, the developer, to plug-and-play with them immediately and auto-magically wire up your data layer without writing any custom code.
However, this means our drivers are relatively slow compared to writing your own custom methods. And, in some cases, like sorting/filtering many millions of records in our array driver, extremely slow, due to a reliance on run-time reflection in certain areas.
Additionally, our GORM driver will automatically Preload certain relationships for you (for convenience), and select * your model in order to allow you access to all your model's data in our callbacks.
Ultimately, for small to medium collections of data, these drivers will suit most dev's needs, and do help you spin up your application quickly, but there can come a time when the performance overhead starts to become quite noticeable. We offer some easy (and more involved) ways to speed things up. See each driver's section for tips
Custom Drivers
Iridium allows you to write and register your own driver for your own data source.
This allows you to power your forms and tables off sources not directly supported by Iridium, or fork our internal driver and strip out their generality to massive speed up certain operations.
See our custom driver section for more info.