App-Entwicklung in allen Facetten.
Ihre kompetente App-Agentur.
Unternehmen müssen heutzutage schneller und agiler denn je sein. Nachhaltiger Erfolg setzt jedoch voraus, dass Sie spezifische Geschäftsprozesse digitalisieren, anstatt nur zu versuchen, Ihre digitalen Prozesse im Allgemeinen zu modernisieren. Die richtige Strategie ermöglicht die schnelle und skalierbare Entwicklung von Web-Anwendungen und mobilen Apps und gibt Ihnen die volle Kontrolle über die Digital Experience Ihrer User.
Unser Team verfügt über umfangreiche Erfahrung in der Entwicklung performanter Software-Anwendungen für verschiedene Devices. Auf Basis diverser Tech-Stacks können wir bei sitegeist wahlweise das gesamte Produktteam stellen oder uns nahtlos in Ihre bestehenden Teams und Strukturen integrieren, um Sie bei der Konzeption und Umsetzung von folgenden Applikationen für Browser, iOS und Android auf allen Endgeräten zu unterstützen:
- browserbasierte Webapps
- hybride Apps (Ionic)
- cross-platform Apps (React Native, Flutter)
- Progressive Web-Apps (PWAs)
- oder native Apps für iOS und Android
In einem ersten Kick-Off Workshop analysieren wir, welches Problem mit Hilfe der zu erstellenden App gelöst werden soll. Wir stellen sicher, dass wir für Sie eine Lösung schaffen, die so schnell wie möglich einen echten Nutzen und Mehrwert bringt.
Wir helfen Ihnen bei der Digitalisierung von Prozessen, beraten Sie strategisch bei ihrer digitalen Ausrichtung, setzen die dafür erforderlichen Applikationen mit Ihnen um und unterstützen Sie bei der Vermarktung.
So gehen wir bei der Entwicklung Ihrer App vor
Planung
Analyse Ihrer Anforderungen
Im Kick-Off Workshop analysieren wir das Problem, welches die App lösen soll. Das stellen sicher, dass die Lösung schnell einen echten Mehrwert erbringt.
Konzeption der App
Gemeinsam mit Ihnen erarbeiten wir die Vision Ihrer App: Zielgruppen definieren, Kernfunktionalitäten festlegen, Umfang des Projekts abstecken. Das schafft ein solides Fundament für die zielführende Umsetzung der App.
Gemeinsame Bewertung der Rentabilität und Machbarkeit
Wir bewerten zusammen mit Ihnen die wirtschaftliche Tragfähigkeit des Konzepts. Dabei berücksichtigen wir Marktanalysen, potenzielle Kosten und erwartete Renditen. Schließlich soll die App wertschöpfend sein.
Umsetzung
UX/UI Design mit Wireframes
Unser Design-Team entwickelt zunächst Wireframes, die als visuelle Grundlage für die Struktur der App dienen. Diese Phase ist entscheidend, um eine intuitive Benutzerführung und ein ansprechendes Design zu gewährleisten.
Erstellung von Prototypen und MVPs (Minimal Valuable Products)
So testen wir frühzeitig wichtige Funktionen und sammeln wertvolles Feedback von Endnutzern. Diese agile Herangehensweise ermöglicht es uns, das Produkt iterativ zu verbessern um ohne Umwege zu einem funktionierenden Produkt zu kommen.
Technische Umsetzung von App und serverseitigen Microservices
Jetzt wird es ernst: Eine erste funktionierende Version Ihrer App wird erschaffen.
Launch und Betrieb
Distribution in den App Stores (Apple Store und Google Play)
Unser Service umfasst die gesamte Abwicklung der Veröffentlichung Ihrer App. Wir sorgen für die Einhaltung spezifischer Richtlinien, erstellen ansprechenden App-Beschreibungen und wählen geeignete Keywords.
Betrieb der App
Nach dem Launch übernehmen wir auf Wunsch den laufenden Betrieb Ihrer App. Dazu gehört die Überwachung der Systemperformance, das Durchführen von Updates und die Gewährleistung der Sicherheit.
Application Management
Dies beinhaltet u. a. das Monitoring von Nutzerfeedback und die fortlaufende Optimierung der App mit dem Ziel, die Langlebigkeit und den fortwährenden Erfolg Ihrer App sicherzustellen.
FAQs und Infos zu Apps
Eine Web App ist eine Art von Anwendungssoftware, die auf einem Server gehostet und betrieben wird und auf die der Nutzer mittels Webbrowser zugreifen kann.
Web Apps benötigen keine Installation. Sie basieren auf Webstandards wie HTML, CSS und Javascript, so dass sie auf beliebigen Endgeräten unabhängig von deren Betriebssystem genutzt werden können.
Im Unterschied zu einer Website kann der User in einer Webapplikation auch Daten verändern. Die Nutzung einer Web App ist in der Regel nur nach einer Anmeldung möglich.
Mobile Web-Apps können nicht in App Stores veröffentlicht werden. Aus diesem Grund gibt es sog. Website-in-App Konverter, die aus einer mobilen Web App eine native App machen. In dieser nativen App ist eine Browser-Komponente enthalten, die die Inhalte der Web App anzeigt. Im Apple Store dürfen solche konvertierten Anwendungen jedoch nicht mehr veröffentlicht werden, da sie keinen Mehrwert gegenüber den zugrundeliegenden Web Apps bieten und damit einen Verstoß gegen die Nutzungsrichtlinien von Apple darstellen.
PWA steht für Progressive Web Application. PWAs verbinden die Vorteile aus einer Website mit denen einer App: Sie können wie jede normale Website im Browser aufgerufen werden und lassen sich darüber hinaus auch ohne den Umweg über einen App-Store lokal installieren.
Die Entwicklung einer Progressive Web App ist von allen Varianten der Entwicklung einer App am preisgünstigsten. Wie bei einer Website gibt es nur eine zentrale Codebasis und daraus resultiert der geringste Programmieraufwand für die verschiedensten Geräte und Betriebssysteme. Darüber hinaus erspart man sich den nicht unerheblichen Aufwand für die Distribution und Veröffentlichung seiner App in den verschiedenen App-Stores.
Dieser Vorteil kann aber gleichzeitig auch ein Nachteil sein: eine PWA kann nicht im App Store vermarktet werden, sondern statt dessen muss sie z.B. auf der eigenen Unternehmens-Website verlinkt und dort zum Download angeboten werden. Der zusätzliche Vermarktungskanal der App Stores entfällt damit und viele Nutzer wissen bis heute nicht, dass sich Anwendungen (PWAs) auch außerhalb von App Stores auf ihrem Smartphone installieren lassen.
PWAs können auf Smartphones, Tablets oder Desktops installieren werden und funktionieren, einmal installiert, danach auch offline.
Mittlerweile können viele Funktionen wie Offline-Fähigkeit (Funktionsfähigkeit ohne aktive Internetverbindung), Hintergrundprozesse, Zugriff auf Geräte-Funktionen wie Kamera und Sensoren oder die Verwendung von Push-Nachrichten (bisher nur in Android), die früher nativen Apps vorbehalten waren, auch mit PWAs umgesetzt werden. Gerade Apple behandelte die Bereitstellung neuer Funktionen für PWAs im Safari-Browser für mobile Geräte jedoch oft etwas stiefmütterlich und viele Möglichkeiten der PWAs stehen erst in neueren Versionen ihres Betriebssystems iOS zur Verfügung.
In-App-Käufe, die über den App Store abgewickelt werden, sind naturgemäß in einer PWA nicht möglich, da diese nicht über einen App Store vertrieben werden. Kaufprozesse müssten statt dessen selbst mit einem passenden E-Commerce-Framework und geeigneten Zahlungsanbietern umgesetzt werden. Dafür fallen dann aber auch keinerlei Provisionen für die App Store Betreiber an.
Updates der App können sehr einfach durchgeführt werden, indem eine neue Version auf dem Server ausgerollt wird, die automatisch von allen installierten Clients heruntergeladen wird.
Das ist aber gerade bei Applikationen im Unternehmenseinsatz, z.B. für Außendienstmitarbeiter, überhaupt kein Problem, denn diesen kann man genaue Anweisungen geben, wie sie die Anwendungen zu installieren haben. Hier spielt eine PWA wieder ihren großen Vorteil der problemlosen serverseitigen Updatefähigkeit aus.
Native Apps werden speziell für ein Betriebssystem entwickelt. In der Regel spricht man bei nativen Apps von Anwendungen, die entweder für Apples Betriebssystem iOS oder für Googles Betriebssystem Android entwickelt wurden. Auch für das Windows Phone können Apps mit C#, Silverlight oder XNA erstellt werden.
Native Apps sind von der Performance und Benutzererfahrung her allen anderen App-Technologien überlegen, da sie immer auch für ihr Betriebssystem optimiert sind. Sie sind aber auch am komplexesten umzusetzen und am damit teuersten, da für jedes Betriebssystem eine separate Codebasis erstellt werden muss und spezialisierte Experten für die jeweiligen Betriebssysteme die Programmierung übernehmen müssen.
Bei Anwendungen für das iPhone mit dem Betriebssystem iOS wird Apples Entwicklungsumgebung xCode genutzt und die App in der Programmiersprache Objective-C/Cocoa erstellt.
Anwendungen für Googles Betriebssystem Android werden mit Java erstellt, genutzt wird dafür normalerweise die Entwicklungsumgebung Android Studio von Google.
Sobald eine App für mehrere Betriebssysteme umgesetzt werden soll, wird die Entwicklung als native App im Vergleich zu den anderen App Technologien aufwändiger und teuerer, denn durch die verschiedenen Programmiersprachen können praktisch keine Programmteile für mehrere Betriebssysteme wiederverwendet werden und man hat praktisch für jedes System den selben Entwicklungsaufwand.
Dafür kann man in einer nativen App aber auf sämtliche Sensoren und Funktionen des Geräts zugreifen und kann Apps im Look & Feel der originalen Apps des jeweiligen Betriebssystems erstellen, die nicht nur "so aussehen wie", sondern sich exakt so verhalten wie die im Betriebssystem enthaltenen Apps.
Besonders bei komplexen Anforderungen an eine App, die eine besonders hohe Performance und die Nutzung vieler Funktionen des Geräts verlangen, wird man auf die native Entwicklung zurückgreifen.
Für einen Großteil der Applikationen, gerade im B2B-Bereich, ist aber vermutlich die Umsetzung mittels hybrider oder compilierter App der kosteneffizientere und schnellere Weg, die App auf vielen Betriebssystemen auszurollen.
Die eigentliche Funktionalität der App wird bei hybriden App auf Basis von Webtechnologien, d.h. Javascript, CSS3, WebGL und HTML umgesetzt.
Bei hybriden Apps gibt es für alle Betriebssysteme eine einzige gemeinsame Codebasis und die App ist lauffähig auf iOS, Android, Windows und auf Wunsch auch im Browser auf einem gewöhnlichen PC oder Notebook mit Windows, macOS oder einem Linux-Betriebssystem.
Mit der Umsetzung als hybride App kann man also effektiv Kosten sparen und die Entwicklungszeiten drastisch reduzieren.
Zur Umsetzung hybrider Apps werden Frameworks wie Ionic, Apache Cordova und PhoneGap genutzt. Diese Frameworks ermöglichen auch den Zugriff auf zahlreiche Gerätesensoren wie Kamera, GPS-Modul zur Standortbestimmung usw.
Technologisch erstellen diese Frameworks eine native App als Gerüst um eine Webview, innerhalb derer die eigentliche Anwendung läuft. Die Webview kann man sich wie einen Browser vorstellen, der innerhalb der Anwendung läuft. Die UI-Elemente der Anwendung werden mit Webtechnologien erstellt und simulieren je nach Framework die UI-Elemente, die vom Betriebssystem zur Verfügung gestellt werden. Sie sind aber aufgrund des technologischen Überbaus niemals so schnell und reaktiv wie die nativen UI-Elemente.
Innerhalb dieser Webview werden viele, aber nicht alle Funktionen der neuesten marktführenden mobilen Browser wie Safari, Chrome und Firefox unterstützt. So ist beispielsweise die Implementierung eines Videochats auf Basis von webRTC nicht ohne weiteres innerhalb einer Webview zu realisieren, da nicht alle Webviews diesen Standard unterstützen.
Aktualisierungen der App müssen über die App Stores erfolgen.
Eine hybride App stellt die kostengünstigste und in der Regel schnellste Lösung für eine plattformübergreifende Lösung mit Veröffentlichung in den Stores dar, die sogar als Web App auf dem Desktop genutzt werden kann. Für Apps, bei denen es sehr auf Performance ankommt, ist dieser technologische Ansatz in der Regel aber nicht geeignet.
Statt mit Webtechnologien wie HTML 5 lassen sich plattformunabhängige Apps auch mit eigenen Frameworks wie React Native von Facebook, Flutter von Google oder Xamarin von Microsoft umsetzen. In diesen Frameworks wird eine gemeinsame Codebasis in einer einheitlichen Programmiersprache für alle Plattformen geschrieben und diese werden vom Framework dann automatisch zu nativem, plattformabhängigem Code übersetzt.
Die daraus resultierenden Apps sind plattformunabhängig, fühlen sich aber wie native Apps an.
Bei React Native wird als Programmiersprache Javascript verwendet, so dass die Entwicklung von Apps mit diesem Framework auch für diejenigen Entwickler vertraut anfühlt, die üblicherweise Websites in Verbindung mit React erstellen.
Flutter hingegen verwendet eine eigene Programmiersprache mit dem Namen Dart, die ausschließlich in Flutter Verwendung findet.
Das von Microsoft entwickelte Framework Xamarin ermöglicht die Erstellung von plattformunabhängigen Apps mit der Programmiersprache C# und dem .NET Framework, das Entwicklern der Microsoft Welt geläufig ist.
Diese Frameworks ermöglichen es auch, auf einen Großteil der nativen Features wie Push-Nachrichten und GPS Lokalisierung zuzugreifen, so dass sich die damit erstellten Anwendungen kaum von nativen Apps unterscheiden und gerade auf modernen, leistungsfähigen Smartphones fühlen sich die Cross-Platform-Apps auch ähnlich schnell und performant an.
Unzählig viele Funktionalitäten lassen sich durch Einbindung von Plugins und Bibliotheken nutzen. Im Falle von Updates der Betriebssysteme der unterstützten Plattformen können hier auch Anpassungen notwendig werden und es kann zeitweise zu Inkompatibilitäten kommen. Von daher sollte man darauf achten, dass eine ausreichend große Entwickler-Community mit hoher Aktivität hinter den eingesetzten Bibliotheken steht.
Mit diesen Frameworks ist es mit gewissen Einschränkungen auch möglich, eine Variante als PWA für die Nutzung im Browser zu generieren. Die Tücke steckt hier oft im Detail und man kann sagen, dass die automatische Generierung für viele verschiedene Plattformen umso schwieriger wird, je komplexer und individueller die UI-Komponenten werden, die man in seiner App verwenden möchte.
Cross Platform Apps lassen sich für mehr als eine Plattform schneller entwickeln als native Apps. Daher eignen sich Cross Platform Apps auch besonders gut, um Prototypen zu erstellen und schnell und kontinuierlich sichtbare und wertschöpfende Ergebnisse zu liefern oder einen Proof-of-Concept zu liefern.
Auch bezüglich des Betriebs und der Wartung sind Cross Platform Apps meistens günstiger als native Apps.
Unsere technische Expertise
Für uns entscheidend sind Ihre Anforderungen und wie wir die bestmöglich umsetzen können. Dabei können wir aus einem breiten Fundus von Open Source Frameworks und Technologien und Plattformen der Marktführer schöpfen, um die für Ihr Projekt am besten geeigneten Tools auszuwählen.