November 1, 2023
13
MIN Lesezeit

Kosten & Prozess bei der Shopify App Entwicklung

Inhaltsverzeichnis

  1. Was sind Shopify Apps?
  2. Custom App vs. Public App
  3. Entwicklungsprozess von Shopify Apps
  4. Kosten
  5. Fazit

Was sind Shopify Apps?

Apps erlauben Shopify Benutzern, ihren Shopify Online-Shop um weitere Funktionen zu erweitern. Es gibt tausende Apps für verschiedene Bereiche eines Webshops wie etwa Designelemente für das Frontend oder Arbeitserleichterungen, -automatisierungen und Integrationen zu anderer Software im Backend.

Wir haben ausgiebige Erfahrung in der Entwicklung von Shopify Apps – sowohl durch unsere eigenen Apps im Shopify App Store, als auch durch Projekte mit unseren Kunden. In diesem Blogartikel teilen wir unsere Erfahrung und beschäftigen wir uns damit, was es bedeutet eine Shopify App zu entwickeln und welche Aufwände und Kosten dabei auf Sie zukommen.

App vs. Plugin

Für andere Shopsystem ist die Bezeichnung “Plugin” gebräuchlicher als der Begriff einer “App”. Shopify Apps unterscheiden sich aber nicht nur ihren Namen von Plugins. Im Gegensatz zu Plugins werden Shopify Apps nicht in einem einzelnen Webshop fest installiert. Stattdessen dient die App als externer Cloud-Service, der über eine Programmierschnittstelle (API) mit Shopify kommuniziert.

Das klingt zunächst einmal sehr ähnlich, hat in der Praxis aber erhebliche Auswirkungen auf die grundsätzliche Funktionsweise einer App. Im Gegensatz zu einem Plugin wird eine App beim App-Anbieter gehostet und derselbe (Cloud-)Server bedient i. d. R. alle Nutzer der App. So kann es keine Probleme aufgrund von verschiedenen Versionsnummern oder Update-Prozesse geben.

Shopify Apps  können nur über den Shopify App Store angeboten werden, es gibt keine alternativen Vertriebsmöglichkeiten. Für die Zulassung zu App Store ist ein Review durch Shopify nötig, in dem die App aus Anwendersicht getestet wird. Die einzige Ausnahme von dieser Regel bieten Custom Apps, die nur Zugriff auf einen einzigen Shopify Store erhalten (dazu weiter unten mehr).

Verantwortung als App Anbieter

Auf der anderen Seite muss eine App permanent vom App-Anbieter gewartet werden. Das bedeutet insbesondere auf die regelmäßigen Updates der Shopify-Plattform mit eigenen Updates der App zu reagieren. Außerdem muss der App-Anbieter sicherstellen, dass seine App mit sehr hohen Lastspitzen der Shops seiner Kunden klarkommt.

Sollte ein App-Anbieter den Betrieb einstellen oder es versäumen, Änderungen umzusetzen, ist die App auf einen Schlag für sämtliche Kunden nicht mehr verfügbar. D. h. es gibt in diesem Szenario auch keine Alternative wie etwa den Weiterbetrieb einer alten Version wie es oft bei Plugins der Fall ist.

App-Anbieter verarbeiten die Daten ihrer Kunden und besitzen auch sehr sicherheitskritische Informationen, wie etwa Tokens, mit denen ein Shop in gewissen Rahmen ferngesteuert werden kann. Da App-Anbieter die Tokens aller ihrer Kunden meist zentral speichern, sind entsprechende Sicherheitsmaßnahmen und laufende Updates diesbezüglich unabdingbar.

Der Fakt, dass die Entwicklung einer Shopify App also nie wirklich abgeschlossen ist und eine permanente Weiterarbeit und Wartung erforderlich ist, zwingt App Anbieter dazu monatliche Abonnements anstatt Einzelkäufe als Vertriebsform zu wählen. Nur so können sie – eine entsprechend große Kundenbasis vorausgesetzt – die laufend anfallenden Aufwände der App finanzieren.

Custom App vs. Public App

Shopify stellt für die Erstellung einer App zwei Betriebsmodi zur Verfügung: Custom Apps und Public Apps. Nur Public Apps können im Shopify App Store angeboten werden.

Custom Apps

