Titus
Acessibility ist die Nutzung des Smartphones für behinderte Menschen, vornehmlich Blinde.
Unter 2.x bin ich den Menu-Button gewöhnt, unter 4.x gibts den nicht mehr. (Das meinte ich mit 'dazugehöriger Hardware').
Klar, wenn man mit seinem Altgerät auf 4.x umstellt findet man erst mal keine Unterschiede. Von einem für 2.x konzipierten Gerät auf ein für 4.x konzipiertes Gerät jedoch schon.
Was die zahlenden Kunden angeht: die definitiv sichtbaren Unterschiede wie die Menubar in 4.x und den Menubutton in 2.x zu implementieren ist kein signifikanter Mehraufwand. Falls doch sollte man seine Profession überdenken.
'Vereinfachte Nutzung der Content Provider' heißt doch aber auch, dass man sie bereits unter 2.x ohne Support Library nutzen konnte. Nun ja, wenn sie es vereinfacht haben, umso besser.
killphil
Ja, ich reite auf den UI Sachen rum.
ViewPager, Gestures, alles UI Sachen.
Accessibility als non-UI habe ich bereits genannt, die Datenprovider sind eventuell auch interessant.
Ansonsten haben sie eine unglaublich geringe Anzahl an Systemdingen verbessert - das hätte auch in ein OS Update fließen können...
Ach nein, das Updaten ist ja so eine Sache, da jeder Depp sein eigenes ROM basteln darf. Da ist so eine Support Library der weniger elegante aber einfachere Weg: wälzen wir das Problem einfach an die Entwickler ab.
Wenn ich für 4.x und 2.x entwickeln will, dann will ich unter 4.x die Action Bar und unter 2.x eben nicht.
Bei allen Anwendungen habe ich entweder überall die Action Bar, weil das so mit der Support Library gemacht, oder nirgendwo, weil noch aus 2.x Zeiten. Das nervt mich.
Das meine ich mit Cross Platform: die Bedienung des Entgerätes hat sich komplett geändert, nur dadurch, dass eine Taste geändert wurde. Dadurch hat man trotz Android/Dalvik ein komplett anders Look'n'Feel. Es ist zwar nur im Detail komplett anders, aber dennoch komplett anders.
Ich sage auch nicht, dass Fragments per Definition Mist sind. Sondern dass sie ein lausiger Kompromiss zur Behebung eines früheren Designproblems darstellen.
Ihr Sinn ist schon erkennbar - dennoch mag ich sie gern vermeiden. Eben weil es sich wie eine Bastellösung anfühlt und ich aktuell nicht für Tablets entwickle. (hoffentlich nie, ich halte nix von den Dingern.)
Und hey, ich hab vor Kurzem erst Dungeon Keeper 2 auf dem Windows-7 Rechner meiner Freundin installiert. Abgesehen vom verzerrten Sound läuft das super.
Ja, es wird viel gearbeitet an Android.
(Sinnvolle Accessibility-Implementierung erst in 4.1, in 4.0.x war es zwar vorhanden doch für Blinde nahezu nicht einstellbar, 2.x hatte überhaupt gar nix und alles musste nachinstalliert werden.)
Spannenderweise wird bei Google nachgereicht während Apple vorausgedacht hat. Mal sehen, wie sich M$ so schlägt.
Und was das iPad 1 betrifft: das Ding ist einerseits hardwaretechnisch eine totale Krücke und ein Schnellschuss um auf dem Tabletmarkt Fuß zu fassen. Andererseits ist das Mistding 2,5 Jahre alt und ich bekomme jetzt schon kein 4.1 Update für mein Samsung Galaxy S2. (Ändert sich vielleicht noch, aber ungefähr 6 Monate auf die Anpassung eines Updates und die Freigabe zu warten... das nächste Gerät ist direkt von Google.)
Übrigens ist mit dem iPad 1 auch das iPhone 3G abgeschrieben - nach über 4 Jahren. Hier fasse ich deine Argumentation von vorhin auf:
iOS ist ein Betriebssystem für mobile Platformen was sich in permanenter Entwicklung befindet, eben weil sich auch diese Platformen in einem wahnsinnigen Tempo verändern. ARMv6 gibt es so gut wie gar nicht mehr, ARMv7 ist am Absterben und ARMv7S ist im Kommen. Um den Kompatibilitätsaufwand gering zu halten muss komplett inkompatibler alter Kram halt weichen.
Abgesehen davon hast du iOS 5.1, also mecker nich.
Die Jungs und Mädelz, die auf 4.2 stecken geblieben sind (iPhone 3G) haben Grund zu jammern, da mit dem neuen SDK nur iOS5 und iOS6 unterstützt werden können und kaum jemand sich die Mühe macht iOS <5 zu unterstützen.
Darüber, dass du auf deinem iPad keine neuen Anwendungen mehr lauffähig bekommen wirst, musst du dir frühestens in einem halben Jahr Gedanken machen.
Zugegebenermaßen bin ich auch ein bisschen melancholisch was Android betrifft. Damals™ zu G1 Zeiten, als der Neo Freerunner auf den Markt kam und tatsächlich auch ein Android-Port dafür erstellt wurde, da war Android toll. So neu, so aufregend, ein feines Linux-Gebastel. Ja, so war das anno 2008.
Nun ist es vier Jahre später, die aktuelle Android-Version für das Gerät ist die 2.1 und es ist noch immer ein heilloses Gebastel. (Display kann 640x480 Pixel, Grafikprozessor rennt am Besten mit 320x240 -> Android faktisch nicht nutzbar weil arschlangsam)
Und dann bekommt man ein Samsung Galaxy S2 und später ein HTC One V in die Hand gedrückt und fühlt sich an damals™ erinnert: reines Gebastel.
Das führt sich dann bis in das SDK fort...
Beispiele
Freerunner:
per dfu-util lustige Partitionen auf dem Gerät umherschieben, um ein System zu installieren.
unerklärliche sporadische Abstürze, weil irgendein Treiber nicht vernünftig implementiert wurde.
sporadisch funktionierendes WLAN abhängig von Mondphasen, mittlerem Hochwasserstand und der relativen Luftfeuchtigkeit in Kathmandu.
HTC/Samsung:
sporadisch ausfallende Netzwerkkonnektivität trotz WLAN-Verbindungssymbol und Pingbarkeit, durch erneuten Verbindungsaufbau zu beheben.
sporadisch ausfallende Netzwerkkonnektivität des mobilen Netzwerkes, durch Neustart zu beheben.
sporadisch ausfallender SMS-Empfang, durch Neustart zu beheben.
SDK:
ListView mit unterschiedlichen Anzeigen: Gebastel mit ViewHolder, da es ohne gern mal ruckelig lahm wird.
Liste mit unterschiedlichen Objekten: Gebastel mit irgendwelchen generischen Objekten oder Interfaces dank der dämlichen Typenbindung.
Persistieren von eigenen Objekten: Gebastel mit ORM-Frameworks, weil FileProcessing (XML z.B.) einfach mal arschlangsam ist.