I’m new at magento and I’m not happy with magento.
I’m not having a course yet and try to get started with magento 2.
The following text is my experience with magento and I ask my self if it was a good decision to choose magento. So I want to ask you, if you have similar experience with magento and how you solved this for you.
At the beginning I started to dive into the documentation to get started with module development.
First in my opinion the documentation is not really helping, because it is more like a reference and not a documentation how to do things.
Second if there are step by step documentation in most cases it is incomplete. Means if you follow the step by step guide completely, the outcome is something that does not work.
I started to develop an admin grid, that lists some data from the database and has the possibility to edit the data.
So creating the route, menu and acl was easy to understand, but when it comes to the listing it gets complicated with all this xml stuff, that not shows you an error if you do something wrong eg. you have a typo in a string like the datasource string.
So by investigating existing modules I got forward step by step. But this step by step not means, that you can slowly get to the expected result step by step. No you have to create a few xml files, Controllers, Actions, Model, ModelResource and so on. So you end up with many new files, before you can test your work of the last hour.
Of course in most cases something does not work, because of something in a xml file is wrong. So you see an endless spinner for example. No error, no help.
Ok, so after a lot of frustration and many “WHY” I got my listing done.
After that I started to develop the form.
First of all, why I have to do that? Why the framework is not doing that for me by default? Why I have to implement the functionality to edit an entry of a listing? I created already Model and ModelResources and so on, so there is everything that need to be known.
Then there are this buttons that you can define in the toolbar. I see in existing modules, that this Buttons are defined in own classes. This causes to have a lot of duplicate code, that is very bad.
Why not having just buttons that you can reuse, like the back button or the save button. Why I have to define them from scratch for myself? I expect from a framework, that things like this are already implemented. I would understand if you need a special behavior, that you can implement this. But there should be a default behavior.
I can point a few more examples, but this were the things that annoying me most.
I hope some of you can tell me, that I did things wrong, and that I missed some sources like Tutorials or Documentations and Reusable Code.