Monday, May 2, 2022

Difference between Shopware App and Shopware Plugin

 Shopware has released Starter and Professional Edition as cloud-hosted software, which has opened up a plethora of new possibilities. These cloud-based solutions can address a new range of customers and open up new opportunities for merchants to gain additional revenue. It is also true for merchants, agencies, freelancers, developers, and any one part of the Shopware community.

This article will let you know how we can leverage these opportunities in the future. Start developing Shopware apps and become a part of the biggest revolution in the Shopware ecosystem. Let’s start with knowing about Shopware apps.


What is a Shopware app?

Instead of directly going to the How and Why we must know what a Shopware App is. These are the main characteristics of a Shopware app:

·         Apps are activated in your Shopware store instead of installing them like Shopware plugins.

·         An app runs separately from the Shopware installation mostly on a different server

·         An app utilize Events, Webhooks, and the REST API to interact with Shopware

There are multiple implications of these characteristics, which also require some explanation. Let's go through them one by one.

Installation:

To utilize the functionality of an App in Shopware, it needs to know when and with which server to communicate. A manifest file makes it possible. This file contains descriptive data for the App and events definitions by which URLs are called in the App. The manifest file and other essential files are then uploaded to the Shopware account from where the cloud users and self-hosted merchants can purchase, install or use the App.

Hosting

Hosting your App seems very exciting, but it isn't actually. There are templates offered by Shopware from where you can start the development and hosting of your Apps. It is currently trying to partner with the service provider platforms to simplify the hosting task of your App.

In Shopware, now you can use any language to develop your App.  You can use Nodejs, Typescript, or any other. You are no longer restricted to the PHP language. These apps are hosted outside of a Shopware installation.

Apps are usable in the cloud product and the self-hosted/on-premise version of Shopware. But there are no worries, plugins are still usable in a self-hosted environment.

Communication:

Apps are hosted outside of Shopware so they can't access the Shopware source code directly. There are benefits as well as drawbacks of this thing. As we mentioned, Shopware provides Events. If an event occurs, it calls a URL and the App (providing Webhooks for Shopware) communicates with it. An example of such an Event is ITEM_ADDED_TO_BASKET. In this event, Shopware calls the defined URL of this Event along with the data. The App will receive its data, execute the logic, and then depending upon the event type it will call a Webhook.

The Webhook will report it back to the Shopware installation. If required, the App will be able to use the Shopware API and can change the frontend appearance or the admin appearance as well. E.g. you can add a new button in the storefront or display content from your App inside an iFrame in the  Shopware administration.

Difference between Shopware Plugins and Apps:

You must have understood the concept of the Shopware apps, now let’s know their limitations. There is only one limitation and that depends on what you want to achieve: Apps don't have access to the Shopware core.

Plugins give you the superpower of Symfony Bundles at your fingertips. You can create functionality that alters or even replaces Shopware behaviour in radical ways. Apps can improve and enrich the Shopware core but can't change its inner workings. Before Shopware app technology, the commonly used plugins could change Shopware behaviour but a lot of this is possible through the new App system. This is possible because of the powerful API that comes with Shopware 6.

Advantages of Using Apps:

Since Shopware ecosystem is centred around a self-hosted e-commerce system and plugins, then why Apps are important? Well, there are many benefits of the Shopware apps.

Reach to a bigger audience:

Shopware cloud can attract new businesses and enable existing online businesses to set up new stores or projects which were earlier impossible. The cloud product market, especially with a push to new markets in the foreign section, is far beyond what is currently possible. The cloud product accessibility can draw in new merchants and the existing merchants can whip up new projects.

After the release of Shopware 6 and especially Shopware 6 as a backend in the cloud, you can start thinking out of the box. This system can now run headless and can do much more than a traditional online store.

Being a part of the Shopware community, you can freely focus on your creativity and next-level idea in not only improving the UX in Shopware installation but also on creating & implementing new solutions which can fit with the evolving e-commerce market.

Although we have already mentioned this briefly, it is an important fact you should know about Apps: Apps are available in every Shopware 6 installation. This technology is not limited to cloud-only. You are creating extensions by creating  Apps for every Shopware 6 user regardless of they use Shopware cloud or self-hosted installation.

Full Insight:

While developing apps, you will get a huge level of insight. As the apps run on the server, you can know what features are essential, and what to eliminate. You will get detailed usage statistics on your Apps and can fine-tune your business model that wasn't earlier possible using a Shopware plugin. Since Apps can also work in self-hosted environments, you can include data from those projects in your optimizations.

The capability of the Apps:

Apps capabilities increase over time and the first version will not be the final stage of evolution. Instead, it is a base on which further developments will be made. This base is able of the most common tasks which are achieved by plugins.

A few examples are: Extending the frontend with new functionality, adding forms in the admin, or adding custom data to the database via custom fields.

Since the App system is like a solid base to work with, there are capabilities or events in Shopware.

Apps and Themes:

Sometimes during the extension of the functionality of your Shopware store through Apps, you may want to change the look of the store. And for this, there are Theme extensions in the app. These themes run in the Shopware installation and don't need to be hosted by you. In short, if you just want to change the appearance of your Shopware store without adding any new functionality, you can create an App without hosting anything.

Since a Theme doesn't require a backend and Apps can be used in both Cloud and self-hosted stores, you should always implement Themes as Apps. In this manner, you can extend your buying audience without any extra effort.

When to create a Plugin?

After knowing so much about the new App system, of course, there will be certain scenarios when a plugin would be the only way to implement a particular functionality. And there is a huge plethora of customers who always want to use a self-hosted version. If it is possible then first opt for an App however, if a plugin is necessary then go for it. There will be certain limitations in the initial phase of the app but they will be overcome in the later stages.


How to publish an App?

Apps or Themes are distributed through the Community Store and the soon-to-come App and Theme Store inside the Shopware Admin is planned.

You can upload the Apps through the Shopware Account.

Quality Guidelines:

It is important to know the Quality Guidelines before publishing an App. If you have already published plugins in the Community Store earlier, you can understand the Guidelines of Shopware Quality. The Plugins quality, Themes, and Apps are highly important. That's why extensions are published if they meet the Quality Guidelines and in the case of traditional plugins passing the code review.

Wrapping Up:

Whether self-hosted or cloud-hosted, Shopware and the App system provide new opportunities for all of us. At Emizentech, the best Shopware development company we can develop Apps that can be the next major evolution of the  Shopware ecosystem. Together, as a community, we will be able to pull this off and build what will become legendary in the future.