fresh generation applikationen

Im Allgemeinen kann eine App, kurz für Applikation, jede Art von Anwendung sein und gehört zur Software. Diese lässt sich nicht von der Hardware, den physischen Bestandteilen eines Computers oder anderen Gerätes, trennen und wird darauf ausgeführt. Einfach gesagt: Eine App funktioniert wie eine Software und benötigt, damit Diese funktioniert ein Betriebssystem.

fresh generation applikationen artikelbild

Unterschiede von Applokationen

Dektop Anwendungen (Apps): Text-, Foto-, Audio- und Videobearbeitungsprogramme sowie Mediaplayer, die auf einem PC laufen, gehören unter anderem zu den Desktop-Anwendungen. Diese sind zum Teil bereits auf dem Gerät vorinstalliert oder können separat heruntergeladen werden.

Mobile APPs: Sprechen wir von Apps, sind zumeist mobile Apps gemeint, welche auf Mobilgeräten wie Smartphones, Tablets und “smarten” Geräten wie Smart TVs oder Autos mit integrierter Software ausgeführt werden.

Web-APPs: Vor allem in den letzten Jahren haben sich sogenannte Web-Applications durchgesetzt. Diese sind für die Benutzung im Browser ausgelegt und erfordern kein manuelles Herunterladen oder eine Installation, sondern werden lediglich im Cache des Browsers zwischengespeichert. Anders als Desktop-Anwendungen können Web-Apps nur eingeschränkt auf die Gerätehardware zugreifen. Zum Teil ist eine Benutzung von beispielsweise einem Mikrofon oder einer Webcam nach einer Bestätigung möglich, für die weitere Benutzung fehlen jedoch meistens Schnittstellen.

Beispiele für Web-Apps sind Mailing- und Messenger-Dienste, Navigationsdienste und Online Games. Auch ursprüngliche Desktop-Anwendungen wie unter anderem Microsoft Word werden immer mehr online im Browser genutzt. Dies geht mit einem Trend zur Geräte- und Rechnerunabhängigkeit und einer stärkeren Nutzung der Cloud einher.

Die Geschichte von APPs

Entgegen der Annahme, dass Smartphones auf eine noch junge Geschichte zurückblicken, kam das erste Touchscreen-Telefon bereits im Jahre 1993 auf den Markt: Der IBM Simon war im Grunde ein Taschencomputer und hatte sogar eine E-Mail-Funktion. Im Jahre 1999 folgte dann das erste Blackberry 850 des Unternehmens Research In Motion mit einer physischen Computer-Tastatur.

Die Smartphone-Welle wurde schließlich 2007 mit dem ersten iPhone von Apple ausgelöst. Dieses besaß verschiedene Apps, die allerdings vorinstalliert waren. Ein Jahr später erfolgte die Einführung des App Stores, mit dem es erstmalig möglich war, Apps über einen zentralen Store, also eine Art Management-Umgebung, herunterzuladen. Zuvor mussten Installationsdateien einzeln im Internet gesucht werden, wobei die Quellen nur schwer überprüfbar waren. 2008 erschien das erste Smartphone mit dem Google-Betriebssystem Android von den Herstellern HTC und T-Mobile, welches kostengünstiger als das iPhone war. Langsam entwickelte es sich vom Nischenprodukt zu einem massenkompatiblen Trendgerät.

Ursprünglich waren die ersten Mobilgeräte weitestgehend einheitlich: Sie enthielten Wecker, Taschenrechner oder E-Mail-Programme als Apps. Da diese aber bereits werkseitig enthalten waren, waren diese nur wenig individuell. Der Durchbruch gelang schließlich mit der Weiterentwicklung der Hardware und Apps kamen durch den App Store im Mainstream an.

Mobiltelefone wurden durch herunterladbare Apps erstmals individualisierbar und ihre Nutzbarkeit nahezu unbegrenzt erweiterbar. Durch sie ist es möglich, sie um unzählige Funktionen zu erweitern, welche den exakten Wünschen und Bedürfnissen von Nutzern entsprechen.

Entwicklung von Andoid Apps

Android ist ein Betriebssystem, welches 2003 von Andy Rubin entwickelt und 2005 von Google aufgekauft wurde. Ursprünglich war es als Software für Digitalkameras vorgesehen, wird aber heute vor allem für Mobiltelefone und Smart TVs verschiedenster Hersteller verwendet. In Bezug auf das Nutzererlebnis gilt Android als sehr simples und zugängliches Betriebssystem.

