Defi­ni­ti­on einer App und App-Typen

Was ist eine App

Eine App ist eine Soft­ware, die bestimm­te Auf­ga­ben oder Funk­tio­nen auf einem digi­ta­len Gerät aus­führt, wie Smart­phone, Tablet oder Com­pu­ter. Der Begriff App stammt von Appli­ka­ti­on und bezeich­net jede Soft­ware, die einem bestimm­ten Zweck dient, unab­hän­gig von der Platt­form. Apps sind Soft­ware, die ent­we­der lokal instal­liert oder über einen Brow­ser genutzt wird.

Apps wur­den mit Smart­phones popu­lär, beson­ders ab 2008, als Apple den App Store und Goog­le den Play Store ein­führ­ten. Die­se Platt­for­men ermög­lich­ten es, Anwen­dun­gen für mobi­le Gerä­te zu ent­wi­ckeln, zu ver­trei­ben und zu instal­lie­ren, was die Nut­zung von Apps in vie­len Berei­chen revo­lu­tio­nier­te.

Mobi­le Apps lau­fen auf Betriebs­sys­te­men wie Android und iOS. Ande­re Sys­te­me wie Harm­on­y­OS oder Win­dows Mobi­le haben eine klei­ne­re, aber spe­zi­fi­sche Nut­zer­ba­sis. Mobi­le Apps decken vie­le Berei­che ab, von Kom­mu­ni­ka­ti­on und Unter­hal­tung bis hin zu Pro­duk­ti­vi­tät, Gesund­heit und Bil­dung.

Wie funk­tio­nie­ren Apps?

Apps funk­tio­nie­ren durch das Zusam­men­spiel tech­ni­scher Kom­po­nen­ten, die sowohl auf dem mobi­len Gerät als auch auf ent­fern­ten Ser­vern ablau­fen. Eine App wird in einer Pro­gram­mier­spra­che wie Swift (iOS) oder Kot­lin (Android) ent­wi­ckelt und auf dem jewei­li­gen Betriebs­sys­tem aus­ge­führt.

Im Hin­ter­grund arbei­tet die App mit der Hard­ware des Geräts, greift auf Pro­zes­sor, Spei­cher und Sen­so­ren wie GPS, Kame­ra oder Mikro­fon zu. Die­se Zugrif­fe wer­den von APIs (Appli­ca­ti­on Pro­gramming Inter­faces) gesteu­ert, die die Kom­mu­ni­ka­ti­on zwi­schen Soft­ware und Hard­ware ermög­li­chen.

Vie­le Apps kom­mu­ni­zie­ren über das Inter­net mit Ser­vern, die Daten ver­ar­bei­ten und spei­chern. Die­se Ser­ver, oft in der Cloud gehos­tet, lie­fern Inhal­te oder ermög­li­chen Funk­tio­nen wie die Syn­chro­ni­sa­ti­on von Daten zwi­schen Gerä­ten. Bei einer Ban­king-App bei­spiels­wei­se grei­fen Benut­zer­ober­flä­che und Backend-Daten­bank auf siche­re Ser­ver zu, um Trans­ak­tio­nen zu ermög­li­chen.

Der Ent­wick­lungs­pro­zess einer App umfasst das Schrei­ben des Codes, die Imple­men­tie­rung von User-Inter­faces (UI), die Ver­bin­dung zu Daten­ban­ken und umfang­rei­che Tests, um die Funk­ti­ons­fä­hig­keit auf ver­schie­de­nen Gerä­ten sicher­zu­stel­len.

Die Archi­tek­tur moder­ner Apps basiert auf dem Cli­ent-Ser­ver-Modell, bei dem der Cli­ent (die App auf dem Gerät) Anfra­gen an den Ser­ver sen­det, der die Daten ver­ar­bei­tet und zurück­sen­det.

