Plattformübergreifende vs. Native Mobile App-Entwicklung: Auswahl der richtigenEntwicklungstoolsfürI

Author: Ramjee Yadav

Der globaleMarktfür mobile Apps, der in diesemJahr 77 Milliarden US-Dollar erreichensoll, hat einigegroßeVeränderungenerfahren. Heutelaufen 99,6% aller Smartphones auf iOS oder Android. Unternehmenbetrachten mobile Apps heutealsKanalzurSteigerung der Markenbekanntheit, nichtalseigenesGeschäft. Mit der zunehmendenVerbreitung von KI-Lösungen (insbesondereChatbots) und BotenfangenExpertensogar an, die Zukunftmobiler Apps in Fragezustellen! Inmitten der Kontroverse und des Chaos ist das Argument der "nativen vs. plattformübergreifenden" Entwicklungmobiler Apps heißerdenn je. SollteIhrUnternehmen in eine native AnwendunginvestierenodermiteinerplattformübergreifendenLösungauskommen? Pavel Vasko, Leiter der Abteilungfür iOS-App-Entwicklungbei R-Style Lab, hebt die Hauptunterschiedezwischenplattformübergreifenden und nativenAnwendungenhervor und erklärt, warumeine Hybrid-LösungkeineguteEntscheidungist.

Plattformübergreifendeoder native Apps: Hauptunterschiede

Eine native mobile App isteineAnwendung, die dieAnforderungeneinesbestimmtenBetriebssystemserfüllt, indemsieihr SDK verwendet (sowie Hardware-Speicher, Ausrüstung und andere auf einemGerätinstallierteAnwendungen).

Zu den Vorteilennativermobiler Apps gehören:

  • Hochleistung;
  • UltimativeBenutzererfahrung;
  • GrößereSichtbarkeit des App-Stores.

EineplattformübergreifendeAnwendungisteine mobile App, die mitmehrerenBetriebssystemenkompatibelist und daher auf jedem Smartphone oder Tablet laufenkann.

EsgibtzweiArten von plattformübergreifendenmobilenAnwendungen:

  • Native plattformübergreifende Apps JedesBetriebssystem hat sein SDK und seinenwichtigstenTechnologie-Stack (Java für Android und Objective-C / Swift für die Entwicklung von iOS-Apps). EinerfahrenermobilerAnbieterkannjedocheineeinheitliche API erstellen, die auf einemnativen Software Development Kit ausgeführtwird, und dieselbeCodebasisfür iOS-Apps für Android-Anzeigenverwenden. Native plattformübergreifendeAnwendungenwerdenhauptsächlichmitXamarin und Appcelerator Titanium erstellt.
  • Hybrid HTML5-Anwendungen. Obwohl mobile Anwendungenfür Smartphones und Tablets entwickeltwurden, sind Backend-Server (entweder on-premodercloudbasiert) für die Anwendungslogikzuständig. Da sowohl das iOS- alsauch das Android-SDK erweiterteWebkomponentenenthalten, verwendenerfahreneSoftwareentwicklerhäufigWebView, um Teile der grafischenBenutzeroberflächeeinerAnwendungmit HTML5, CSS und JavaScript zuerstellen. Das beliebtesteEntwicklungs-Framework fürhybride Apps ist Apache Cordova (früherbekanntalsPhoneGap).

Die wichtigstenplattformübergreifendenEntwicklungstoolsfür mobile Apps

Apache Cordova, Xamarin und Unity machen 70% des gesamtenMarktesfürplattformübergreifende App-Entwicklungstoolsaus.

  • Apache Cordova. Der Tech Stack von Apache Cordova bietet HTML5, CSS3 und JavaScript. Die Entwicklungsumgebungfür mobile Apps bietetZugriff auf den integriertenBeschleunigungssensor, den Dateispeicher, GPS, Kontaktdaten, Medien und Benachrichtigungeneines Smartphones. Apache Cordova bietetmehrereVorteile, einschließlicheinerrelativeinfachen API und der Möglichkeit, einbeliebiges JS-Framework zuverwenden. Die Plattformvisualisiertjedoch die Benutzeroberflächeeiner App übereinenWebbrowser (was zuVerzögerungenführenkann). Außerdemsindeinige Plugins von Cordova veraltet, so dassEntwicklerofteigene von Grund auf neuschreibenmüssen;
  • Xamarin. Mit #C und.Net erstellt, ermöglichtXamarinEntwicklern die Wiederverwendung von Code und vereinfacht die Erstellungdynamischer Layouts in iOS. Bestimmte UI-Komponentenkönnenjedochnicht auf MonoTouch und MonoDroidimplementiertwerden, da sie auf bestimmteFunktionen von Android / iOS angewiesensind.
  • Einheit. Unity isteinebeliebteEntwicklungssoftwarefür mobile Apps, die esSoftwareentwicklernermöglicht, hochwertige 2D / 3D-Anwendungen (hauptsächlichSpiele) fürverschiedenePlattformenwie Windows, iOS, Android und Xbox zuerstellen. Unity (neben Unreal Engine) gilt alseines der bestenWerkzeugefür die Darstellung von 3D-Inhalten. Die LösungbieteteineVielzahl von freiverwendbaren Plugins und unterstützt die Entwicklung von benutzerdefiniertenShadern. Dennoch hat Unity einesteileLernkurve und seine Compiler sindnicht gut für ARM-Prozessorenoptimiert.

