iOS 8, Mac OS X Yosemite, Swift und anderer Kram

Am Montag war es soweit und Apple hat auf der WWDC 2014 (World-Wide Developer Conference) die Zukunft seiner Betriebssysteme und der darunterlegenden Technik gezeigt. Viele hatten auch mit neuer Hardware gerechnet und wurden entsprechend enttäuscht, andere waren von vorne herein davon ausgegangen, dass dieses Mal nur Software gezeigt werden würde. Ich persönlich habe kein Problem damit, dass keine neue Hardware gezeigt wurde - ich tue mich jedoch teilweise schwer mit den Fortschritten, die gezeigt wurden.

Fangen wir bei dem Positiven an: Continuity. Apple wird seine beiden Systeme iOS und Mac OS X stärker miteinander integrieren. So soll es möglich sein, Arbeiten auf dem einen System zu beginnen und nahtlos auf das andere System zu wechseln, um dort die Arbeit zu beenden - zum Beispiel das Schreiben von E-Mails oder das Browsen im Web. Auch soll es möglich sein, Telefonate via Mac OS X anzunehmen, zu führen und auch zu initiieren. Was bisher nicht bekannt ist, ist, ob das ganze nur für Anwendungen von Apple funktionieren wird oder ob auch Drittanbieter die Funktion nutzen können. Auch ist noch nicht bekannt, wie das ganze funktionieren wird. Man hofft, dass es, wie AirDrop und AirPlay auf das lokale Netzwerk begrenzt sein wird und keine Daten über die iCloud geschleust werden.

Es wurde auch beworben, dass AirDrop nun zwischen iOS und Mac OS X funktioniert, doch ehrlich gesagt halte ich eher das bisherige Fehlen dieser Integration für einen Bug. Das ganze als Feature zu bezeichnen, halte ich für übertrieben. Das war es dann - in meinen Augen - aber auch schon mit den großen positiven Neuerungen. Wenden wir uns also den negativen Dingen zu.

Da wäre als erstes das neue, flache Design von Mac OS X. Ich denke, es ist nichts schlechtes daran, dass Apple hier dem Trend seines Mobilsystems folgt. Ich halte jedoch die Umsetzung für Apple-unwürdig. Es wurde zum Beispiel damit geworben, dass es nun ein einheitlicheres Fensterdesign gäbe. Dieser Meinung bin ich überhaupt nicht. Um Platz zu sparen, wird nun die Titelleiste der Fenster mit Buttons und Eingabefeldern zugemüllt - individuell je Anwendung. Zudem kommen - wie auch schon bei iOS - nun semi-transparente Oberflächen zum Einsatz. Leider konnte man sich offenbar nicht darauf einigen, wann welcher Bereich einer App transparent sein darf. Deshalb hat jede Anwendung andere Bereiche, in denen sie durchscheinend ist. Konsistenz ist in meinen Augen etwas anderes.

In der Notification Area beider Systeme halten nun Widgets Einzug. Ich bin gespannt, wie Apple absichern will, dass diese zusätzlichen Informationsblöcke die Akku-Laufzeit nicht unnötig in die Knie zwingen.

Sowohl bei Mac OS X als auch bei iOS wird nun auch Spotlight stark überarbeitet. Bereits bei der Sucheingabe sollen auch Ergebnisse aus dem Internet (z.B. Wikipedia und Suchmaschine) herangezogen werden. Mit anderen Worten: Tastenanschläge in Spotlight werden - nach dem Willen von Apple - nun auch direkt bei Drittunternehmen landen, sollte man diese Funktion nicht ausschalten können.

Und auch Apple möchte gern noch mehr Daten von seinen Nutzern erhalten. So möchte man die Fotogalerie gern komplett über die iCloud laufen lassen. Auch sollen zukünftig E-Mail-Anhänge, die "zu groß für den Versand" sind, in der iCloud abgelegt und dort vom E-Mail-Empfänger abgerufen werden. Ich für meinen Fall haben in den letzten Tagen jedenfalls erstmal wieder ausprobiert, iCloud komplett zu deaktivieren - vorsorglich.

Die architekturell größten Einschnitte wird es hingegen bei iOS geben. Apple tut nun relativ viel dafür, dass Apps von Drittanbietern sich tiefer ins System eingraben können. So soll nun Inter-App-Kommunikation stärker unterstützt werden. Fremd-Apps sollen sich z.B. in systemseitige Auswahl-Menüs einklinken können. Auch das Ersetzen der On-Screen-Tastatur soll zukünftig möglich sein. Und es soll Entwicklern nun möglich sein, näher an die Hardware heran zu kommen, um deren Performance besser ausreizen zu können. Alle diese Änderungen klingen für mich danach, dass man bewusst Sicherheitsschichten im System durchlöchert, um näher an Android heranzukommen. Es wird sich zeigen müssen, ob sie sich damit nicht Probleme einhandeln, die sie lieber von ihrer Plattform ferngehalten hätten.