Der App-Download erfolgt über den Google Playstore. Android verfügt über eine zugehörige Laufzeitumgebung, Android Runtime (ART), und die integrierte Entwicklungsumgebung Android Studio, welches von JetBrains entwickelt wurde, die für nahezu alle Sprachen eine hochprofessionelle, aber kostenpflichtige IDE (Integrated Development Environment) anbieten, wie beispielsweise PhpStorm, WebStorm oder GoLand.

Android App Entwickler verwenden Programmiersprachen wie Java, Kotlin, C und C++. Über das Entwicklungsframework Xamarin ist auch die Verwendung von C# möglich. Bei der App-Entwicklung für Android wird entweder von vorherein Java benutzt oder dahingehend kompiliert. Java ist weit verbreitet und findet viel Anwendung, dadurch, dass jedoch viele unterschiedliche Geräte verschiedene Android-Versionen benutzen und die Hard- und Softwareentwicklung nicht aus einer Hand geschieht, ist die Funktionalität der entwickelten Apps nur schwer zu überblicken und kontrollierbar.

Entwicklung von IOs Apps

iOS, wobei das i ein Markenkennzeichen ist und OS für Operating System (Betriebssystem) steht, wurde von Apple entwickelt und wird nur für Apple-Geräte benutzt. Zusammen mit watchOS und tvOS ermöglicht es den Betrieb von iPhones und iPads, Apple Watches und Apple TVs.

Der Download von Apps ist über den App Store möglich. Für die App-Entwicklung kann die integrierte Entwicklungsumgebung XCode verwendet werden, die allerdings nur für den Mac erhältlich ist, weshalb Entwickler einen Mac benötigen, um entwickelte Apps zu kompilieren.

Übliche Programmiersprachen für die Entwicklung von iOS Apps sind Swift und Objective-C, welche beide über das Framework Cocoa verwendet werden. Objective-C ist die ältere der beiden Sprachen, wird aber nach wie vor benutzt. Swift ist seit etwa 2013 auf dem Markt und gilt als schneller und performativer. Eine Kompilierung der Apps erfolgt direkt in Maschinencode. Auch C und C++ können für die App-Entwicklung verwendet werden, über Umwege sind auch Java, Ruby und andere verwendbar. Da Swift und Objective-C nur für iOS ausgelegt sind, ist es unter Entwicklern weniger verbreitet als beispielsweise Java, dafür wird für weniger Geräte, nämlich ausschließlich Apple-Geräte, aber damit auch gezielter programmiert und die Ergebnisse sind leichter zu überprüfen.

Das User Interface von iOS Apps zeichnet sich meist durch eine minimalistische und elegante Benutzeroberfläche aus. Beim Nutzererlebnis steht vor allem eine hohe Konnektivität mit der Hardware und anderen Geräten des Apple-Universums im Vordergrund.

Entwicklung von Windows APPs

Windows ist ursprünglich als Betriebssystem für Desktop-Computer bekannt. Für das Windows Phone, welches mittlerweile bereits wieder eingestellt wurde, kam allerdings das gleichnamige Betriebssystem auf den Markt.

Entwickelt wurde es von Microsoft und die Apps sind dementsprechend im Microsoft Store erhältlich. Das zugehörige Entwicklungs-Tool ist Visual Studio, welches neben Apps auch die Entwicklung von Desktop-Anwendungen oder Web-Apps erlaubt. Lange Zeit gab es Windows Runtime, seit Windows 10 wurde dieses aber durch UWP, die Universal Windows Platform, als Laufzeitumgebung abgelöst. Die gängigsten Programmiersprachen sind neben C++ und C# auch JavaScript und Microsoft Visual Basic. Durch die Kongruenz der Entwicklung für Desktop- oder Web-Anwendungen und die hohe Zugänglichkeit von Visual Studio gilt.

Auch für Nutzer gilt die Verwendung von Windows Apps als sehr PC-nah und erinnert statt an ein Smartphone eher an einen Pocket-PC.

Native APPs

Mobile Apps lassen sich in nativ und hybrid aufteilen. Eine App ist nativ, sobald sie individuell für eine spezifische Plattform wie iOS, in dem Fall z.B. mithilfe von Swift, oder Android, z.B. mit Java, entwickelt wird. So liegt für jede Plattform eine App vor, die von Grund auf dafür entwickelt wurde.

Native Apps können in der Regel über die zugehörigen App Stores heruntergeladen und auf den entsprechenden Geräten installiert werden. Bei der Verwendung greifen sie gelegentlich auf die Gerätehardware, wie beispielsweise die Kamera, zu.

Da der Code von nativen Apps exakt auf das Betriebssystem zugeschnitten ist, bedeutet dies zwar eine aufwändigere und zeitintensivere Entwicklung, da dieselbe App für unterschiedliche Betriebssysteme mehrmals programmiert werden muss. Dies ist aber von Vorteil für die Usability, was automatisch eine Nutzerbindung und eine häufigere Verwendung der App nach sich zieht.

