iOS App Entwicklung

Programmierung für iPhone, iPad, Apple Watch und Apple TV

Ein Gerät das die Welt verändert hat

Die Schweiz – ein «Apple Land»

Als Steve Jobs im Juni 2007 das erste iPhone präsentierte hätte wohl niemand gedacht, dass Apple damit eine komplett neue Kategorie von Gerät schafft. Damals sagte Jobs noch «develop for the web», aber die richtige Revolution fand ein Jahr später statt als Apple zusammen mit dem iPhone 3G das iPhone OS SDK lancierte und mit dem AppStore die Plattform für Apps von Dritten öffnete.

Heute, über 10 Jahre später, finden sich im Apple AppStore rund 2.2 Millionen Apps und täglich kommen neue dazu. Rund eine Million davon sind kompatibel mit dem iPad, 10'000 mit der Apple Watch und 8'000 mit dem Apple TV. Eines haben (fast) alle diese Apps gemeinsam: Sie bieten dem Anwender nützliche Funktionalität oder Unterhaltung und sind für den Anbieter ein ideales Instrument zur Kundenbindung.

Auch wenn weltweit der Markt von Android dominiert wird und Geräte mit iOS nur auf einen Marktanteil von 15-20% kommt, präsentiert sich in der Schweiz ein völlig anderes Bild. Hierzulande haben 44% der Nutzer ein Smartphone von Apple – also mehr als doppelt so viele wie im internationalen Schnitt. Auch bei Notebooks und Desktop-Computern sieht es in der Schweiz ähnlich aus, denn auch hier sind die Marktanteile von Apple wesentlich höher als international.

Weniger Nutzer – aber höhere Zahlungsbereitschaft

Auch wenn es (in der Schweiz und weltweit) wesentlich weniger iOS-Nutzer als Android-Nutzer gibt, bleibt diese Zielgruppe dennoch spannend. In übereinstimmenden Reports kommen Analysten und Marktforscher wie Gartner immer wieder zum Schluss dass die Zahlungsbereitschaft im «iOS Ecosystem» wesentlich höher ist als bei Android. So hat Sensor Tower zum Beispiel publiziert, dass ein durchschnittlicher iPhone-Nutzer im Jahr 2018 rund 79 USD für Apps und In-App Purchases ausgegeben hat. Nutzer mit Android-Smartphones laden zwar doppelt so viele Apps herunter wie Besitzer eines iPhone – sie geben aber nur halb so viel Geld für kostenpflichtige Apps und In-App Purchases aus wie iPhone-User. Diese höhere Zahlungsbereitschaft in der iOS-Welt ist ein Punkt, den es bei der Erstellung eines Business Case für eine neue App unbedingt zu berücksichtigen gilt.

Welche Bildschirmgrösse darf's sein?

...von ganz klein bis riesengross

Möchte man eine App für Hardware von Apple lancieren, so muss zuerst entschieden werden auf welchen Endgeräten diese genutzt werden kann: iPhone, iPad, Apple Watch und Apple TV stehen als Plattformen zur Verfügung – je nach Use Case machen eine oder mehrere davon Sinn.

In neun von zehn Fällen möchten unsere Kunden, dass wir eine App für iPhones programmieren. Dies macht auch Sinn wenn man bedenkt, dass Apple pro Jahr weltweit rund 220 Millionen iPhones verkauft, abere «nur» rund 43 Millionen iPads (Statista, 2018).

Möchte man gleichzeitig iPhones und iPads abdecken, so bieten sich zwei Varianten:

  1. Man programmiert das Layout so, dass es auf grösseren Bildschirmen automatisch skaliert ohne es aber spezifisch für das iPad zu optimieren.
  2. Geht man davon aus, sehr viele Kunden die App auf dem Tablet verwenden, so lohnt es sich mitunter auch, ein separates iPad-Layout zu programmieren.

Die Apple Watch und das Apple TV fristen hingegen eher ein Schattendasein – und dies zu Unrecht! Gerade weil es viel weniger Apps für Apple Watch und Apple TV gibt, bietet sich hier eine grosse Chance: Ihre App wird von Nutzern eher gefunden. Deshalb kann es sich durchaus lohnen, gezielt auf diese Geräte zu setzen. Bei der Apple Watch bieten sich vor allem Use Cases an, wo es für den Nutzer kontextbezogen bequemer ist wenn er nicht erst das iPhone aus der Tasche nehmen und es entsperren muss um zu interagieren: Beim Apple TV kommen Apps die stark auf Bilder setzen besonders gut zur Geltung, zum Beispiel Immobilien, Feriendestinationen oder Produkte die präsentiert werden sollen.

Fragen kostet nichts

Formular ausfüllen und Rückruf anfordern

Haben Sie eine konkrete Frage oder einfach nur eine Projektidee, die Sie besprechen möchten? Das ist die ideale Ausgangslage für ein kurzes Gespräch! Geben Sie unten Ihre Nummer ein und wir rufen Sie zurück – ganz fix und völlig unverbindlich.

