Grundlagen der App-Entwicklung
Posted by Julia Werner •
App-Entwicklung & Programmierung
Apps verbinden Menschen, fördern den Dialog, bieten Mehrwerte für Kunden, Partner und Auftraggeber oder verbessern interne Abläufe. Wir bieten hervorragendes Design, eine freundliche und intuitive Nutzerführung, skalierbaren und eleganten Quellcode sowie die anschließende Vermarktung der App. Dafür sorgt unser eingespieltes Team aus Konzeptern, Gestaltern, Entwicklern und Online-Marketing-Experten. Durch agiles Projektmangement setzen wir auch komplexe Projekte qualitativ hochwertig und planungssicher um.
Gerne beraten wir bereits in der Ausarbeitung der Idee, feilen an Benutzungsszenarien, prüfen Machbarkeiten oder entwickeln Test-Prototypen für ein bestmögliches Endergebnis. Wir gestalten dabei unsere Entwicklungsprozesse so, dass Projekte auch mit mehreren Entwicklern oder größeren Teams umgesetzt werden können. Alle Entwicklungsstände protokollieren und versionieren wir mit dem Branchenstandard ‚Git‘. Zudem beraten wir beim Aufbau von schneller, sicherer sowie skalierbarer Infrastruktur und implementieren Instrumente zur Messung von Erfolgen und Nutzung. Für die Anschließende Vermarktung der App entwickeln wir eine passende Web- oder Landingpage und platzieren die Anwendung in den App-Stores.
Mobile App erstellen lassen
Native App Entwicklung wird immer dann angewandt, wenn die Anforderungen sehr komplex sind. Nativ entwickelt man Projekte, die beispielsweise besondere Hardware Komponenten beinhalten oder bestimmte native SDKs (Drittanbieter-Lösungen). Ein gutes Beispiel hierfür ist z.B. unser Projekt "Presenta". Hier wurde eine App entwickelt, welche auf verschiedene native Funktionen der Phone-Kamera zurückgreifen muss. Die native App-Entwicklung gibt es sowohl für iOS als auch für Android. Vorteile der nativen Entwicklung So gut wie alles ist umsetzbar
Sehr gute Performance
Die App kann in den App Stores veröffentlicht werden Nachteile der nativen App Entwicklung Beide Plattformen (iOS- und Android) müssen individuell entwickelt werden.
Höhere Support Kosten
Hohe Entwicklungskosten
Eine Hybride App ist im engeren Sinne eine Browser-Anwendung in einer nativen Hülle, also eine Webseite, die in einen nativen Container gepackt wurde, um sie als App auf einem mobilen Endgerät bereitstellen zu können. Die Web-App wird einmal entwickelt und in einem nativen Container als hybride App für das jeweilige Betriebssystem “exportiert”. Verwendete Frameworks für eine hybride App Entwicklung sind PhoneGap oder Apache Cordova Vorteile hybrider Apps Zeit- und Kostenersparnis in der initialen Entwicklung, aber auch in der Wartung.
Einmalige Webseite Entwickelung
Direkt für iOS und Android als hybride App exportierbar. Nachteile hybrider Apps Schwächere Performance und Kompromisse in der User Experience.
Dass der Benutzer meist individuelle Web-Komponenten in der App nutzt und nicht die gewohnten nativen Elemente
Eine Web-App ist eine vollständig Browser basierte Anwendung. Sie wird über den Browser aufgerufen und nutzt ausschliesslich Webtechnologien wie JavaScript. Die Web-App ist für die Nutzung mobiler Endgeräte optimiert und kann somit überall und plattformunabhängig über einen Browser aufgerufen werden. Da Browser immer mehr Funktionen mobiler Betriebssysteme zugänglich machen (GPS etc.) und das Internet immer schneller wird, schwinden die Nachteile einer Web-App zunehmend. Vorteile einer Web-App Der grösste Vorteil einer Web-App ist, dass sie auf bewährte Web-Technologien und bewährte JavaScript-Frameworks aufbaut
Ersparnis der doppelten Entwicklungskosten für mehrere Betriebssysteme
Erschliessung aller Nutzer über einen üblichen Browser Nachteile von Web-Apps Zwingender Internetzugang da die Apps nicht offline funktionieren
Kann nicht im App Store veröffentlichen werden
Die App läuft ausschliesslich im Browser und nicht nativ auf einem mobilen Betriebssystem
Grundlagen der App-Entwicklung
Mobil, hybrid oder fürs Web Grundlagen der App-Entwicklung
Ob Mobile-, Web- oder Multi-Plattform-App, die Entwicklung kleiner Anwendungen ist keine Zauberei. Bevor eine App in Auftrag gegeben wird, sind aber einige wichtige Voraussetzungen zu klären. Denn App ist nicht gleich App – und die Begrifflichkeiten sollten klar sein.
Vor dem Beauftragen einer App sollte genau überlegt werden, auf welchen Systemen und mit welchen Funktionen die App eigentlich arbeiten soll. (Bild gemeinfrei: geralt -
Mal eben schnell eine App programmieren? Das kann sehr einfach sein: Gerade beim Einsatz von freien Entwicklern ist das relativ schnell und kostengünstig machbar. Und auch In-house-Programmierung ist kein Problem, wenn man nur die richtigen Leute hat.
Bei der Planung von Apps für Smartphone, Tablet, Mac und Windows-PC allerdings müssen vorab einige Grundlagen beachtet und einige Dinge geklärt werden. Denn App-Entwicklung ist zwar keine Zauberei – aber eben auch kein Kinderspiel. Je solider die Basis, desto einfacher ist es später, neue Systeme oder Modelle zu unterstützen oder die App auf eine komplett neue Betriebssystem-Basis zu stellen.
Welche Inhalte sollen ausgeliefert werden?
In erster Instanz sollte geklärt werden, welche Inhalte mit der App ausgeliefert werden sollen. Zuvorderst steht hier die Frage, um was für eine Art von Software es sich überhaupt handelt. Während komplexe Programme – etwa Spiele oder systemnahe Tools – in aller Regel vergleichsweise aufwändig zu portieren sind, gibt es natürlich auch reihenweise Apps, die bis auf wenige APIs des Systems primär eine angepasste Version der eigenen Website verwenden.
Viele Social-Media-Services wie Facebook und Twitter besitzen solche Apps, auch die diversen Shopping-Plattformen arbeiten mit dieser Art „einfacher“ App, auch wenn sie im Grunde nur etwas bessere Web Apps darstellen: Die eigentliche App ist kaum mehr als ein angepasster Browser, in dem die Inhalte ausschließlich eines Anbieters ausgeliefert werden.
Diese sogenannten Hybrid-Apps sind einfach zu programmieren und leicht portierbar; schließlich ist der Kern der Entwicklung, die Erstellung der nativen App, bereits durch die Entwicklungsumgebungen des Mobilsystems in Form des jeweiligen Browsers erfolgt. Entwickler können dabei auf die bereits im System implementierten Funktionen von Safari (Mac/iOS), Webview und Chrome (Android) oder Edge (Windows 10) zugreifen.
Der Entwicklungsaufwand besteht primär in der Anpassung der Website, womit sich der Entwicklungsaufwand für die eigentliche App in Grenzen hält. Gleichzeitig ist man aber durch seine Anwendung in den App-Marktplätzen vertreten und kann diese auch aktiv bewerben.
Die Vor- und Nachteile von nativen Apps bedenken
Diese Art der Hybrid-App ist natürlich nicht immer ideal. Wenn die App zum Beispiel sehr viele Systemfunktionen benötigt, dabei aber nur wenige Infos ausliefert, empfiehlt sich fast immer der Einsatz einer nativen Mobile-App. Diese wird von Grund auf in der jeweiligen Programmiersprache oder dem Software Development Kit (SDK) der jeweiligen Plattform entwickelt.
Unter MacOS und iOS ist das zum Beispiel die kostenlose Programmierumgebung XCode von Apple, mit der Android-SDK bietet Google eine entsprechende Software für Mobilgeräte mit dem hauseigenen Android-System an. Microsoft macht es Entwicklern mit dem Software Development Kit für Windows 10 besonders einfach, denn Apps können mit der gleichen Codebasis für alle Arten von (Microsoft-)Systemen entwickelt werden: Mobile- und Desktop-App entstehen so in einem Abwasch.
Eine native App hat den Vorteil, dass sie nicht auf eine Internetverbindung angewiesen ist, auf zahlreiche systemnahe Programmierschnittstellen im System zugreifen kann und gleichzeitig auch optimal auf der jeweiligen Systemplattform arbeitet. Nachteilig ist der gegenüber Web- und Hybrid-Apps deutlich erhöhte Portierungsaufwand, wenn zum Beispiel parallel für Windows, Android und iOS entwickelt werden soll.
Das ist auch der Grund, warum zum Beispiel derzeit Windows 10 als Smartphone-Betriebssystem immer mehr ins Hintertreffen gerät: Entwickler haben oft keine Lust oder kein Budget, um diese vergleichsweise unwichtige Plattform zu unterstützen. Exoten-Systeme wie Ubuntu-Mobile oder Firefox OS leiden unter den gleichen Problemen.
Web-Apps ohne native Basis
Ein dritter Weg ist der Einsatz von sogenannten Web-Apps: Dabei handelt es sich um Software, die ausschließlich im Browser arbeitet. Meist in HTML5 oder Java gehalten, sind diese Apps weitestgehend unabhängig vom Betriebssystem, auf dem sie laufen sollen. Alles, was benötigt wird, ist ein halbwegs moderner Browser, wie er inzwischen zum Lieferumfang jedes Betriebssystems gehört.
Der Vorteil dieser Lösung liegt auf der Hand: Statt Geld und Arbeitszeit für die Planung und Programmierung nativer Apps aufzuwenden, wird die App einfach als Browser-App angelegt. Dadurch kann sie mit nahezu jedem Betriebssystem arbeiten. Google baut beispielsweise stark auf diese Technik. Zwar setzt der Software-Riese auf iOS, Android und Windows auch native oder hybride Apps ein – die meisten Google-Dienste arbeiten jedoch auch ohne Weiteres im Webbrowser – völlig egal ob unter Windows, MacOS, Linux, iOS, Android oder sonstigen Systemen.
Warum also nicht immer auf Web-Apps setzen? Nun: Web-Apps haben gegenüber nativen und Hybrid-Apps einige handfeste Nachteile. So gestaltet sich der Datenaustausch zwischen Betriebssystem und Web-App oft schwierig und auch der Zugriff auf Systemfunktionen (etwa die iPhone-Kamera) ist normalerweise weitestgehend unterbunden. Zudem sind Web-Apps natürlich auf eine funktionierende Online-Verbindung angewiesen.
Die allerdings ist nach wie vor problematisch. Funklöcher gibt es allerorten, WLAN-Hotspots sind in vielen Hotels immer noch teuer und auf Flugreisen ist meist der Flugmodus vorgeschrieben. In solchen Situationen sind Web-Apps weitestgehend nutzlos.
Auf welchen Geräten sollen die Apps arbeiten?
Ein nicht zu vernachlässigender Vorteil von Web Apps ist die Tatsache, dass die Anwendung serverseitig programmiert und per Stylesheet angepasst werden kann. Statt die zahlreichen Bildschirmauflösungen, die besonders auf Android-Systemen für Darstellungsprobleme sorgen können, nativ zu unterstützen, können Sie die Web-Applikation bequem auf dem Server pflegen und hier Bugfixes vornehmen. App-Updates inklusive der zeitaufwändigen Überprüfungsroutinen in den Apple-, Google- und Microsoft-Stores entfallen.
Vor dem Inauftraggeben einer App sollte dennoch genau überlegt werden, auf welchen Systemen und mit welchen Funktionen die App eigentlich arbeiten soll. Vorab gilt es außerdem zu klären, ob die App kostenpflichtig oder gratis angeboten werden soll. Wenn das eigentliche Produkt ein Online-Service ist, empfiehlt sich der Einsatz einer Web-App in Kombination mit einer Hybrid-App. Ist die App selbst das Produkt, sind native Apps in aller Regel naheliegender, da der Kunde mit der Offline-Nutzung einen Mehrwert erhält, den er gegebenenfalls bezahlt.
Erst wenn alles klar ist, kann es losgehen
Wenn diese drei Fragen – was soll die App ausliefern, wie soll sie arbeiten und wo soll sie funktionieren – geklärt sind, ist es bei der Projektplanung deutlich einfacher, ein präzises Lastenheft zusammenzustellen. Das ermöglicht nicht nur eine effektive Beauftragung eines Entwicklers, sondern hilft auch dabei, explodierende Kosten und übermäßigen Zeitaufwand zu verhindern.
Gerade bei der App-Entwicklung kommt es häufig auf präzise Abgabetermine an, um nicht von der Konkurrenz überflügelt zu werden. Mit anständiger Planung können diese deutlich besser eingehalten werden.
Jetzt Newsletter abonnieren Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps Geschäftliche E-Mail Bitte geben Sie eine gültige E-Mailadresse ein. Abonnieren Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Aufklappen für Details zu Ihrer Einwilligung Stand vom 30.10.2020 Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung. Einwilligung in die Verwendung von Daten zu Werbezwecken Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden. Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden. Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Recht auf Widerruf Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://support.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
(ID:44435517)
Tagged:
Leave a Reply
neueste Artikel
- How to Check The Serial Number...
Buying a huawei watch can sometimes be a dream come true, especially if you have had b... - Synology DiskStation Manager
Der DiskStation Manager (DSM) ist das Betriebssystem für die Network Attached Storage-Systeme (NAS... - SAN vs. NAS: Unterschied ...
„Big Data“ lässt grüßen! Laut einer Studie des Festplatten-Giganten Seagate soll sich der weltweit... - Online Banking Software: 4...
Wer Bankgeschäfte über das Internet erledigen möchte, muss dafür nicht zwingend über die Internets... - Ninite – das wohl nützlic...
System-Tools gibt es wie Sand am Meer. Die meisten versprechen viel und halten wenig. Wirklich gut... - Digitalisierung anpacken:...
Die Corona-Pandemie hat ohne Zweifel einen starken Beitrag zur Digitalisierung kleinerer und mitte...
populäre Artikel
- How to Check The Serial Number...
Buying a huawei watch can sometimes be a dream come true, especially if you have had b... - Synology DiskStation Manager
Der DiskStation Manager (DSM) ist das Betriebssystem für die Network Attached Storage-Systeme (NAS... - Online Banking Software: 4...
Wer Bankgeschäfte über das Internet erledigen möchte, muss dafür nicht zwingend über die Internets... - Einrichten einer lokalen...
Dieser Artikel richtet sich an alle Hobby-Webentwickler, die ihre erstellten Web-Projekte auf dem... - Digitalisierung anpacken:...
Die Corona-Pandemie hat ohne Zweifel einen starken Beitrag zur Digitalisierung kleinerer und mitte...
Lieblingsartikel
- SAN vs. NAS: Unterschied ...
„Big Data“ lässt grüßen! Laut einer Studie des Festplatten-Giganten Seagate soll sich der weltweit... - Online Banking Software: 4...
Wer Bankgeschäfte über das Internet erledigen möchte, muss dafür nicht zwingend über die Internets... - Ninite – das wohl nützlic...
System-Tools gibt es wie Sand am Meer. Die meisten versprechen viel und halten wenig. Wirklich gut... - Einrichten einer lokalen...
Dieser Artikel richtet sich an alle Hobby-Webentwickler, die ihre erstellten Web-Projekte auf dem...