Custom Apps sind für den Betrieb mit einem einzelnen Shopify Online Shop vorgesehen. In der Regel geht es hierbei um individuelle, von einer Agentur oder einem Shopify Freelancer erstellte Funktionen. Oft sind individuelle Schnittstellen zu ERP-Systemen oder anderen Datenpunkten, die keine Shopify App für den App Store bereitstellen. Auch individuelle Entwicklungsprojekte wie etwa ein aufwendiger Bundle-Builder oder ein detailliertes Dashboard für Kunden sind übliche Beispiele für eine Custom App.

Custom Apps funktionieren technisch ähnlich wie Public Apps. Sie können sich optional ebenfalls über einen recht aufwendigen oAuth Prozess gegenüber dem Webshop und der Shopify Plattform authentifizieren und sehr viele und komplexe Daten speichern und verarbeiten.

Sie können aber auch den oAuth Prozess umgehen, indem sie mit einem einmalig generierten Token arbeiten. Das erlaubt eine erhebliche Verkürzung des Authentifizierungsprozess.

Da eine Custom App für lediglich einen Shop funktioniert, kann sie nicht im Shopify App Store angeboten werden.

Hinweis: Bis zum Januar 2022 gab es neben “Custom Apps” noch “Private Apps”, denen ein Betrieb ohne oAuth vorbehalten war. Shopify ermöglicht seit Februar 2022 nicht mehr die Entwicklung neuer Private Apps, dafür sind Custom Apps nun auch ohne oAuth erstellbar.

Public Apps

Public Apps funktionieren technisch sehr ähnlich wie Custom Apps, dürfen aber Zugriff auf beliebig viele Shopify Onlineshops erhalten. Dies führt zu Entwicklungsaufwänden, die bei Public Apps erheblich höher sind als bei Custom Apps.

Der Hintergrund ist, dass Public Apps ggf. rund um die Uhr tausende von Shopify Händlern technisch unterstützen müssen, was wesentlich höhere Anforderungen an Skalierbarkeit, Fehlerfreiheit und Sicherheit darstellt. Im Vergleich müssen Custom Apps mit nur einem Händler lediglich ein Bruchteil dieser Anforderungen erfüllen.

Im Gegenzug dürfen Public Apps auch im Shopify App Store angeboten werden. Vor der Einreichung müssen sie einen Review-Prozess von Shopify durchlaufen und werden dabei von Shopify aus Anwendersicht getestet.

Entwicklungsprozess von Shopify Apps

Die Entwicklung einer App für Shopify ist in den meisten Fällen deutlich komplexer als die Entwicklung eines Plugins für andere Shopsysteme.

Das liegt daran, dass Shopify Apps cloudbasierte SaaS-Anwendungen sind, die regelmäßig gewartet werden und für tausende Händler rund um die Uhr zur Verfügung stehen müssen.

Auch der Authentifizierungsprozess gegenüber Shopify sowie die Integration von Datenbanken für verschiedene Zwecke wie das Speichern sicherheitskritischer Daten fallen in dieser Form bei Plugins für andere Shopsysteme nur äußerst selten an.

Und auch bei Custom App und Private App unterscheiden sich die Entwicklungsprozesse deutlich, da diese für verschiedene Einsatzszenarien entwickelt werden.

Nachfolgend beschreiben wir den Prozess, den wir bei Especial bei der Entwicklung von Apps befolgen. Wir werden auch insbesondere auf die jeweiligen Mehraufwände für Public Apps eingehen.

Schritt 1: Planung & UX Design

Sowohl Custom Apps als auch Public Apps erfordern eine entsprechende Planungsphase, in der die Anforderungen erfasst und in einen entsprechenden Lösungsansatz überführt werden. Hier findet auch meist die Erstellung eines UX Designs statt, bei der Designer mit Wireframes das zukünftige User-Interface sowie die Abläufe innerhalb der App skizzieren.

Mehraufwand bei Public Apps: Public Apps erzeugen bei der Planung deutlich Mehraufwand. Neben den funktionalen Anforderungen müssen bei Public Apps auch Themen beachtet werden, die im Zusammenhang mit dem Multi-Benutzer-System stehen. Dazu zählen beispielsweise Login- (Startbildschirm), Registrierungs- und Zahlungsabwicklung.

