ramonrietdijk / livewire-tables

Dynamic tables for models with Laravel Livewire
https://livewire-tables.ramonrietdijk.nl/
MIT License
190 stars 9 forks source link

Differences from other livewire datatables #27

Closed Omranic closed 12 months ago

Omranic commented 12 months ago

Hey Ramon,

Thanks for the awesome package, I like the simplicity and low overhead of this package.

I was wondering if you can explain some of the differences between this package and the other Livewire datatables, and maybe the motivations behind building yet another package for the same purpose. That might help developers relate, and make their minds to choose this one instead. Would love to hear your perspective :)

ramonrietdijk commented 12 months ago

Hi @Omranic,

Thanks for the interest in the package! As there are alternative packages available, I'll gladly explain why.

One of the main reasons why I've created this package is because of the simplicity. By keeping the package simple and minimal, I try to make it as easy as possible to implement in new and existing Livewire projects. Having a low overhead makes it easier to understand as well.

Another goal is customizability. Although the package is fully featured out of the box and can be used as is, it can also act as a template. When the views are published, it is up to the developer how to make it look and feel, making it basically blend into any project. This is also a recommended approach as it gives the most flexibility. It is also the reason why this package does not have any settings for the layout, classes or styles. Once again, keeping the basis simple and minimal. Additional functionalities are easily implemented as well this way, as it is still a Livewire component at the end of the day.

Lastly, performance is also an important factor. Keeping the query performant is done by minimizing any unnecessary operations and making use of the ORM of Laravel. This also applies for searching, sorting and filtering to efficiently browse the data, while still having the ability to override any default behavior.

I hope I gave you enough insights about the reason why I've created this package!

Omranic commented 12 months ago

Thank you for the detailed explanation! It's clear that simplicity, customizability, and performance were at the forefront of your design decisions. I appreciate your dedication to making the package so user-friendly and adaptable. Keep up the great work!