Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Swift bei Apple kaum in Verwendung

Mit Swift hat Apple vor zwei Jahren eine neue Programmiersprache für iOS und OS X vorgestellt, die theoretisch Objective-C ablösen könnte. Diese Erwartung hatte Apple damals selbst befeuert, indem man erklärte, dass Swift recht schnell die erste Wahl für Apps aller Art sein würde. Dies hat sich allerdings bislang wohl nicht bewahrheitet, wie aus einer Analyse von Ryan Olson hervorgeht. Im Fall von iOS 9.2 basiere demnach nur die Rechner-App zum großen Teil auf Swift, in OS X El Capitan kann beim Dock einige Swift-Komponenten antreffen. In allen anderen Fällen kommt bei Apple-Apps immer noch ausschließlich Objective-C zum Einsatz.

Im Zusammenhang mit den über den App Store vertriebenen Apple-Apps sieht die aktuelle Situation nicht besser aus. Einzig bei der WWDC-App ist auch Swift im geringfügigen Umfang anzutreffen - in gerade einmal 6 von 281 App-Klassen. Ein Grund dafür könnte in dem schnellen Wandel liegen, den die Sprache momentan noch hinlegt. Seit der Veröffentlichung hat Swift zahlreiche Änderungen erlebt und liegt mittlerweile in Version 2.2 als Open Source bereit. Diese vielen Änderungen sind möglicherweise der Grund, warum Swift bei Apple selbst bislang kaum zum Einsatz kommt.

Ob Swift in iOS 10 eine größere Verbreitung finden wird, ist aktuell noch völlig ungewiss. In einem Interview im Dezember erklärte Apples Software-Chef Craig Federighi, dass Swift insbesondere bei iCloud zum Einsatz kommen wird und damit Apples erstes großen Swift-Projekt ist. Momentan werde Swift aber noch als Lehrsprache für Einsteiger angesehen, mit der sich anschließend auch vollwertige Apps realisieren lassen. Allerdings ist Federighi ein Anhänger von Objective-C, wie er selbst im Interview zugeben musste.

Weiterführende Links:

Kommentare

aragorn19.01.16 09:28
Wen wundert's? Gefühlt alle 14 Tage gibt's ne neue Swift-Version, die teilweise alten Code bricht. Da macht's keine Spaß Produktivcode mit zu schreiben.
0
subjore19.01.16 10:07
aragorn
Wen wundert's? Gefühlt alle 14 Tage gibt's ne neue Swift-Version, die teilweise alten Code bricht. Da macht's keine Spaß Produktivcode mit zu schreiben.

Das passiert doch nur einmal im Jahr
Für Ende des Jahres wird es wieder passieren.
Hier steht was in Version 3.0 dazu kommen wird und dass es Code Kompatibilität brechen wird.



Da stehen aber auch coole Sachen, die nicht mit Swift 3.0 kommen werden. Viele coole Dinge die nächstes Jahr dann wohl mit Swift 4.0 oder übernächstes Jahr mit Swift 5.0 kommen werden. Danach wird die Sprache dann wohl ausgereift genug sein um es richtig einzusetzen.
0
nane
nane19.01.16 10:12
subjore
Danach wird die Sprache dann wohl ausgereift genug sein um es richtig einzusetzen.
Oder Apple hat keine Lust mehr und stellt das Projekt ein
Das Leben ist ein langer Traum, an dessen Ende kein Wecker klingelt.
0
ChrisRedfield19.01.16 10:31
Es ist doch klar das eine neue Sprache nicht sofort 100%ige Verbreitung findet.

Existierende Anwendungen werden aus wirtschaftlichen Gründen nicht in Swift neu implementiert, das kostet nämlich Geld.
Also kommt Swift nur bei neuen Projekten zum Einsatz und daher ist die Verbreitung auch (noch) so gering.

Für mich eine Null-Nachricht.
0
LoCal
LoCal19.01.16 10:43
Einen der wichtigsten Punkte aus Olsons Blogpost habt ihr unterschlagen:
There are no Swift libraries included with the OS because the ABI is not yet stable.

Deshalb gibt es z.B. noch keine veröffentlichten (System-)Frameworks die mit Swift implementiert wurden.

Und die Feststellung, dass die mit iOS mitgelieferten Apps kaum Swift nutzen und darum Apple wohl selbst kaum Swift nutzt ist eine komplett falsche.

1. Von der News.app mal abgesehen, sind alle iOS-Apps lange vor Swift entstanden und man wird die wohl kaum alle neue schreiben.
2. Werden bei updates meist bestehende Klassen angepasst und in einer Klasse kann man Swift und ObjC nicht mischen. Und ob es jetzt so sinnvoll ist mit aller Gewalt neue Klassen mit Swift zu implementieren, nur weil es aus "Marketingsicht" besser ist?
3. Der Switch von Carbon nach Cocoa dauerte auch eine gefühlte Ewigkeit.