iOS App programmieren – die Qual der Wahl

...nativ, cross-plattform oder doch hybrid?

Wenn es um die Umsetzung einer iOS App geht, gibt es verschiedene Arten wie diese programmiert werden kann. Dabei gibt es nicht ein «richtig» und ein «falsch» – denn die korrekte Wahl der Programmiersprache für Ihre App hängt von den gewünschten Funktionen und weiteren Faktoren ab.

Objective-C

Objective-C ist sozusagen die Mutter aller Programiersprachen wenn es um iOS geht. Die Sprache selbst existiert seit über 30 Jahren und bildete unter anderem die Grundlage für Nextstep, den Vorgänger des Apple-Betriebssystems macOS, das im Jahr 2001 veröffentlicht wurde. So ist es kaum verwunderlich, dass Apple auch 2008 auf Objective-C setzte, als der AppStore für iOS lanciert wurde. Während den ersten sechs Jahren in der noch jungen Geschichte von iOS wurden alle Apps in Objective-C programmiert. Übrigens sind iOS-Programmierer auch heute noch jeden Tag mit den Ursprüngen von Objective-C konfrontiert, wenn sie mit den Frameworks von Apple Apps für das iPhone entwickeln: Programmierklassen haben heute noch den Prefix «NS» (zum Beispiel NSData) aus der längst vergangenen Zeit von Nextstep. Auch viele ältere Apps von Smartfactory sind in Objective-C programmiert und wir pflegen und entwickeln diese heute noch gerne weiter.

Swift

2014 lancierte Apple eine neue Programiersprache: Swift.Und seither hat die Programierung in Swift viele Anhänger gefunden. Zwar wurde auch Objective-C ständig modernisiert um sich an die Bedürfnisse von Entwicklern anzupassen, aber Swift setzt neue Massstäbe wenn es um schnelle, effiziente und einfache Programmierung geht. Dennoch ist «Swift oder Objective-C» kein entweder-oder, denn beide Sprachen können innerhalb einer App auch problemlos kombiniert werden – dies ist sogar sehr oft der Fall. So können zum Beispiel auch ältere Apps, die ursprünglich in Objective-C programmiert wurden, mit neuen Funktionen erweitert werden die in Swift geschrieben sind.

Xamarin

Xamarin ist das wohl bekannteste Tool um cross-plattform Apps zu programmieren. Es basiert ursprünglich auf Mono bzw. dem .NET-Framework und die Entwicklung mit Xamarin erfolgt in der Programmiersprache C#. Xamarin verspricht, dass bis zu 90% des Codes über verschiedene Plattformen (zum Beispiel Android und iOS) hinweg weiterentwickelt werden können. Dennoch sind solche Aussagen zu relativieren, denn Xamarin ist gegenüber von Swift oder Objective-C auch mit Nachteilen behaftet, wenn es um die Entwicklung von iOS-Apps geht. Auf jeden Fall ist es auch bei der Programmierung einer App mit Xamarin wichtig, dass der Programmierer die native Plattform sehr gut kennt, auf dier die App später veröffentlicht werden soll. Smartfactory entwickelt in Xamarin vor allem für Grossfirmen, die in einem .NET-Umfeld «zuhause» sind und die spätere Weiterentwicklung der App allenfalls inhouse vornehmen möchten.

Hybrid-Apps

Eine Hybrid-App ist ein Mix aus einer nativen «Verpackung» und dem Inhalt einer App, der mit Websprachen programmiert wurde. Dabei gibt es eine schier endlose Vielzahl von verschiedenen Tools mit denen eine Hybrid-App umgesetzt werden kann. Doch egal ob man React Native, NativeScript, Sencha, Ionic, Phonegap oder ein anderes Framework wählt, ist der Ansatz stets derselbe: Die Programmierung erfolgt in JavaScript. Dies tönt vor allem für Entwickler verlockend, die noch keine Erfahrung mit der Programmierung von nativen Apps haben. Auch Smartfactory hat schon hybride Apps (und Progressiv Web Apps) umgesetzt und experimentiert fortlaufend für interne Projekte mit den verschiedenen Tools. Dennoch können wir unseren Kunden zurzeit kein Hybrid-Tool uneingeschränkt empfehlen – im Zweifelsfall gibt es nichts Besseres als die vom Hersteller angebotene (native) Programmiersprache für die Umsetzung einer App.

Die richtige Sprache für Ihre App

Mitunter haben Sie selbst schon eine Präferenz für die Programmiersprache in der Ihrer App umgesetzt werden soll – wir erwarten aber nicht, dass Sie diese Entscheidung alleine treffen. Selbstverständlich beraten wir Sie gerne, welche Sprache am besten für die Umsetzung Ihrer iOS App passt.