Heute werden nur noch selten unterschiedliche Apps für die verschiedenen Betriebssysteme gebaut. In den meisten Fällen wird auf Entwicklungsframeworks wie Xamarin, React Native oder Flutter zurückgegriffen, die eine plattformübergreifende Entwicklung ermöglichen. Beim Entwicklungsprozess wird dabei eine einheitliche Programmiersprache für mehrere Plattformen verwendet, beispielsweise JavaSript, die hinterher in den jeweiligen nativen Code kompiliert wird. Sollte der Code Elemente enthalten, die nicht übersetzt werden können, werden diese mithilfe von Schnittstellen zu JavaScript implementiert.

Hybride Apps

Hyride Apps galten als die Lösung, Apps nicht mehr getrennt für die jeweiligen Betriebssysteme zu entwickeln, bevor aktuelle Cross-OS-Technologien zum Einsatz kamen. Über eine Art Web-Container, in dem eine Website ausgeführt wird, sind sie auf verschiedensten Geräten lauffähig, auch wenn sie ursprünglich nur für ein Betriebssystem entwickelt wurden. Dabei kommen übliche Web-Technologien wie HTML, CSS und JavaScript sowie Frameworks wie Cordova, Ionic und Phonegap zum Einsatz. Ursprünglich ging dies auf Kosten der Usability, da die App dann nicht auf die nativen Elemente zurückgreift, mittlerweile sind die Technologien hier aber so weit fortgeschritten, dass ein Unterschied zwischen einer nativen und einer hybriden App bei der Benutzung kaum mehr spürbar ist. Für Entwickler hat dies zusätzlich den Vorteil, dass es die App-Entwicklung immens beschleunigt.
Webseiten im mit Mobile-Version (App Alternative)

Eine Möglichkeit ist es, zusätzlich zur Desktop-Version einer Website eine separate mobile Version zu erstellen, die ausschließlich auf mobilen Endgeräten läuft. Das Layout und Design werden für einen Display im Hochkant-Format übersetzt und Funktionen entsprechend angepasst. Dieses Verfahren war vor allem in den Anfängen von Smartphones üblich und war meist verbunden mit einer Anzeige der Desktop-Version mit einem Link zur “mobil-optimierten” Version. Sie benötigen eine konstante Internetverbindung und sind eher für die einmalige Verwendung oder Informationsbeschaffung von unterwegs ausgelegt.

Der große Nachteil dieses Vorgehens ist, dass zwei eigenständige Internetseiten betreut und gepflegt werden müssen. Zudem ist mit einer mobilen Version nicht garantiert, dass sie für alle Displaygrößen korrekt angezeigt wird. Auf alle Eventualitäten in Sachen Displaygröße vorbereitet zu sein, hieße eine Vielzahl an unterschiedlichen Mobilversionen zu entwickeln, was schlichtweg ein zu hoher administrativer Aufwand wäre.

Responsive Design (App Alternative)

Um den hohen Aufwand von mobilen Websites zu umgehen, bietet sich Responsive Webdesign an. Dabei wird eine bestehende Website neu aufgesetzt oder dahingehend optimiert, dass das Layout entsprechend auf die jeweilige Displaygröße oder die Interaktion durch Nutzer mit einer automatischen Verschiebung und Neuanordnung der Elemente reagiert.

Das Neuaufsetzen einer Website zur Implementierung eines responsiven Designs erfordert in den meisten Fällen einen deutlich geringeren Entwicklungsaufwand als eine Optimierung. Selbst bei der Neuentwicklung zugunsten des Layouts ist das Backend nicht berührt, da nur die Darstellung betroffen ist.

Durchgesetzt hat sich diese Methode durch das Aufkommen von Frontend-Frameworks wie Twitter Bootstrap oder Zurb Foundation und ist mittlerweile zum Industriestandard geworden. Dies ist auf die Vielzahl der heute verfügbaren unterschiedlichen Displaygrößen zurückzuführen, die es aber auch nötig machen, das entwickelte Responsive Design auf möglichst vielen unterschiedlichen Bildschirmen zu testen. Während es bisher ausreichend war, die Website auf einem oder zwei zusätzlichen Endgeräten zu testen, können es heute bis zu zehn sein. Die Einbindung von Bildern und Videos sollte genau durchdacht sein, da das Aufrufen von Inhalten von unterwegs meist mit einem eingeschränkten Datenvolumen einhergeht. Auch Websites mit responsivem Design benötigen eine konstante Internetverbindung – anders als Apps.

