Extensibility model
API Only
-
Webhooks. You can subscribe to more than a hundred events to receive data from Saleor.
-
API extensions. Enable behavior customization, for example, calculating shipping costs based on the package dimensions. Learn more
-
Dashboard extensions. Extend admin functionality using any front-end stack embeddable into iframes.
-
Granular permission control. Granular permissions for access tokens.
-
GraphQL oriented. Provide GraphQL queries to shape the data provided via Webhooks.
Why not plugin architecture?
The plugin architecture is popular among open-source projects; classic examples would be Magento or Shopify. Such a model has direct coupling with the platform, which can be convenient to get started quickly but can also lead to many issues.
Benefits of decoupled architecture:
-
Technology agnostic. Technology stack freedom allows you to pick the best tool for the job and access a larger talent pool.
-
Improved security. Tight coupling increases security risks whereas decoupled architectures reduce the attack surface.
-
Independent deployment. You can deploy your microservices independently.
-
Reliability. Less risk of degrading performance or bringing the whole system down.
-
Scalability. You can allocate resources more efficiently for your services.
-
Cross team collaboration. Decoupled architectures allow teams to collaborate more effectively compared to plugins that create dependencies between teams and projects.
-
Open Standards. Using GraphQL means tapping into a larger ecosystem of tools and communities as opposed to limited, proprietary SDKs.
-
Debugging. Decoupled architectures make distinguishing platform issues from those caused by your own application more straightforward.