aemsling-models

WCM use class can be used wherever we can use sling models.Which one should be preferred and why?


If given an option to use Sling Models or WCM use class which one should be preferred when and why?

Is either of them better performance wise?

Thanks in Advance


Solution

  • Sling models are saving you a lot of time for accessing simple objects as the current page/resource, injecting some properties or services, adapting from resource or sling http request to your model. Sure with the use the plain API your code will execute a little bit faster, because you initialize only the objects you really need, but you have to do all that things "manually". I think that this sightly introduction is giving a good overview of all possible implementation you can go with. You can also have a look at the sightly official documentation. Below you can find a quick overview of the what you can expect and hopefully make your decision easier (quoted from the offical sightly documentation).

    Java Use Provider

    Advantages Use-objects provided through bundles:

    Use-objects backed by Resources:

    Disadvantages Use-objects provided through bundles:

    Use-objects backed by Resources:

    Sling Models Use Provider

    Advantages

    Disadvantages

    If you ask me I would always take a framework as sling models or slice which makes the development easier and faster. At the end the performance impact by using a framework is not really a problem, would be not the only one third party framework in the project. But if your project is performance oriented probably you could make some tests with all possibilities you have and decide if such a framework suits your needs (or just mix both).