APP Entwicklung lohnt sich!

Die dritte Möglichkeit, die eigenen Inhalte auch für Mobilgeräte verfügbar zu machen, ist eine zugehörige, aber eigenständige App zur Website zu erstellen. Mit dem Aufkommen von Responsive Webdesign wurde ein Rückgang der Nutzung von Apps erwartet, da dies die optimale Lösung darstellte, wenn die Zielsetzung eine Websiteoptimierung für die mobile Nutzung war, zumal die App-Entwicklung einen höheren Entwicklungsaufwand beinhaltet. Diese Entwicklung blieb jedoch aus und das Gegenteil trat ein: Die Nutzung von Apps ist in den letzten Jahren sogar gestiegen und wird auch in Zukunft fortbestehen.

Eine App bietet neben der optimierten Anzeige nämlich den zusätzlichen Vorteil, über zusätzliche Funktionen zu verfügen, die direkt zur Nutzerinteraktion animieren können. Wer ein Produkt oder eine Dienstleistung anbietet, kann dies über eine App zusätzlich bewerben oder sogar durch eine Onlineshop-App vertreiben oder die Dienstleistung abwickeln (z.B. Kundenanfragen) oder gar digital ausführen. Denkbar sind auch Übersetzungen eines Produktes oder einer Dienstleistung in App-typische Dienste, wie z.B. aus einer Website zur Ernährungsberatung ein Spiel als App zu entwerfen oder Ähnliches. Dadurch kann das eigene Angebot erweitert, besser zugänglich gemacht und neue Zielgruppen erschlossen werden.

Weitere Vorteile sind die positive Auswirkung auf das Benutzungserlebnis auf den Geräten, da eine App, anders als im Falle des Responsive Designs, für genau dieses Gerät entwickelt und darauf zugeschnitten wurde. Außerdem ist sie auch offline verfügbar und schont damit das Datenvolumen, vor allem, wenn Datentransaktionen auf einen späteren Zeitpunkt verlegt werden können, wenn wieder eine Datenverbindung hergestellt ist.

Die App-Erstellung bringt auch Nachteile mit sich. Neben einem höheren Entwicklungsaufwand gilt zusätzlich zu bedenken, dass Apps über separate Infrastrukturen verfügen und Webtechnologien in der Regel nicht einsetzbar sind. Im Vorfeld sollte darüber hinaus eine Cross-Platform-Entwicklung in Betracht gezogen werden, welche auf unterschiedliche Weise erfolgen kann (siehe Native und Hybrid Apps, Verlinkung nach oben?), um die App auf möglichst vielen Geräten und Betriebssystemen zur Verfügung stellen zu können.

Doch die Entscheidung muss gar nicht auf die eine oder die andere Lösung fallen. Erfahrungsgemäß hat es sich gerade bei größeren Projekten durchgesetzt, sowohl eine Website mit Responsive Design als auch eine zusätzliche App zu haben.

Kosten einer App

Die Kosten für die App-Entwicklung sind nicht pauschal zu nennen. Die App-Entwicklung ist Teil der Softwareentwicklung und ist aufgrund der Komplexität meist ein teureres Unterfangen als die Webentwicklung. Gerade Start-ups, die eine innovative Idee für eine App, jedoch nur ein geringes Budget haben, sollten über Fördermittel, Investoren, Venture Capital oder Business Angels als Finanzierungsmodell für ihr Startup nachdenken. Junge Gründer im IT-Bereich haben jedoch meist nicht nur ein Interesse daran, die Kosten für die App-Entwicklung möglichst gering zu halten, sondern auch wertvolle Kontakte zu knüpfen, Kooperationen einzugehen und einen IT-Partner für die technische Seite zu finden, der die App-Entwicklung kostengünstig übernehmen kann. Jedoch sollte es dabei möglichst nicht auf Kosten der Qualität gehen: Qualität ist schließlich nicht kostenlos. Deshalb bietet es sich an, nach einer Webagentur oder einer Software Agentur zu suchen, die qualitativ hochwertige Arbeit und gleichzeitig innovative Finanzierungsmöglichkeiten bietet.

Um es zu verdeutlichen: Eine APP ist eine sehr kostspielige Sache und beginnt mind. ab 100 - 1000 Arbeitsstunden. Diese können Sie mit einem Stundensatz zwischen 145 und 180 CHF hochrechnen.

Benötigen Sie Beratung oder Unterstützung bezüglich der Entwicklung Ihrer eigenen APP? Nehmen Sie jederzeit mit uns Kontakt auf. Gerne unterstützen wir Sie bei der Umsetzung Ihrer ersten Applikation.