Auch die Unterstützung von verschiedenen Themes und die Wechselwirkungen mit anderen Apps müssen beachtet werden, da Public Apps von jedem Shopify User installiert werden können. Daher steht die zukünftige Anwendungsumgebung im Gegensatz zur Custom App nicht eindeutig fest.

Schritt 2: Visual Design

Im Visual Design Prozessschritt werden die Wireframes aus der Planung in vollumfängliche Designdateien und Prototypen für Desktop, Tablet und Smartphone übersetzt.

Wenn Sie möchten, dass Ihre App möglichst nativ aussieht, können Sie hier auch einfach Shopify Polaris, die Grundlage für das Shopify eigene Admin Design, zurückgreifen.

Mehraufwand bei Public Apps: Da Public Apps im App Store gelistet werden, sind zusätzliche Assets wie z. B. ein App-Icon und Werbegrafiken nötig. Außerdem benötigt eine App ein stärkeres Branding, wenn Sie im Apps Store herausstechen soll. D. h. im Design Prozess muss stärker auf ein einheitliches und ästhetisches Design gesetzt werden. Dies ist entgegengesetzt zu dem Fall einer Custom App, da diese meist mit einem sehr funktionalen Design ohne jegliches Branding auskommt.

Schritt 3: Programmierung

Nachdem Planungs- und Designphasen abgeschlossen sind, kann mit der Programmierung der Shopify App begonnen werden. Wie hoch hierbei die Aufwände sind, kommt sehr auf die individuelle App und ihren Funktionsumfang an. Gewisse Funktionalitäten wie Registrierung und Authentifizierung, die für Shopify Apps stets nötig sind, fallen jedoch immer und abhängig vom Komplexitätsgrad und Anforderungskatalog der App an.

Das führt dazu, dass der Anteil des Aufwands für sehr einfache Apps oft hauptsächlich in der obligatorischen Technik für Shopify Apps anfällt. Für komplexe Apps hingegen stellt die Kernfunktionalität den größten Teil der Arbeit dar.

Mehraufwand bei Public Apps: Für Public Apps ergeben sich hohe Mehraufwände in der Programmierung. Kernfunktionen müssen beispielsweise so strukturiert werden, dass sie mit möglichst vielen Shopify Shops funktionieren. Dazu zählen die diversen Themes und Kompatibilität mit anderen Apps.

Auch die Softwarearchitektur muss für Public Apps anders gedacht werden: Es müssen auch Datenspeicher und komplexe, automatisierte Registrierungs-, Zahlungs- und Authentifizierungsverfahren für eine größere Nutzerbasis implementiert werden. Im Falle einer Custom App können diese im Vergleich sehr einfach ausfallen, da sie eben nur für einen Nutzer/Store funktionieren muss oder sogar gar kein oAuth als Authentifizierungsprozess implementieren müssen.

Die Einbettung verschiedener Zahlungsmodelle sind ebenfalls Public Apps vorbehalten und können relativ viel Arbeit erfordern.

Schritt 4: Testing & QA (Qualitätssicherung)

Testing & QA finden größtenteils während der Programmierung statt. Dennoch ist es uns wichtig, die Unterschiede zwischen einer Custom und einer Public App in einem eigenen Abschnitt ausreichend für Testing & QA zu beleuchten.

Im Testing & QA werden automatisierte und manuelle Tests der App durchgeführt, um etwaige Probleme aufzudecken, bevor Sie im Live Betrieb auftreten. Üblicherweise werden Testszenarios für die wichtigsten Funktionen einer App erstellt und anschließend die Funktionsweise von QA Engineers und automatisierten Tests für verschiedene Anwendungsszenarien überprüft.

Testing & QA sind ein sehr weites Feld innerhalb der Softwareentwicklung. Es ist möglich, äußerst viele Ressourcen in das Testing selbst kleinster Apps zu investieren. Daher ist es wichtig, im Projekt das richtige Maß zu finden – man spricht dabei oft von der “Testabdeckung”, die in Prozent angegeben wird.

