vanilophp / framework

The truly Laravel E-commerce Framework
https://vanilo.io
MIT License
810 stars 102 forks source link

[Q] Why does Vanilo use Concord? #37

Closed jhm-ciberman closed 5 years ago

jhm-ciberman commented 5 years ago

I started to use this package but I don't find any explanation on why it's built on top of concord ugly module system.

The default Laravel extensions system is organized enough, and I think using concord module system only desviates Vanilo from his original objective that is to be "Simple & truly Laravel". For example, AppShell JS & Sass resources are inside the VENDOR directory without compiling. This makes difficult to unit test and add CI because you need not only to compile your custom assets but also the vendor assets on each CI pipeline. So, there is no separation of concerns for "frontend"(npm) and "backend"(composer) because the AppShell frontend resources are inside the composer vendor directory.

The laravel documentation states clearly how public assets should be handled: https://laravel.com/docs/5.8/packages#public-assets And the concord system is not handling this well. Also, it's not offering anything that cannot be done with plain PHP.

So, I think using concord is lowering the quality of vanilo and the separation of concerns. And also adding a lot of dependencies that does not add anything useful. (Yes, I know AppShell is based on corcord, but it can be easily rewrited in plain Laravel)

So, my final question is.. why does Vanilo use Concord?

fulopattila122 commented 5 years ago

If I have to mention to most important thing Concord does, that's this: https://artkonekt.github.io/concord/#/models

When Vanilo and Concord were created, Laravel didn't have all the facilities for packages it does today. After Vanilo release v1.0 (this month), we plan to simplify Concord in order to make it more like any other Laravel package. But that'll be a BC so it's out of the scope at the moment.