Swift eignet sich bestens für neue Projekte, die keine Altlasten mit sich rumschleppen müssen.

Ich entwickle jetzt seit gut 15 Jahren in ObjC und ich liebe diese Sprache … aber trotzdem setze ich neue Projekte, ausser ein Kunde besteht darauf, nur noch in Swift um.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
0
PaulMuadDib19.01.16 11:15
Ich bin mittlerweile auf auf Swift umgestiegen. Bin begeistert. Allerdings ist das zur Zeit mehr ein Hobby. Es ist klar, daß kaum jemand seinen alten, gut funktionierenden Code wegschmeißt nur das ganz noch mal in Swift zu schreiben. Außer, es gibt Bereiche in denen es mit Swift einen deutlichen (Performance-) Vorteil gibt. Immerhin lässt sich ja Swift & ObjC mischen.
0
matt.ludwig19.01.16 11:38
LoCal
Einen der wichtigsten Punkte aus Olsons Blogpost habt ihr unterschlagen:
There are no Swift libraries included with the OS because the ABI is not yet stable.

Deshalb gibt es z.B. noch keine veröffentlichten (System-)Frameworks die mit Swift implementiert wurden.

Und die Feststellung, dass die mit iOS mitgelieferten Apps kaum Swift nutzen und darum Apple wohl selbst kaum Swift nutzt ist eine komplett falsche.

1. Von der News.app mal abgesehen, sind alle iOS-Apps lange vor Swift entstanden und man wird die wohl kaum alle neue schreiben.
2. Werden bei updates meist bestehende Klassen angepasst und in einer Klasse kann man Swift und ObjC nicht mischen. Und ob es jetzt so sinnvoll ist mit aller Gewalt neue Klassen mit Swift zu implementieren, nur weil es aus "Marketingsicht" besser ist?
3. Der Switch von Carbon nach Cocoa dauerte auch eine gefühlte Ewigkeit.

Swift eignet sich bestens für neue Projekte, die keine Altlasten mit sich rumschleppen müssen.

Ich entwickle jetzt seit gut 15 Jahren in ObjC und ich liebe diese Sprache … aber trotzdem setze ich neue Projekte, ausser ein Kunde besteht darauf, nur noch in Swift um.

+1!
0
ratti
ratti19.01.16 12:15
Da muss ein Irrtum vorliegen. Steve hat gesagt, OS X wäre total DIE Plattform für Java-Entwickler. Und? Wort gehalten.

Glaub ich.

…oder?

Naja, gut, bei Swift werden sie nicht noch mal lügen, äh, „sich irren“ wollte ich sagen.
0
LoCal
LoCal19.01.16 12:32
ratti
Da muss ein Irrtum vorliegen. Steve hat gesagt, OS X wäre total DIE Plattform für Java-Entwickler. Und? Wort gehalten.

Glaub ich.

…oder?

Naja, gut, bei Swift werden sie nicht noch mal lügen, äh, „sich irren“ wollte ich sagen.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
0
LoCal
LoCal19.01.16 14:41
ratti
Da muss ein Irrtum vorliegen. Steve hat gesagt, OS X wäre total DIE Plattform für Java-Entwickler. Und? Wort gehalten.

Glaub ich.

…oder?

Naja, gut, bei Swift werden sie nicht noch mal lügen, äh, „sich irren“ wollte ich sagen.

Und btw … ich habe in meinen Anfangsjahren mit OS X auch noch viel Java programmiert (hauptsächlich für IBM AS/400, iSeries, System i …oder wie immer IBM das nun nennt).
Und das ausschliesslich mit einem iBook G3 bzw. dem ersten intel MacBook.
Anfänglich noch mit eclipse dann mit aber auch immer mehr mit ProjectBuilder (so hiess Xcode früher)

Ich hatte nie irgendwelche Probleme.
Java hat (vorallem für mich) in letzter Zeit an Bedeutung verloren (Android ausgenommen).

Und last but noch least: Der mit dem ich mir hier das Büro teile macht Android-Entwicklung und nutzt auch OS X … und ich habe ihn noch schimpfen hören, dass das mit OS X nicht geht.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
0
Weia
Weia19.01.16 20:03
PaulMuadDib
Ich bin mittlerweile auf auf Swift umgestiegen. Bin begeistert.
Kannst Du sagen, warum?
“I don’t care” is such an easy lie. (The Warning, “Satisfied”)
0
PaulMuadDib19.01.16 20:04
ratti
Da muss ein Irrtum vorliegen. Steve hat gesagt, OS X wäre total DIE Plattform für Java-Entwickler. Und? Wort gehalten.

