Was danach kam war eine Tour de Force. All die APIs und dann boom Swift. Ich zieh gerade auch das neue XCode. Muss ich dafür gleich auf Yosemite gehen chrizel?
Xcode 6 lauft auch unter Mavericks, verwende ich heute schon den ganzen Tag auf dem MBP hier in der Arbeit.
Habe gestern abend ja noch OSX 10.10 installiert auf meinem rMBP. Lauft eigentlich fuer eine Beta schon sehr stabil. Die neue Schriftart hat tatsaechlich einen grossen Impact, am Anfang ungewohnt, nach ner Zeit gewoehnt man sich allerdings daran. Alles in allem schaetze ich das neue Design als eine gute Sache ein... fuer mich ist das die groesste OSX GUI-Aenderung seit den letzten 14 Jahren... noch nie wurden die Controls und die Optik so drastisch geaendert... das neue Button-Design mit der neuen Schrift erinnert mich teilweise an Themes von Linux-Desktops von frueher... allgemein erinnert mich einiges an KDE... xD
Noch mehr Zeit habe ich gestern und heute allerdings mit Swift verbracht... die ersten Seiten vom Quick-Start-Guide durchgelesen -- generell ist das Buch zur Sprache sehr gut geschrieben; mit dem Playground rumgespielt und eine iOS-, und eine OSX-Demo-App gebastelt.
Swift erinnert an vielen Stellen an die Sprachen Rust und Kotlin. Ich war vor zwei Jahren von Kotlin ziemlich begeistert, desshalb sieht es mit Swift genau so aus. Die generelle Art und Weise wie man Klassen erstellt ist sehr Java/C#/C++ angelehnt... es gibt keine Header-Dateien mehr. Daneben sind Ideen von Pascal, Lua, Python, Ruby, ML, Haskell, etc. in der Sprache zu finden...
Eine Eigenheit erinnert noch an Objective-C: Methoden-Parameter muessen benannt werden (entweder explizit wie unten im Beispiel, oder implizit ueber den Parameter-Namen), was fuer sich gesehen fuer verstaendlicheren Code sorgt (und dadurch ist Swift mit Objective-C kompatibel), allerdings wahrscheinlich Anfaenger noch verwirren koennte... zumindest ist die Syntax mehr an Algol angelehnt.
Code:
class Counter {
var count: Int = 0
func incrementBy(amount: Int, numberOfTimes times: Int) {
count += amount * times
}
}
var counter = Counter()
counter.incrementBy(2, numberOfTimes: 7)
Die Sprache ist typsicher, unterstuetzt echte Generics, hat automatische Speicherverwaltung, wird dank LLVM auf Maschinencode kompiliert, und ist in Sachen Geschwindigkeit wahrscheinlich gar nicht so weit von C und C++ entfernt. (ich glaube ich werde das noch selber testen) Ueber ein Bridge-Header-System kann man ziemlich einfach C und Objective-C-Code in Swift aufrufen, ohne Gluecode erzeugen zu muessen. Die Xcode-Integration ist exzellent, Debugging, Codevervollstaendigung, Projekt-Templates...
Swift passt sehr gut ins Apple-Ecosystem. Darunter unter Xcode zu entwickeln fuehlt sich an, als habe es nie etwas anderes als Swift gegeben. Es macht Spass, und ich suche mir jetzt wohl nach langen Jahren mal wieder irgendein Bastelprojekt das ich in Swift machen koennte.