Code Monkey home page Code Monkey logo

sliceslingmodel's Introduction

Slice versus Sling Models - Comparison

Slice – https://cognifide.atlassian.net/wiki/display/SLICE, current version is 4.1 (AEM6.*-compliant) Sling Models - http://sling.apache.org/documentation/bundles/models.html, current version is 1.0.4, out-of-the-box bundle from AEM, tightly coupled to AEM release.

Comparison Table.

Feature Slice Sling Models

Map JCR Primitives Yes Yes Map JCR Multi Properties Yes Yes Map Enumerated Type (from String property) Yes No Map Direct Child Model Yes Yes Map Collection of Child Models Yes No, will be in 1.2.0? Map Referenced (via path) Model Yes No Map Current Resource Yes Yes Map Current Page Yes No, will be in 1.2.0? Map SlingHttpServletRequest Yes No, will be in 1.2.0? Map ResourceResolver Yes No, will be in 1.2.0? Post Construct Method Yes Yes OSGI Standard (OOB) Service Yes Yes OSGI Custom Service Yes Yes Map Child Model via its interface No No Map Inheritable Property Yes (custom code) Yes (custom pretty ugly code required due to lack of custom annotations) Custom Annotations Yes, via Guice No, will be in 1.0.6 Programmatic injection (using framework API) Yes No, will be in 1.2.0? @Via and @Source annotations No Yes @Escape annotation Yes No

Deployment complexity 4 bundles None AEM compliance 3rd party bundle. Native bundle. Tightly coupled with certain AEM release (1.0.4 for AEM60 SP1) Ease of Use Yes Yes Framework Extensibility Easy/Medium Easy/Medium

Slice and Sling Models CAN be used in one AEM application if correctly split into different bundles.

Conclusion.

Current AEM version (6.0 with SP1) contains Sling Models v1.0.4 which lacks many useful features and loses the battle with Slice. Some of these features can be obtained by adding third-party bundles and writing custom code, but it’s yet another layer of complexity. Since version 1.2.0 Sling Models will become a good alternative for Slice and potentially can even beat it because it is a native Sling framework which comes OOB and is being very actively developed. Nowadays it is still on the early stages of maturity.

I consider Slice to be a preferred framework with prevailing proven features. I also recommend returning to this comparison once AEM includes Sling Models 1.2.*

sliceslingmodel's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.