[Question] Project vs application (multi vs single)
andyklimczak opened this issue · 2 comments
Hey, quick question, in the readme of this project it says:
This project could be used to start developing application based on AEM.
To start developing project based on AEM it is recommended to use Gradle AEM Multi instead.
I'm just wondering what your definition, use-case, and differences of application based on AEM
and project based on AEM
are?
Thanks a ton!
yep, it could be more precise.
in case of project, I mean an AEM application with usually more than one bundle, with content structure. All of these required to develop a website. After going live, the structure of gradle-aem-multi helps with then reinstalling only app assembly package, because reinstalling full assembly (full package composed from all modules like app/* and content/* will cause that content made by authors on production will be overridden / deleted. So that gradle-aem-multi helps with delivering AEM based projects for long term.
in case of application and gradle-aem-single, it is just most simple example of usage Gradle AEM Plugin. you could use it to develop AEM libraries, tools like Groovy Console, APM, AEM Easy Content Upgrade and so on which are generally reinstallable at any time (they are not including content). of course you could also use it for websites development, but after some time, the project structure with single package containing also content could be problematic and let's say a little bit too less future proof.
Gradle AEM Multi gives a lot of flexibility. Any subpackage could be reinstalled, not whole application always reinstalled. Also creating any assembly package with any content we want does not need to restructure the code, but only to write some ifs in aemCompose
task and controlling what need to be included.
Sorry for not replying after I asked, thank you for your answer. I really appreciate it!