-
Fragmentierung kein Problem mehr
Autor: spaceMonster 09.09.15 - 10:56
Ich bin Android Appentwickler und meiner Meinung nach ist die Fragmentierung kaum noch ein Problem (aus Entwicklersicht)
Google pflegt seit 2 Jahren seine "AppCompat" Bibliothek sehr intensiv. Diese ermöglicht es Features neuerer Api Versionen auch auf alten Geräten (bis runter zu Gingerbread und tiefer) nachzubilden.
Man kann mitlerweile sehr einfach eine "Material Design App" erstellen die auch auf Android 4.0.3 genauso aussieht wie unter Android 5/6.
Dadurch das Google seine PlayServices auch auf sehr alten Geräten aktuelle hält, kann man beispielsweise auch auf einem 3 Jahre alten Samsung Ace mit Android 2.3.5 die aktuellen Maps API etc. nutzen.
Als ich mit der Appentwicklung angefangen hatte, musste man im Code tatsächlich oft unterscheiden wie das Verhalten auf Apilevel X und auf Apilevel Y sein soll... solche Konstrukte braucht man derzeit nur noch selten, da das Kompatiblitätskonzept von Google sehr solide ist.
Aus Nutzersicht ist der Upgradegrund eigentlich kaum noch die Features sondern eher die Behebung von Sicherheitsmängeln.
Die Fragmentierungsdebatte in der Androidwelt ist meiner Meinung nacht kaum noch relevant --> es gibt kaum noch Stellen wo eine Ältere Android Version zum ShowStopper wird. -
Re: Fragmentierung kein Problem mehr
Autor: kendon 09.09.15 - 10:58
Interessanter Beitrag, danke.
-
Re: Fragmentierung kein Problem mehr
Autor: Siciliano 09.09.15 - 11:51
spaceMonster schrieb:
--------------------------------------------------------------------------------
> Die Fragmentierungsdebatte in der Androidwelt ist meiner Meinung nacht kaum
> noch relevant --> es gibt kaum noch Stellen wo eine Ältere Android Version
> zum ShowStopper wird.
Der Witz war gut... Beispiel gefälligst?! Meine Kreditkarten-App läuft nicht resp. wurde nicht für Gingerbread 2.3.6 freigegeben. Also was bleibt mir übrig? Entweder die App nicht nutzen, den Kreditkarten-Anbieter wechseln oder das Dual-Sim Smartphone meines Arbeitgebers versehentlich fallen lassen... Tolle Lösung! -
Re: Fragmentierung kein Problem mehr
Autor: Themenzersetzer 09.09.15 - 11:52
Wer 2.3.6 nutzt ist selbst schuld.
-
Re: Fragmentierung kein Problem mehr
Autor: Anonymer Nutzer 09.09.15 - 12:07
spaceMonster schrieb:
--------------------------------------------------------------------------------
> Ich bin Android Appentwickler und meiner Meinung nach ist die
> Fragmentierung kaum noch ein Problem (aus Entwicklersicht)
>
> Google pflegt seit 2 Jahren seine "AppCompat" Bibliothek sehr intensiv.
> Diese ermöglicht es Features neuerer Api Versionen auch auf alten Geräten
> (bis runter zu Gingerbread und tiefer) nachzubilden.
> Man kann mitlerweile sehr einfach eine "Material Design App" erstellen die
> auch auf Android 4.0.3 genauso aussieht wie unter Android 5/6.
>
> Dadurch das Google seine PlayServices auch auf sehr alten Geräten aktuelle
> hält, kann man beispielsweise auch auf einem 3 Jahre alten Samsung Ace mit
> Android 2.3.5 die aktuellen Maps API etc. nutzen.
>
> Als ich mit der Appentwicklung angefangen hatte, musste man im Code
> tatsächlich oft unterscheiden wie das Verhalten auf Apilevel X und auf
> Apilevel Y sein soll... solche Konstrukte braucht man derzeit nur noch
> selten, da das Kompatiblitätskonzept von Google sehr solide ist.
>
> Aus Nutzersicht ist der Upgradegrund eigentlich kaum noch die Features
> sondern eher die Behebung von Sicherheitsmängeln.
>
> Die Fragmentierungsdebatte in der Androidwelt ist meiner Meinung nacht kaum
> noch relevant --> es gibt kaum noch Stellen wo eine Ältere Android Version
> zum ShowStopper wird.
Das was du da beschreibst ist auch nur ein kleiner Teil des Problems. Hier trifft nämlich die Software-Fragmentierung noch auf eine beispiellose Hardware-Fragmentierung. Dadurch steigt natürlich auch in Zukunft der Arbeitsaufwand. -
Re: Fragmentierung kein Problem mehr
Autor: onkel_joerg 09.09.15 - 12:08
Oh, ich habe eine App, die auf neinem 5 Jahre alten Telefon nicht läuft!
Mögliche Reaktionen:
Alle Beiträge über dieses Betriebssystem zu Schrott erklären?
Nur noch schwarz tragen und immer weinen?
Die Welt zerstören?
Wenn ich es beruflich nutzen muß, mit dem jenigen, der mir das Telefon zur Verfügung gestellt hat, reden dass da ein Problem besteht und gemeinsam eine Lösung finden?
LG O.J.
----------------------------------------------------------
Gold geht unverdaut durch derbste Mägen
---------------------------------------------------------- -
Re: Fragmentierung kein Problem mehr
Autor: Siciliano 09.09.15 - 12:08
Themenzersetzer schrieb:
--------------------------------------------------------------------------------
> Wer 2.3.6 nutzt ist selbst schuld.
Und wer solche Kommentare schreibt ist auch nicht mehr zu helfen! -
Re: Fragmentierung kein Problem mehr
Autor: Siciliano 09.09.15 - 12:11
Hier geht es darum, dass die Fragmentierung schön geredet wird. Das ist ein Problem und geht Richtung "Geplante Obsoleszenz", da dass Gerät resp. der Kunde fallen gelassen wird, weil es sicht nicht mehr lohnt. 1x Verkauf abgedrückt und tschüss!
-
Re: Fragmentierung kein Problem mehr
Autor: spaceMonster 09.09.15 - 12:29
Der Entwickler muss die App mit der aktuellen Toolchain erneut compilieren und hochladen... dies sollte mit minimalen Anpassungen möglich sein.
Es stellt sich die Frage warum du dein Geld (Kreditkarten informationen) jemanden Anvertraust der dir schon seit 4 Jahren keinen Support mehr leistet. -
Re: Fragmentierung kein Problem mehr
Autor: spaceMonster 09.09.15 - 12:57
...ok zum Thema Hardware fragmentierung:
Das Problem hat viele Facetten...
Displaygrößen: kein Problem mehr wenn man sich als Entwickler an die Designrichtlinien hält ( Dynamische Layoutcontainer, Dpi unabhängige Schriftgrößen etc), machen nur leider nicht alle, sodass es nach wie vor Apps gibt die auf alten Geräten Informationen abschneiden, oder Apps die auf 2K Bildschirmen 1mm hohe Schrift zeigen.
Prozessorarchitekturen: für Java/C#/JavaScript Apps keine Hürde, für C++ Entwickler dagegen schon. Spiele-/Krypto- Entwickler müssen hier mehr Aufwand betreiben
Grafikhardware: Spieleentwickler arbeiten kaum noch ohne Middleware wie Unity/UnrealEngine etc. dadurch haben sie mit den unteren schichten nicht mehr viel zu tun. --> Code läuft überall, Siehe Angry Birds / Temple Run / Hearthstone
Die Middleware entwickler selbst haben natürlich einiges an Arbeit.
Spiele die Direkt auf OpenGl ES aufsetzen (ohne Middleware) haben tatsächlich massive Probleme mit der Hardwarefragmentierung.
Prozessorgeschwindigkeit: Viele App Entwickler schaffen es gute Ergebnisse abzuliefern indem sie jeden Build auf einem sehr schwachen und einem sehr Starken Gerät testen.
... man könnte jetzt noch viel mehr Facetten beleuchten.
Mein eigenes Fazit ist:
Sehr viele App Kategorien haben keine Probleme mit der Hardewarefragmentierung:
BankingApps, Unternehmensinterne Apps, Zeitungen, News Aggregatoren, also alle Apps die einfach Informationen im Internet abrufen und irgendwie schön aufbereiten, können heutzutage auf Android ohne Angst vor der Hardwarefragmentierung implementiert werden (wenn die Plattform Design Guides eingehalten werden)
Kamera Apps/SnapChat und co. haben es schon schwerer, da einige Geräte spezielle Workaraounds benötigen wie die eigentlich standartisierte Camera API zu verwenden ist.
Spiele sollten unbedingt auf einer MiddleWare aufsetzen. -
Re: Fragmentierung kein Problem mehr
Autor: Siciliano 09.09.15 - 13:05
spaceMonster schrieb:
--------------------------------------------------------------------------------
> Es stellt sich die Frage warum du dein Geld (Kreditkarten informationen)
> jemanden Anvertraust der dir schon seit 4 Jahren keinen Support mehr
> leistet.
Die Kreditkarten-Firma verhält sich vermutlich korrekt, da einscheinend Sicherheitsbedenken für diese Android Version bestehen. Die Frage ist, lässt Google in meinem Fall Samsung hängen oder lässt Samsung die Kunden hängen.
Anderes Beispiel: Google resp. Youtube hat irgendein ein API fallen gelassen und nun kann man kein Youtube mehr auf der Glotze abspielen. Wer lässt jetzt hier wenn im Regen?!
Es gibt sicherlich noch zig weitere Beispiele und wenn das stimmt was eingangs dieses Themas erklärt wurde, dass die Fragmentierung technisch gesehen keine Hürde darstellt, dann ist es umso mehr ärgerlich, dass so viele Geräte nicht mehr aktualisiert werden. -
Re: Fragmentierung kein Problem mehr
Autor: cuthbert34 09.09.15 - 13:17
Interessanter Beitrag. Vielen Dank. Wenn man, wie ich null Plan davon hat, fällt es manchmal schwer diese Fragmentierung und daraus entstehende Probleme zu beurteilen.
Meine Eltern kauften sich vor ein paar Jahren das iPad 1. Ich glaub zum Release als das iPad 2 raus kam. Eigentlich wollten sie nen Laptop, aber das Tablet hat speziell meine Mutter ins Internet geführt. Worauf ich aber hinaus möchte, das Ding funktioniert heute noch tadellos. Es tut was es soll. Aber es gibt Apps, die da nicht mehr drauf laufen. Ob sie es nun könnten, mit viel oder wenig Anpassung, keinen Plan. Ich weiß nur, dass sie, um alles nutzen zu können, sich ein neues Modell kaufen müssten. Tun sie freilich nicht. Ich denke, am Ende trifft das doch aber auf alles zu. Bei Smartphones und Tablets fällt es uns vielleicht nur früher auf. -
Re: Fragmentierung kein Problem mehr
Autor: spaceMonster 09.09.15 - 13:32
ok wer lässt wem im Regen:
Altes Gerät (meinetwegen Samsung Galaxy Ace) mit Android 2.3.6 auf Android 5 Upgraden --> ist unmöglich/unsinn. Die Alten SoCs waren noch viel zu unausgereift, es hat sich schlicht zu viel geändert, um ein aktuelles Android auf so einem alten Gerät vernünftig zum laufen zu Bringen. --> hier sind alle Opfer der unausgereiften frühen ARM SOCs und der fehlenden Standartisierung --> hier lassen die Hardware (SoC) hersteller alle im Regen
Neue APP auf altes Android bringen? Hier lässt dich der Appentwickler (deine Bank?) im Regen. Die Begründung das die alte Android Version offene Sicherheitslücken hat und deshalb nicht mehr bedient wird ist zwar nicht abwegig, jedoch sollte die Banking app sich generell nicht auf die Infrastruktur des Betriebssystems verlassen (Zertifikatsprüfung, Https etc.) sondern eigene aktuelle (open Source) Bibliotheken für den Dantenverkehr und die Verschlüsselung etc. mitbringen. Diese lassen sich auch für Android 2.3.6 kompilieren... Bleibt nur noch die löcherige App Sandbox auf den alten Geräten, hier könnte der hersteller auf den alten Geräten eine Warnung zeigen, das auf eigene Gefahr gehandelt wird, wenn Apps aus unsicheren Quellen parallel installiert sind.
Das Google ab und zu APIs, Features und ganze Dienste einfach Streicht ist tatsächlich Scheiße, betrifft aber auch alle Gerätegenerationen. Kann also auch sein das morgen Chromcast eingestellt wird, oder übermorgen PayPal nicht mehr akzeptiert wird... reine Willkür --> hier lässt Google alle im Regen -
Re: Fragmentierung kein Problem mehr
Autor: bofhl 09.09.15 - 14:33
Siciliano schrieb:
--------------------------------------------------------------------------------
> spaceMonster schrieb:
> ---------------------------------------------------------------------------
> -----
> > Die Fragmentierungsdebatte in der Androidwelt ist meiner Meinung nacht
> kaum
> > noch relevant --> es gibt kaum noch Stellen wo eine Ältere Android
> Version
> > zum ShowStopper wird.
>
> Der Witz war gut... Beispiel gefälligst?! Meine Kreditkarten-App läuft
> nicht resp. wurde nicht für Gingerbread 2.3.6 freigegeben. Also was bleibt
> mir übrig? Entweder die App nicht nutzen, den Kreditkarten-Anbieter
> wechseln oder das Dual-Sim Smartphone meines Arbeitgebers versehentlich
> fallen lassen... Tolle Lösung!
Das die App nicht freigegeben wurde liegt aber nicht an Google oder der "AppCompat" Bibliothek, sondern am App-Entwickler bzw. seinem Auftragsgeber!
Außerdem - wer weiß ob überhaupt diese Bibliothek benutzt wird? -
Re: Fragmentierung kein Problem mehr
Autor: matok 09.09.15 - 17:12
spaceMonster schrieb:
--------------------------------------------------------------------------------
> Die Fragmentierungsdebatte in der Androidwelt ist meiner Meinung nacht kaum
> noch relevant --> es gibt kaum noch Stellen wo eine Ältere Android Version
> zum ShowStopper wird.
In der Theorie. In der Praxis geht es mit den Problemen los, sobald die App auf die verschiedensten Geräte trifft, die mit den verschiedensten Softwareaufsätzen der Hersteller versehen sind. Und dann Fehler mit nicht aussagekräftigen Logs nachvollziehen, wenn man gerade nicht die Hardware/Software Kombination vorliegen hat, sehr spassig.