Laut Pavel kann die Popularität von plattformübergreifendenmobilenAnwendungen auf die wachsendeNachfragenachmobilenAnwendungenfürUnternehmen (die bald die verfügbareKapazität der Entwickler um 500% übersteigt) und demberüchtigten Trend zum Bring Your Own Device (bis 2017, die Hälftedavon) zurückgeführtwerdenArbeitgeberwerden von ihrenMitarbeiternverlangen, dasssieihreeigenenGerätefürArbeitszweckeverwenden).

Wenn die effizienteRessourcennutzung und die kürzereBereitstellungszeit UX überwiegen, istessinnvoll, plattformübergreifendzuarbeiten.

Die Vor- und Nachteile der plattformübergreifendenEntwicklungmobiler Apps

Die VorteileeinerplattformübergreifendenAnwendungumfassen:

  • KürzereEntwicklungszeit. Vorausgesetzt, Siewählen den richtigen Tech-Stack und planenIhrProjektgründlich, wirdIhrAnbieter in der Lage sein, biszu 80% der ursprünglichenCodebasiswiederzuverwenden;
  • Kosteneffektivität. Das ErstelleneinernativenmobilenAnwendungkostetmindestens 10.000 US-Dollar - und von einem Clark of Clans-Klonwirdhiernicht die Rede sein. MultiplizierenSie die Kostenmitzwei (iOS und Android) und fügenSie 30% hinzu (Android Dev istteurer), und Sieerhalten die ungefährenKostenfür das StarteneinerAnwendungsowohlim App Store alsauch in Google Play.
  • Exposition gegenübereinergrößerenAnzahl von Benutzern. Die meistenplattformübergreifenden Apps laufen auf Android und iOS (sowie Windows, Linux, Tizen und sogar Symbian);

Aktualisiert die Synchronisierung. In einer Welt, in der erfolgreiche App-Publisher biszuviermal pro Monat Updates bereitstellen, könnenWartungskosteneinengroßenTeil des gesamten App-Umsatzesausmachen - und hiergewinnt die plattformübergreifendeEntwicklung an Bedeutung.

Und hierkönnenplattformunabhängigeAnwendungenfehlschlagen:

  • Performance-Probleme. Die Rechenleistung der Smartphones istrelativgering. Das Rendernschwerer HTML5 / CSS-UI-KomponentenerfordertdagegeneineMenge GPU / CPU-Ressourcen und kann die Reaktionszeiteiner App erhöhen.
  • UX-Probleme. Die Erfüllung der UX-AnforderungenbeiderPlattformenkanneineHerausforderungdarstellen. Apple istbesondersberüchtigtfür seine Human Interface Guidelines und lehnt mobile Websites in nativenContainern ab. EssindjedochFehler und einschlechtes UI-Design, die für 20% aller App Store-Ablehnungenverantwortlichsind. WennSiesich an einezuverlässigeEntwicklerfirmafür mobile Apps wenden, wirdIhre HTML5-App höchstwahrscheinlichgrünes Licht erhalten.\

WählenSiezwischennativen und plattformübergreifendenAnwendungen

Die Entscheidungzwischeneinerplattformübergreifenden und einernativen App hängtvombeabsichtigtenFunktionsumfang und AnwendungsbereicheinerAnwendung ab (ohnedasseinWortspielbeabsichtigtist).

WennIhre mobile App eineigenesUnternehmenwerdensoll (z. B. Fitness- und Gesundheitspflegeoderbeliebte Apps, die das Gesichtmorphen), isteseineoffensichtliche Wahl, zugehen. FürUnternehmen, die eine rein informative oder Content-Verteilungsanwendungerstellenmöchten, kann die plattformübergreifendeEntwicklunggenau das sein, was der Arztbestellt hat.

ZurückimJahr 2012 Facebook, der weltweitgrößte Social-Networking-Unternehmen, ersetztihre HTML5-Anwendung miteinemnativen iOS-Titel und bezeichnetihre Hybrid-Bestrebungenals "den größtenFehler", den siejemalsgemachthaben. Laut Mick Johnson, früherer iOS Product Manager bei Facebook, half die Entscheidung, nativzuwerden, demUnternehmenbei der LösungdreierwichtigerProblemeimZusammenhangmit der App-Leistung, einschließlich der Startgeschwindigkeit, Scrollendurch den News-Feed und Tippen auf darinenthalteneBilder. Facebook veröffentlichtespäterimselbenJahreine native Android-App. Das Unternehmen hat nichtsgegen HTML5 - immerhintreibt die Technologieihre mobile Website an. Eserfülltejedochnicht die Anforderungenfür mobile Apps des Unternehmens. AusdiesemGrundsolltenSieeinenerfahrenenAnbieterkonsultieren und IhreStrategiefür mobile Apps unterBerücksichtigung der erwartetenArbeitsauslastung und des Feature-Sets planen.