Mehraufwand bei Public Apps: Apps für den Shopify App Store müssen deutlich intensiver und vollumfänglicher als Custom Apps getestet werden. Nicht nur gibt es deutlich mehr Testszenarios aufgrund verschiedener Konfigurationen der verschiedenen Shopify Stores. Es gibt auch deutlich mehr Wechselwirkungen mit verschiedenen Themes und Apps, die beachtet werden müssen.

Zudem kann man sich bei einer im Shopify App Store veröffentlichten App schlichtweg weniger Fehler leisten, da kein direkter, beidseitiger Kommunikationskanal mit den Nutzern besteht. Über alle Shops hinweg gesehen muss eine App ggf. sehr hohe Lastspitzen von zehntausenden bis Millionen von gleichzeitigen Shopbesuchern handhaben. Dies erfordert eine entsprechend ausgeklügelte Infrastruktur.

Dies alles führt zu deutlich längeren und intensiveren Tests & QA Prozessen.

Schritt 5: Shopify Listing & Reviewprozess (nur Public Apps)

Nachdem die Arbeiten an der ersten Version der App abgeschlossen wurden, kann sie im Falle einer Custom App direkt in einem einzelnen Shopify Store installiert werden.

Im Fall von Public Apps, die auf dem Shopify App Marketplace angeboten werden sollen, ist der Ablauf anders:

Listing: Zuerst muss ein Listing, mit Bildern, Screenshots und Werbetexten, für den App Store erstellt werden – ggf. in verschiedenen Sprachen. Zudem empfiehlt es sich, Bedienungsanleitungen und ein Supportcenter für die zukünftigen Nutzer zu erstellen. App Anbieter bieten Interessenten auch oft Werbevideos ihrer Shopify App an.

Review: Ist das Listing einsatzbereit, muss die Public App an für ein Review übermittelt werden. Dabei testet eine Mitarbeiterin von Shopify die App aus der Perspektive eines Anwenders. Das heißt, die Review-Mitarbeiterin bei Shopify wird den Code und entsprechende Sicherheitssysteme nicht überprüfen, sondern bewertet die App ausschließlich aus der Sicht eines zukünftigen Users.

Feature Requests: Das führt dazu, dass App Reviewerinnen auch oft Verbesserungsvorschläge für die App haben und auf die Implementierung dieser Verbesserungsvorschläge bestehen, bevor die App für den App Store freigegeben wird.

Dies führt zu einem geänderten Anforderungskatalog und es müssen neue Designs erstellt werden sowie der Programmierungs- und Testingprozess erneut für die neuen Features durchlaufen werden.

Aus unserer Erfahrung können die Feature-Wünsche der App Reviewer oft recht umfangreich sein. Wir wurden beispielsweise schon dazu aufgefordert eine komplette Analytics & Reporting Komponente inkl. CSV-Export von Daten in die App zu integrieren, obwohl dieses Feature nie von uns geplant war.

Schritt 6: Support & Wartung

Ist die App einmal in Betrieb, startet die Phase der permanenten Wartung und Supports. Im Fall von Custom Apps geht es meist nur um Änderungen am Code, wenn Shopify Änderungen an ihrer Plattform und APIs vornehmen. Dies geschieht sehr häufig und Shopify gibt Entwicklern in der Regel 12 Monate Zeit neue Anforderungen umzusetzen. Je nach technischem Aufbau der App können diese technischen Änderungen an der Shopify App innerhalb weniger Stunden erledigt sein oder benötigen mehrere Tage oder gar Wochen Entwicklungsaufwand.

Mehraufwand bei Public Apps: Im Fall von Public Apps müssen nicht nur technische Updates vorgenommen werden, die im Fall von Public Apps oft auch deutlich komplexer umzusetzen sind. Public Apps benötigen stetigen Support durch den App-Anbieter, da es trotz intensiven Testings sehr üblich ist, dass eine App Probleme oder Funktionseinschränkungen in bestimmten Shopify Shops hat. Dies ist meistens durch das individuelle Setup eines Shopify Händlers begründet. Beispielsweise können diese unzählige andere Apps installiert haben, die sich negativ auswirken, indem sie beispielsweise bestimmte Funktionen der App überschreiben. Oder sie nutzen ein sehr exotisches Theme, für das die App entsprechend angepasst werden muss.

