As we are aware that we can create Admin Grid to display list of item from database table with two ways:
1.Using layout
2.Using component
I want to know which one is best and what is difference between both approaches? Please share your thoughts.
UI Components:
+ It's mostly configuration. So you write less code.
+ you get a cool grid with show/hide columns,drag/drop columns, full text search, inline edit, export built in and maybe others.
+ It can easily be extended with just another XML file in a different module.
+ any new feature Magento rolls out for the grids you will get it automatically in your grid.
- Difficult to debug.
- Difficult to modify.
- Difficult to build non standard grids.
- Not very much control over what happens.
Layout:
+ You got full control of what happens.
+ Relatively easy to build non-standard grids.
+ Easy to debug
+ You can use your knowledge from M1 to do it.
- Grid is not that flexible or extensible.
- you need to write the same code over and over again.
- More code to test or that can break
@deprecated 100.2.0 in favour of UI component implementation * @since 100.0.2
in the class. That might be a worthwhile negative for the layout version