Die wahrscheinlich größte Überraschung war jedoch die Einführung von Swift - einer neuen Programmiersprache, die zukünftig bevorzugt für die Entwicklung von iOS-Apps und Mac OS X Anwendungen genutzt werden soll. Es wurde direkt ein kostenloses Handbuch angeboten, in dem die Sprache beschrieben ist. Ich habe es mir nicht nehmen lassen, mir einmal die ersten Kapitel anzusehen - bin jedoch gelinde gesagt enttäuscht. Man hat eine riesige Nutzerbasis, sodass sich die Sprache durchsetzen wird - man hat die Chance jedoch nicht genutzt, eine wirklich gut gestaltete Sprache einzuführen, sondern hat sich offenbar mit einem inkonsistenten Schnellschuss zufrieden gegeben.

So werden beispielsweise Variablen mit dem Wort "var" eingeleitet, Konstanten hingegen mit dem Wort "let". Während "var" eine Abkürzung des passendes Substantivs "Variable" ist, handelt es sich bei "let" um ein Verb, aus dem sich die Zuordnung zu "Constants" nicht ableiten lässt.

Ein anderes Beispiel sind Optionals: Apple hat erkannt, dass es praktisch ist, Variablen neben ihrem eigenen Wertebereich optional auch einen "leeren" Wert zuweisen zu können, der z.B. aussagt, dass eine Berechnung in einem bestimmten Zahlenbereich nicht erfolgreich war. Um zu prüfen, ob eine Variable diesen leeren Wert beinhaltet, muss eine if-Abfrage genutzt werden:

1
if (optionalVariable) {}

Auf die gleiche Weise wird jedoch auch abgefragt, ob eine Boolean-Variable den Wert "true" enthält:

1
if (boolVariable) {}

Trotzdem behauptet man, total typensicher zu sein, weshalb man es verbietet, Integer-Werte in einfachen if-Statements auf ihren Zustand zu prüfen:

1
2
3
if (intVariable) {} // wirft einen Compiler-Error

if (intVariable != 0) {} // funktioniert

Wer gern auf Inkonsistenz- und WTF-Jagd gehen will, kann sich gern das Manual zu dieser Sprache ansehen.

Was mich an Swift jedoch am meisten aufregt: Apple wirbt mit der höheren Geschwindigkeit dieser Sprache gegenüber Objective-C und Python. Geschwindigkeit. Der Sprache. Dass die Geschwindigkeit von den Libraries, APIs und der Implementierung des Compilers abhängt, aber ganz sicher nicht von der formalen Sprache, sollte eigentlich jedem bei Apple einleuchten, der etwas mit Programmierung zu tun hat. Trotzdem wird dieser Schwachsinn verbreitet.

Und um den ganzen die Krone aufzusetzen: Es gibt bereits eine Programmiersprache namens Swift - die Paper zu dieser Sprache reichen zurück bis ins Jahre 2007. Well done, Apple!

Facepalm, Kenny m(

2 Kommentare » Schreibe einen Kommentar

  1. Zu dem Thema Spotlight: In den Einstellungen lassen sich die zu durchsuchenden "Bereiche" individuell ein und aus schalten, der Punkt "Webseiten" sollte das von dir angesprochene Problem lösen.
    Für AirDrop von iOS zu OS X ist es auch nötig Bluetooth aktiviert zu haben, auf beiden Geräten. Ich gehe auch davon aus, dass Continuity auf dem gleichem Weg funktionieren wird. So könnte auch zum Beispiel sichergestellt werden, dass sich beide Devices "nahe sind" und man nicht quer über die Welt per VPN "weiterarbeitet". Generell wäre es ja suboptimal wenn per se alle Geräte mit der gleichen Apple ID permanent auf diese Weiße verbunden wären obwohl man selbst nicht da ist.
    Telefonieren via Mac würde ja auch nur innerhalb des Netzwerkes Sinn machen. Ansonsten würde es zu sehr auf Lasten der Gesprächsqualität gehen. Ich hoffe Apple war da so schlau, je andere Art der Implementierung würde ich auch für idiotisch halten.
    Zudem legte Apple bei der Vorstellung der neuen "Wortvervollständigung" wohl großen Wert auf Datenschutz und belässt die Daten lokal, wie sie sagten.
    Ich hoffe sie folgen ihrer Aussage auch bei den anderen Features!

    • Ich gehe im ersten Schritt auch davon aus, dass sie dafür primär Bluetooth und WiFi einsetzen werden. Ich sehe allerdings auch, dass sie schon sehr stark in Richtung iCloud drängen. Wie geschrieben: Ich habe letztens mal versucht, iCloud überall zu deaktivieren. Hätte ich nicht mehrere Geräte, wären mir tatsächlich Daten (primär Kontaktdaten) verloren gegangen.

      • Das ist ja mehr oder weniger bei jeder Cloud-Lösung so gegeben, ohne lokales Backup würden überall Daten verloren gehen. In der aktuellen Version sind natürlich Backups von anderen Daten schwer möglich, lediglich über die Programme selber, sofern sie eine Export/Backup-Funktion bieten. Dies wird wiederum durch das "neue Dateisystem" möglich. Generell folgt Apple nur dem Trend des Cloudcomputing und vereint immer mehr Dienste in ihrer eigenen Cloud. Dazu ja auch das neue CloudKit.
        So wird man es in Zukunft immer schwerer haben ohne diese Cloud-Angebote auszukommen. Insofern bleibt nur zu hoffen, dass Apple hier auch wirklich den Datenschutz wahrt und dem entsprechend die Daten schützt und nicht weiter nutzt.

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.