Glaub ich.

…oder?

Naja, gut, bei Swift werden sie nicht noch mal lügen, äh, „sich irren“ wollte ich sagen.
Nun hat sich Java inzwischen als ein Sicherheitsdesaster sondergleichen entpuppt. Ich bin froh, wenn dieser Müll weit von mir bleibt.
0
PaulMuadDib19.01.16 20:07
Weia
PaulMuadDib
Ich bin mittlerweile auf auf Swift umgestiegen. Bin begeistert.
Kannst Du sagen, warum?
Weil sich ziemlich viele Dinge sehr elegant lösen lassen. Optinals, Closures, Protokolle.
0
Weia
Weia19.01.16 21:43
PaulMuadDib
Weil sich ziemlich viele Dinge sehr elegant lösen lassen. Optinals, Closures, Protokolle.
Optionals, OK. Die sind ja eine reine Abkürzung, und es ist Geschmackssache, ob man das mag oder nicht. Perl liest sich ja bekanntlich auch wie eine einzige Abkürzung, und in der Regel ist dieses Argument nicht als Lob gemeint …

Aber Closures (a.k.a. Blocks) und Protokolle gibt es in Objective-C doch auch.

Ansonsten ist Eleganz so ziemlich das Letzte, was mir zu Swifts Syntax einfällt.
“I don’t care” is such an easy lie. (The Warning, “Satisfied”)
0
PaulMuadDib19.01.16 23:19
Optionals mitnichten eine Abkürzung. Endlich ist Schluß damit irgendwelche "NSNotFound" & Co. auszuwerten. Und das ist nur ein Aspekt.

Ich empfehle diese Videoserie, da wird einiges angegangen und gezeigt :
0
Weia
Weia19.01.16 23:48
PaulMuadDib
Optionals mitnichten eine Abkürzung. Endlich ist Schluß damit irgendwelche "NSNotFound" & Co. auszuwerten.
Aber das ist nur eine Abkürzung.

Was ist so schlimm an
if (result == NSNotFound) doThis;
else doThat;

Und das ist nur ein Aspekt.
Was wären andere?
Ich empfehle diese Videoserie
Ich kenne Swift. Ich finde es nur schrecklich. Deswegen versuche ich einfach zu verstehen, was jemanden dazu bewegen kann, es gut zu finden oder gar, wie Du sagst, begeistert davon zu sein.
“I don’t care” is such an easy lie. (The Warning, “Satisfied”)
0
Mr BeOS
Mr BeOS20.01.16 07:53
Taylor?
http://www.youtube.com/watch?v=ggCODBIfWKY ..... “Bier trinkt das Volk!“ - Macht Claus Nitzer alkoholfrei
0
LoCal
LoCal20.01.16 10:23
PaulMuadDib
Optionals mitnichten eine Abkürzung. Endlich ist Schluß damit irgendwelche "NSNotFound" & Co. auszuwerten. Und das ist nur ein Aspekt.

Dann hast Du entweder Optionals oder NSNotFound nicht richtig verstanden
Swift Doku
Swift also introduces optional types, which handle the absence of a value. Optionals say either “there is a value, and it equals x” or “there isn’t a value at all”. Using optionals is similar to using nil with pointers in Objective-C, but they work for any type, not just classes. Not only are optionals safer and more expressive than nil pointers in Objective-C, they are at the heart of many of Swift’s most powerful features.

NSNotFound ist eine Konstante die einfach einen IntegerWert, genauer gesagt den größtmöglichen, hat. Und NSNotFound gibt es auch in Swift.

static const NSInteger NSNotFound = NSIntegerMax;

Optionals sollen grob gesagt den Code sicherer machen … allerdings kann man Optionals auch so "vergewaltigen", dass das dann auch alles wieder hinfällig wird.

Weia
Was ist so schlimm an
if (result == NSNotFound) doThis;
else doThat;

Nichts, aber das hat auch nichts mit Optionals zutun.
Ok eine Sache ist doch schlimm … die geschweiften Klammern fehlen … das ist kein guter Stil!
Weia
Was wären andere?

Zum Beispiel die Typsicherheit oder, dass die Sprache von Haus aus weniger resourcenhungrig ist:
Ich empfehle hierzu dieses Video ab Minute 37:00.
Alexander von Below erklärt da sehr schön die Eigenheiten und Nachteile objc_msgSend
Weia
Ich kenne Swift. Ich finde es nur schrecklich. Deswegen versuche ich einfach zu verstehen, was jemanden dazu bewegen kann, es gut zu finden oder gar, wie Du sagst, begeistert davon zu sein.