Im Hin­ter­grund lau­fen Pro­zes­se wie die Ver­wal­tung von Netz­werk­ver­bin­dun­gen, Spei­cher­op­ti­mie­rung und Push-Benach­rich­ti­gun­gen. Push-Diens­te wie Fire­ba­se Cloud Mes­sa­ging (FCM) ermög­li­chen es Apps, Nach­rich­ten in Echt­zeit zu emp­fan­gen, auch wenn sie nicht aktiv genutzt wer­den. Sol­che Hin­ter­grund­diens­te sor­gen für die rei­bungs­lo­se Funk­ti­on und Aktua­li­sie­rung der App, ohne dass der Nut­zer ein­grei­fen muss.

Wie sind Apps ent­stan­den?

Apps ent­stan­den aus den ers­ten ein­fa­chen Anwen­dun­gen, die auf frü­hen Mobil­te­le­fo­nen vor­in­stal­liert waren, wie Kalen­der oder Taschen­rech­ner. Mit der Ein­füh­rung von Java ME (Micro Edi­ti­on) konn­ten Benut­zer klei­ne Anwen­dun­gen – soge­nann­te MID­lets – her­un­ter­la­den. Die­se platt­form­über­grei­fen­de Nut­zung führ­te zu einer akti­ven Ent­wick­ler-Com­mu­ni­ty.

Der eigent­li­che Durch­bruch von mobi­len Apps kam mit dem Auf­kom­men von Smart­phones im Jahr 2000. Gerä­te wie das Sie­mens S55 und Nokia 7650 ermög­lich­ten die Instal­la­ti­on von Java-Pro­gram­men, was den Weg für moder­ne Appli­ka­tio­nen ebne­te.

Der ent­schei­den­de Schritt kam 2007 mit dem Apple iPho­ne und dem App Store, wodurch Apps für eine brei­te Mas­se zugäng­lich wur­den. Android-Smart­phones folg­ten kurz dar­auf und tru­gen zum welt­wei­ten Erfolg bei.

Im Jahr 2016 gab es über zwei Mil­lio­nen Apps im iOS-Store, und welt­weit wur­den über 90 Mil­li­ar­den Apps her­un­ter­ge­la­den. Bekann­te Apps wie Tik­Tok, Whats­App und Zoom zei­gen heu­te, wie sie unser täg­li­ches Leben und die Art der Kom­mu­ni­ka­ti­on und des Kon­sums ver­än­dert haben.

Die ers­te App im Apple App Store war kein ein­fa­cher Taschen­rech­ner, son­dern das auf­wen­dig gestal­te­te Spiel Super Mon­key Ball, das gemein­sam mit SEGA ent­wi­ckelt wur­de. Die­ses Spiel bedeu­te­te einen Mei­len­stein für SEGA, da es den Ein­stieg in die mobi­le Spie­le­ent­wick­lung mar­kier­te.

Smartphone mit Native Applikation

Wel­che Arten von Apps gibt es?

Nati­ve, hybri­de und platt­form­un­ab­hän­gi­ge Apps sind die zen­tra­len Kate­go­rien moder­ner Appli­ka­tio­nen. Nati­ve Apps sind spe­zi­ell für ein Betriebs­sys­tem ent­wi­ckelt und bie­ten opti­ma­le Leis­tung, wäh­rend Hybrid-Apps platt­form­über­grei­fend sind und die Ent­wick­lungs­kos­ten redu­zie­ren.

Pro­gres­si­ve Web Apps wie­der­um lau­fen direkt im Brow­ser und ver­ei­nen die Vor­tei­le von Web- und mobi­len Anwen­dun­gen. Weara­ble Apps, ange­passt an Smart­wat­ches und Fit­ness-Tra­cker, erwei­tern das Spek­trum und gewin­nen ste­tig an Bedeu­tung. Im Fol­gen­den wer­den die Unter­schie­de und Beson­der­hei­ten die­ser App-Typen detail­lier­ter betrach­tet:

1. Nati­ve Apps

Nati­ve Apps sind für ein bestimm­tes mobi­les Betriebs­sys­tem wie iOS oder Android ent­wi­ckelt. Sie wer­den in platt­form­spe­zi­fi­schen Pro­gram­mier­spra­chen wie Swift für iOS oder Kot­lin und Java für Android pro­gram­miert.