Regelmäßig gibt es jedoch auch Support-Anfragen von Nutzern, die eine Fehlfunktion der App nur vermuten, in der Praxis jedoch andere Faktoren wie eine Fehlbedienung oder falsche Einstellungen des Shops das Problem verursachen. Hier entsteht dann dennoch Support-Aufwand, um das Problem zu klären.

Kosten

Wie Sie sehen, hängen die Kosten einer App neben der Kernfunktionalität vor allem davon ab, ob es sich um eine Custom App für einen Shopify User oder um eine Public App für den App Store handelt.

Um Ihnen eine ungefähre Vorstellung von dem Kostenunterschied zwischen Public und Custom App zu vermitteln, haben wir hier ein Beispiel vorbereitet.

Die App in diesem Beispiel hat eine relative einfache Kernfunktion. Z. B. das Einblenden eines dynamischen Popups im Shop der App-User.

In der Summe entstehen in unserem Beispiel etwa 10 Tage Arbeit für eine Custom App, während die Public App für den gleichen Kernfunktionsumfang etwa 6 Wochen Arbeit bedeutet. Bei einem Stundensatz von 100 € ergeben sich hierbei Kosten von etwa 8.000 € für die Custom App und etwa 24.000 € für die Public App.

Überdies ist der Support und die Wartung für die Custom App auf jährlicher Basis mit 12 Tagen deutlich geringer als 60 Tage bei der Public App. Die Werte für Support & Wartung basieren auf unserer eigenen Erfahrung von Apps mit mehreren hunderten Usern im Shopify App Store. Hierbei entfallen viele Stunden auf Support-Arbeiten, die meistens nicht von Entwicklern, sondern Support-Mitarbeitern mit deutlich geringeren Stundensatz übernommen werden.

Fazit

Die Entwicklung einer Shopify App ist kein simples Unterfangen. Sie sollten sich stets bewusst sein, dass Sie eine SaaS-Software entwickeln, die im Fall von Shopify auch gut skalieren muss. Dies bedeutet, dass der Entwicklungsprozess sehr professionell ablaufen sollte, um sinnvolle Ergebnisse zu erzielen.

Die Entscheidung, ob Sie eine Custom App oder eine Public App benötigen, ergibt sich von allein aus der Frage, ob die App allen Shopify Usern oder nur einem einzigen zur Verfügung stehen soll. Die Kosten resultieren ebenfalls aus dieser Entscheidung.

Tipps:
  • Planen Sie mit einer Beta-Phase, um die App unter Live-Bedingungen zu testen und zu verbessern. Sie können im Fall von Shopify Apps ihr Listing auf “unsichtbar stellen”. Dadurch ist die App nur für Personen installierbar, die von Ihnen den Link erhalten.
  • Oft ist es auch ein guter Ansatz, ein neues Konzept erst als Custom App zu testen und bei Erfolg dann in eine Public App umzuwandeln. In der Summe ergibt sich dadurch ein leicht höherer Aufwand als wenn Sie direkt eine Public App entwickeln, sie können aber ihre App-Idee zunächst validieren.
  • Überstürzten Sie nicht die Planungs- und Designphase. Das Auslassen oder starke Verkürzen bestimmter Prozessschritte mag anfangs für ein subjektiv gutes Gefühl sorgen, da subjektiv schnell Fortschritte erzielt werden. Tatsächlich bauen Sie jedoch Technical Debt (technische Schulden) auf, deren Lösung Sie später erheblich mehr Zeit und Geld kosten wird.
  • Die Konkurrenz auf dem Shopify App Store ist inzwischen sehr hart. Denken Sie auch über etwaige Marketing-Möglichkeiten nach und beschäftigen Sie sich mit App Store SEO, um ihre Sichtbarkeit zu erhöhen. Ihre App sollte auch eindeutige USPs besitzen, wenn Sie sich in Konkurrenz mit großen Apps begeben möchten.

Daniel Kolb
Product Manager
October 3, 2024
13
MIN READ

Wir freuen uns auf Ihre Nachricht. Schicken Sie uns gerne eine E-Mail an hello@especial.digital

By filling in your email, you agree to our Privacy Policy.
Danke, dass du dich gemeldet hast.
Wir werden uns in Kürze bei Ihnen melden!
Hoppla! Es sieht so aus, als ob beim Absenden Ihres Formulars ein Problem aufgetreten ist.