Wie ich weiter oben schon geschrieben habe, ich mache seit gut 15 Jahren Objective-C-Entwicklung und ich liebe diese Sprache und vor allem auch die Syntax.
Aber so wie ich mich vor 15 Jahren an ObjC gewöhnen musste, so muss ich mich nun halt an Swift gewöhnen.
Und gefühlt bin ich mit Swift wesentlich schneller als mit ObjC … kann aber auch sein, dass das nur daran liegt, dass Swift "neu" ist.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
0
Weia
Weia20.01.16 10:53
LoCal
Swift Doku
Swift also introduces optional types, which handle the absence of a value. Optionals say either “there is a value, and it equals x” or “there isn’t a value at all”. Using optionals is similar to using nil with pointers in Objective-C, but they work for any type, not just classes. Not only are optionals safer and more expressive than nil pointers in Objective-C, they are at the heart of many of Swift’s most powerful features.
Das fett Hervorgehobene ist aus meiner Sicht der entscheidende Punkt. nil funktioniert nur mit Klassen. Aber wenn Du konsequent objektorientiert und also nur mit Klassen arbeitest, kann Dir das egal sein.
Weia
Was ist so schlimm an
if (result == NSNotFound) doThis;
else doThat;

Nichts, aber das hat auch nichts mit Optionals zutun.
Aber mit der These meines Vorredners.
Ok eine Sache ist doch schlimm … die geschweiften Klammern fehlen … das ist kein guter Stil!
Geschmackssache. Ich finde unnötige Klammern keinen guten Stil …
Zum Beispiel die Typsicherheit
Opfere Flexibilität für Sicherheit. Das ist ja der Zeitgeist allerorten, witzig, dass er selbst bis in etwas scheinbar so Unideologisches wie Programmiersprachen reicht. Ich mag diesen Zeitgeist überhaupt nicht.
oder, dass die Sprache von Haus aus weniger resourcenhungrig ist:
Was ziemlich egal wäre, wenn wir nicht diesen weltweiten Mobilitätswahn hätten, der die Leistungsfähigkeit der verfügbaren Hardware plötzlich wieder um Größenordnungen schrumpft.

Bis zum 30"-Cinema-Display wurde alles besser, die Leistungsfähigkeit der Hardware, die GUIs, die endlich von einem Display vernünftiger Größe ausgehen konnten und und und. Seitdem regrediert wieder alles, GUIs werden schwer benutzbar, weil sie wieder auf Miniwinz-Bildschirmen laufen müssen, die Programmiersprache muss hauptsächlich effizient sein, um mit kleinen CPUs und noch kleineren Stromversorgungen zurechtzukommen, und weil’s so gut passt, hat Apple in Swift bei der Gelegenheit auch wieder auf das nerdig unleserliche Abkürzungskauderwelsch der finsteren IT-Frühzeit umgestellt.

Und warum das alles? Damit wir bloß nicht 10 Minuten ohne IT durchs Leben gehen.
Ich empfehle hierzu dieses Video ab Minute 37:00.
Alexander von Below erklärt da sehr schön die Eigenheiten und Nachteile objc_msgSend
Ja, das sind ja alles wohlbekannte Trivialitäten. Die Dynamik von Objective-C ein bisschen Performance zu opfern, ist aus meiner Sicht ein Jammer.
Wie ich weiter oben schon geschrieben habe, ich mache seit gut 15 Jahren Objective-C-Entwicklung und ich liebe diese Sprache und vor allem auch die Syntax.
Aber so wie ich mich vor 15 Jahren an ObjC gewöhnen musste, so muss ich mich nun halt an Swift gewöhnen.
Aus dem Alter, in dem es erstrebenswert zu sein scheint, sich an alles zu gewöhnen, was der Zeitgeist vorgibt, bin ich raus. Entweder etwas ist intrinsisch gut, oder ich muss mich auch nicht daran gewöhnen.

Von der intellektuellen Brillanz von SmallTalk/Objective-C ist der Gemischtwarenladen Swift leider meilenweit entfernt.
“I don’t care” is such an easy lie. (The Warning, “Satisfied”)
0
PaulMuadDib20.01.16 11:19
LoCal
Dann hast Du entweder Optionals oder NSNotFound nicht richtig verstanden
Doch, habe ich. Das Beispiel ist nur ein Teilaspekt, bzw. ein Effekt, welcher aus der Idee der Optionals entsteht. Der eigentlich Grund ist natürlich ein ein anderer. Dieses Konstrukt wäre schlicht nicht mehr notwendig.

func find(what: String) Int?

Es ist vollkommen klar, wie das zu behandeln ist.
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.