Ein Haupt­merk­mal von Nati­ve Apps ist ihr direk­ter Zugriff auf Hard­ware und Funk­tio­nen des Geräts, wie Kame­ra, GPS und Spei­cher, was zu bes­se­rer Per­for­mance und schnel­le­ren Reak­ti­ons­zei­ten führt.

Dank der engen Inte­gra­ti­on mit dem Betriebs­sys­tem kön­nen Nati­ve Apps naht­los mit den Funk­tio­nen des Geräts inter­agie­ren. Bekann­te Bei­spie­le für Nati­ve Apps sind Insta­gram, Whats­App und Spo­ti­fy. Laut einer Sta­tis­ta-Stu­die aus dem Jahr 2023 bevor­zu­gen Nut­zer Nati­ve Apps wegen der bes­se­ren Inte­gra­ti­on, der höhe­ren Per­for­mance und der Nut­zung nati­ver Design-Ele­men­te.

2. Hybrid-Apps

Hybrid-Apps sind eine Misch­form aus nati­ven und Web-Apps. Sie wer­den mit Web­tech­no­lo­gien wie HTML5, CSS und Java­Script ent­wi­ckelt, wobei eine ein­zi­ge Code­ba­sis auf ver­schie­de­nen Platt­for­men wie iOS und Android ver­wen­det wird. Die­se platt­form­über­grei­fen­de Ent­wick­lung redu­ziert die Kos­ten, da der Code nur ein­mal geschrie­ben wer­den muss. Hybrid-Apps lau­fen in einem nati­ven Con­tai­ner, der den Zugriff auf Gerä­te­funk­tio­nen wie Kame­ra und GPS ermög­licht, wodurch sie eine ähn­li­che Benut­zer­er­fah­rung und Per­for­mance wie nati­ve Apps bie­ten.

Sie kön­nen wie nati­ve Apps in App Stores ver­öf­fent­licht und her­un­ter­ge­la­den wer­den, was ihre Reich­wei­te erhöht. Die zen­tra­le War­tung und Aktua­li­sie­rung ist effi­zi­en­ter, da Ände­run­gen sofort auf allen Platt­for­men wirk­sam wer­den. Eine Unter­su­chung von For­res­ter Rese­arch aus 2021 zeigt, dass die Ent­wick­lung von Cross-Platt­form-Apps im Durch­schnitt 30% bis 50% kos­ten­güns­ti­ger ist als die Erstel­lung sepa­ra­ter nati­ver Apps für unter­schied­li­che Betriebs­sys­te­me.

3. Pro­gres­si­ve Web Apps

Web-Apps, ins­be­son­de­re Pro­gres­si­ve Web Apps (PWAs), sind Web­an­wen­dun­gen, die Funk­tio­nen nati­ver Apps mit den Vor­tei­len von Web­tech­no­lo­gien kom­bi­nie­ren. Sie wer­den mit Stan­dard­tech­no­lo­gien wie HTML, CSS und Java­Script ent­wi­ckelt und lau­fen direkt im Web­brow­ser, ohne dass eine Instal­la­ti­on aus einem App Store erfor­der­lich ist. PWAs pas­sen sich durch pro­gres­si­ve Enhance­ment an die Fähig­kei­ten des Geräts und Brow­sers an, was erwei­ter­te Funk­tio­nen auf unter­stütz­ten Platt­for­men ermög­licht. Sie bie­ten eine app-ähn­li­che Benut­zer­er­fah­rung, kön­nen auf dem Home­screen instal­liert wer­den, funk­tio­nie­ren off­line und unter­stüt­zen Push-Benach­rich­ti­gun­gen.

PWAs zeich­nen sich durch schnel­le Lade­zei­ten und gute Per­for­mance aus, die durch Tech­ni­ken wie Ser­vice Workers und Caching erreicht wer­den. Sie sind platt­form­über­grei­fend nutz­bar, was bedeu­tet, dass eine ein­zi­ge PWA auf ver­schie­de­nen Gerä­ten und Betriebs­sys­te­men wie iOS, Android und Desk­top funk­tio­niert. 

4. Weara­ble Apps

Weara­ble Apps sind spe­zi­ell für trag­ba­re Gerä­te wie Smart­wat­ches und Fit­ness-Tra­cker ent­wi­ckelt. Sie sind auf die klei­nen Bild­schir­me und Funk­tio­nen von Weara­bles opti­miert und bie­ten ent­we­der ver­ein­fach­te Ver­sio­nen von Smart­phone-Apps oder eigen­stän­di­ge Funk­tio­nen direkt am Hand­ge­lenk.

Die­se Apps ermög­li­chen Fit­ness-Track­ing, Gesund­heits­über­wa­chung, Benach­rich­ti­gun­gen und die Steue­rung von Smart­phone-Funk­tio­nen. Häu­fig arbei­ten sie mit Smart­phone-Apps zusam­men, um Daten zu syn­chro­ni­sie­ren und erwei­ter­te Funk­tio­nen bereit­zu­stel­len.

Für Sam­sung-Gerä­te wer­den Weara­ble Apps für das Wear OS-Sys­tem ent­wi­ckelt und über die Gala­xy Weara­ble App ver­wal­tet. Die Apple Watch bie­tet ähn­li­che Inte­gra­ti­on für iOS-Nut­zer und nutzt die Apple Watch App zur Ver­wal­tung und Instal­la­ti­on von Apps.

Die Pro­gram­mie­rung von Weara­ble Apps unter­schei­det sich von ande­ren Apps durch die Anfor­de­run­gen an klei­ne Bild­schir­me, Ener­gie­ef­fi­zi­enz und spe­zi­fi­sche Hard­ware-Zugrif­fe. Bei Android-basier­ten Weara­bles erfolgt die Ent­wick­lung oft in Kot­lin oder Java und nutzt die Wear OS-APIs, die Zugriff auf Funk­tio­nen wie Herz­fre­quenz­sen­so­ren und Schritt­zäh­ler bie­ten.

Für die Apple Watch wird Swift in Kom­bi­na­ti­on mit Watch­Kit-APIs ver­wen­det, die für die Inte­gra­ti­on mit Wat­chOS und iOS opti­miert sind.

Zudem erfor­dert die Kom­mu­ni­ka­ti­on zwi­schen Weara­bles und Smart­phone-Apps beson­de­re Ent­wick­lungs­an­for­de­run­gen, um Daten zu syn­chro­ni­sie­ren und eine naht­lo­se Benut­zer­er­fah­rung zu gewähr­leis­ten.

Die Nut­zung von Weara­ble Apps hat in den letz­ten Jah­ren auch stark zuge­nom­men. Laut einer Unter­su­chung des Pew Rese­arch Cen­ters ver­wen­den etwa 21 % der Ame­ri­ka­ner regel­mä­ßig eine Smart­watch oder einen Fit­ness-Tra­cker zur Über­wa­chung ihrer Gesund­heit.

Welt­weit wird erwar­tet, dass 2023 rund 504,1 Mil­lio­nen Weara­ble-Gerä­te aus­ge­lie­fert wer­den, mit wei­te­rem Wachs­tum in den kom­men­den Jah­ren. Smart­wat­ches und kabel­lo­se Kopf­hö­rer (Ear­wear) blei­ben die belieb­tes­ten Kate­go­rien, wobei Smart­wat­ches bis 2027 ein jähr­li­ches Wachs­tum von 6,8 % erle­ben wer­den, laut einer Stu­die der Inter­na­tio­nal Data Cor­po­ra­ti­on (IDC).

Mobile Wearable App

Wel­che Pro­gram­mier­spra­chen wer­den für die Ent­wick­lung von Apps genutzt?

Für die App-Ent­wick­lung wer­den ver­schie­de­ne Pro­gram­mier­spra­chen ver­wen­det, abhän­gig von der Ziel­platt­form und der Art der App. Hier sind die wich­tigs­ten App-Ent­wick­lungs­spra­chen und ihre spe­zi­fi­schen Anwen­dungs­be­rei­che:

  • Swift: Swift ist die moder­ne und bevor­zug­te Pro­gram­mier­spra­che für die iOS-Ent­wick­lung, ent­wi­ckelt von Apple unter der Lei­tung von Chris Latt­ner. Die Pro­gram­mier­spra­che Swift bie­tet eine hohe Per­for­mance, Sicher­heit und eine kla­re Syn­tax, die Ent­wick­lern ermög­licht, effi­zi­en­ten und feh­ler­frei­en Code zu schrei­ben. Swift nutzt die Cocoa Touch-Frame­works und wird in Xcode inte­griert, um leis­tungs­star­ke iOS-Apps zu erstel­len.
  • Objective‑C: Objective‑C, ent­wi­ckelt von Brad Cox und Tom Love, ist eine älte­re, aber wei­ter­hin genutz­te Pro­gram­mier­spra­che für die iOS-Ent­wick­lung. Objective‑C bie­tet hohe Kom­pa­ti­bi­li­tät mit bestehen­den iOS-Code­ba­sen und nutzt die glei­chen Frame­works wie Swift. Objective‑C ist beson­ders in gro­ßen, eta­blier­ten Pro­jek­ten von Bedeu­tung, wo umfang­rei­che Code­bi­blio­the­ken bestehen.
  • Java: Java, von James Gosling bei Sun Micro­sys­tems ent­wi­ckelt, ist die tra­di­tio­nel­le Spra­che für die Android-Ent­wick­lung und wird weit ver­brei­tet ein­ge­setzt. Es unter­stützt umfang­rei­che Biblio­the­ken und Tools wie das Android SDK und die Android Stu­dio-Ent­wick­lungs­um­ge­bung. Java bie­tet eine robus­te, objekt­ori­en­tier­te Pro­gram­mier­um­ge­bung, die für die Erstel­lung sta­bi­ler und ska­lier­ba­rer Android-Apps genutzt wird.
  • Kot­lin: Kot­lin wur­de von Jet­Brains unter der Lei­tung von Dmit­ry Jemerov und Andrey Bres­lav ent­wi­ckelt und ist eine moder­ne, von Goog­le bevor­zug­te Spra­che für die Android-Ent­wick­lung. Sie bie­tet eine kla­re­re und prä­gnan­te­re Syn­tax als Java und ver­bes­sert die Sicher­heit durch null-siche­re Typen. Kot­lin ist voll­stän­dig inter­ope­ra­bel mit Java und wird eben­falls in Android Stu­dio unter­stützt, was den Über­gang für Ent­wick­ler erleich­tert.
  • Java­Script: Java­Script, ursprüng­lich von Brendan Eich bei Net­scape ent­wi­ckelt, wird in Cross-Plat­form-Frame­works wie React Nati­ve und Ionic ver­wen­det. Es ermög­licht die platt­form­über­grei­fen­de Ent­wick­lung und Wie­der­ver­wen­dung von Code, was die Ent­wick­lungs­ef­fi­zi­enz erhöht. Java­Script, zusam­men mit den ent­spre­chen­den Frame­works, erlaubt es Ent­wick­lern, nati­ve Apps für ver­schie­de­ne Platt­for­men zu erstel­len, die auf eine ein­zi­ge Code­ba­sis zurück­grei­fen.
  • C#: C#, ent­wi­ckelt von Micro­soft unter der Lei­tung von Anders Hejls­berg, wird in Xama­rin für die platt­form­über­grei­fen­de App-Ent­wick­lung genutzt. Es bie­tet umfang­rei­che Biblio­the­ken und Inte­gra­ti­on mit dem .NET-Frame­work, was die Ent­wick­lung leis­tungs­star­ker und viel­sei­ti­ger Apps ermög­licht. C# ist beson­ders vor­teil­haft für Unter­neh­men, die bereits in die Micro­soft-Tech­no­lo­gie-Öko­sys­te­me inves­tiert haben.
  • Dart: Dart, ent­wi­ckelt von Goog­le unter der Lei­tung von Lars Bak und Kas­per Lund, ist die Spra­che für die Ent­wick­lung mit Flut­ter. Die Pro­gram­mier­spra­che Dart bie­tet schnel­le Per­for­mance und ein­fa­che Anpas­sung der Benut­zer­ober­flä­che, was die Ent­wick­lung von hoch­per­for­man­ten und attrak­ti­ven Cross-Plat­form-Apps ermög­licht. Flut­ter und Dart wer­den immer belieb­ter, beson­ders für Start­ups und Unter­neh­men, die schnell auf meh­re­ren Platt­for­men prä­sent sein wol­len.
  • HTML5, CSS und Java­Script: Die­se Web­tech­no­lo­gien wur­den von zahl­rei­chen Ent­wick­lern und Orga­ni­sa­tio­nen wie W3C und WHATWG ent­wi­ckelt und wer­den für die Ent­wick­lung von Web-Apps und Pro­gres­si­ve Web Apps (PWAs) ver­wen­det. Sie ermög­li­chen die Erstel­lung platt­form­un­ab­hän­gi­ger Apps mit nati­ven App-ähn­li­chen Funk­tio­nen. PWAs sind beson­ders nütz­lich für Unter­neh­men, die eine brei­te Nut­zer­ba­sis anspre­chen wol­len, ohne sepa­ra­te nati­ve Apps zu ent­wi­ckeln.
  • Python: Python, von Gui­do van Ros­sum ent­wi­ckelt, wird für die Backend-Ent­wick­lung und Daten­ana­ly­se in Apps ver­wen­det. Es ist ein­fach zu erler­nen und weit ver­brei­tet in der Daten­wis­sen­schaft. Python bie­tet umfang­rei­che Biblio­the­ken wie Djan­go und Flask für die schnel­le Ent­wick­lung von ser­ver­sei­ti­gen Anwen­dun­gen und APIs.
  • Ruby: Ruby, ent­wi­ckelt von Yuki­hi­ro “Matz” Mat­su­mo­to, wird oft für Backend-Diens­te von Apps ein­ge­setzt und ist bekannt für sei­ne ein­fa­che und pro­duk­ti­ve Syn­tax. Mit Frame­works wie Ruby on Rails kön­nen Ent­wick­ler schnell und effi­zi­ent ska­lier­ba­re Web­an­wen­dun­gen erstel­len, die als Backend für mobi­le Apps die­nen.
  • PHP: PHP, ent­wi­ckelt von Ras­mus Ler­dorf, wird für ser­ver­sei­ti­ge Funk­tio­nen in Apps genutzt. Es ist weit ver­brei­tet und unter­stützt vie­le Web­an­wen­dun­gen durch sei­ne Inte­gra­ti­on mit Daten­ban­ken und Ser­ver-Umge­bun­gen. PHP ist beson­ders nütz­lich für Con­tent-Manage­ment-Sys­te­me und daten­ge­trie­be­ne Anwen­dun­gen.
  • C und C++: Die­se Spra­chen, die von Den­nis Rit­chie © und Bjar­ne Strous­trup (C++) ent­wi­ckelt wur­den, wer­den für die Ent­wick­lung von Low-Level-Funk­tio­nen und res­sour­cen­ef­fi­zi­en­ten Apps ver­wen­det. Sie bie­ten hohe Per­for­mance und Kon­trol­le über Hard­ware-Res­sour­cen, was sie ide­al für rechen­in­ten­si­ve Anwen­dun­gen und Spie­le macht. C und C++ sind auch die bevor­zug­ten Spra­chen für die Ent­wick­lung von Betriebs­sys­tem­kom­po­nen­ten und Embedded-Soft­ware.
  • Kontakt

  • BlueBranch GmbH
    Albert-Schweitzer-Straße 20
    91080 Uttenreuth

  • Telefon: +49 1514 6659529
    E-Mail: hello@bluebranch.de