Proleteo sam kroz prvo poglavlje one knjige što si ostavio na FB i prilično mi se dojmi.
Morao bih nekom prilikom da se nateram da pročtam još koje poglavlje i da probam nešto da napravim, da vidim kako je to sve u realnom svetu, ali mi se sviđa što je sintaksa javaškija (iako nisam fan svih onih pizdarija ‘može bez ovoga, a može i bez ovoga’).
Realno, Skala klon. E, sad, nije to loše, naprotiv, meni se sviđa Skala. Pročtah par poglavlja sinoć i ima stvarno puno potencijala, jedini problem koji vidim jeste nedostatak kojekakvih 3rd party frameworka. Za početak je Cocoa dosta, ali da bi to zaživelo kao ‘svakodnevni’ jezik, moraće još frameworka da se portuju-wrapuju…
Preleteo preko prvog poglavlja (moja prva iBooks knjiga 😛 ). Oslobađanje od C osnove je pojednostavilo toliko stvari. Čini mi se da se slušao glas naroda (što teče Tim, ‘čtam ja vaše mejlove’) i verovatno će svako ko se bavio Javaskriptom, Javom, Rubijem itd. da se oseća udobno. Od ovoga malog što sam video, jedino mi je malo štrčalo deklarisanje povratne vrednosti funkcije, ali ništa strašno.
Tu je i ‘funkcija kao povratna vrednost’ što danas svi vole. Sa današnjim naprednim IDE programerima neće biti teško da počnu da rade sa novim programskim jezikom. Interesuje me koje će paterne Apple da preporuč, kao i kako su prečstili API i kako sada izvodimo sve one lepote kao što je stringWithContentsOfString.
Vremenom će svi ozbiljniji frejmvorci da budu migrirani (verujem da likovi iz AFNetworkinga već praše); u međuvremenu, ObjC i Swift kod će moći da se mešaju. Današnja Apple programerska zajednica je liberalnija od one starinske (koja jed teškom mukom prihvatila property-je i druge sitne inovoacije ObjC); pa mislim da će ova tranzicija da bude efikasna.
Toplice, pričaš samo na osnovu knjige ili si već stigao da probaš Xcode 6?
Nisam imao dodira sa Skalom, tako da meni više lič na JavaScript, mada je već vcalic na Fejsu pomenuo Skalu.
Ajd skini ti Xcode u prvih 24h po objavljivanju 😊 Pričam na osnovu knjige, dokumentacije i onog što sam video na prezentaciji.
U dokumentaciji piše:
After you have your Xcode project set up, you can import any framework from the Cocoa platform to start working with Objective-C from Swift.
Any Objective-C framework (or C library) that’s accessible as a module can be imported directly into Swift. This includes all of the Objective-C system frameworks—such as Foundation, UIKit, and SpriteKit—as well as common C libraries supplied with the system.
E mene buni prva rečenica. Da li tu ulaze i 3rd party frameworks ili samo Appleovi. Ako ulaze i third party onda super. Ako ne ulaze onda recimo ja imam, a i mnogi drugi verovatno problem jer ne mogu da koristim RestKit recimo.
Valjda će se Xcode 6 skinuti danas pa ću da javim rezultate.
tako da meni više lič na JavaScript, mada je već vcalic na Fejsu pomenuo Skalu.
Jedino sigurno - ne lič na ObjectiveC.
Meni lično izgleda kao smeša C# + Go + Cocoa(Touch). Što je dovoljno da ne smeta.
XCode početnici, a takvih je sudeći po keynote - poprilično, pre će koristiti Swift nego ObjectiveC.
Onaj benčmark da je Swift XX% brži od ObjC navodi me na zaključak da će Apple gurati Swift kao br 1, a ObjC ostaviti kao legacy. Naravno - nagađam.
Treba videti kako se koriste 3p C, C++, ObjectiveC bibiloteke. ObjectiveC, kao C nadogradnja, koristi ih direktno. Swift će verovatno morati da ima neki import kao što rade ostali jezici višeg nivoa. CocoaPods?
Evo upravo probah bezuspešno da koristim RestKit u switf-u. Šta sam radio:
1. Nabildao RestKit.framework
2. Dodao taj framework u Swift projekat
3. Nikakva kombinacija import RestKit-RESTKit-RestKIT…. ne pomaže. Kaže nema taj modul.
Verovatno će, kao što dmajkić reče, morati da se koristi neki importer/wrapper za za biblioteke i frameworke koji nisu pisani u swiftu…
Napravi se Podfile, i u njega se ubaci ‘pod RestKit’. Ovo napravi workspace sa dva projekta i poveže šta treba. Otvorio se workspace.
Nakon toga treba da se doda jedan fajl NazivProjekta-Bridging-Header.h, i u njemu jedan red - #import <RestKit/RestKit.h>.
Ovaj projekat gore ima još jedno podešavanje gde stoji
SWIFT_OBJC_BRIDGING_HEADER = ‘RSSReader/RSSReader-Bridging-Header.h’. Dakle naveden je taj specijalni fajl preko koga su vidljiv ObjectiveC u Swift projektu.
Ja nisam uspeo da dodam ovo podešavanje - kaže da već postoji SWIFT_OBJC_BRIDGING_HEADER, ali načn postoji.
I hesitate to make the comparison, but Swift’s appearance is superficially reminiscent of JavaScript—but you will quickly realize that it is significantly more powerful and very carefully thought out.
I meni se isto učnilo, verovatno zato što se već mesecima svakodnevno bavim JavaScript-om.
Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
Pa nije ni čudo što svako prepoznaje neki drugi jezik 😊
Nesto mnogo menjaju sintaksu izmedju beta xcode verzija? Ja sam malo eksperimentisao u beta 3, proglasio da nije los jezik da bih posle probao sve u beta 5. Ne cini mi se da je sad bolje ali mozda propustam neku logiku koja izmene cini opravdanim.
Ono sa ? i ! mi se nikako ne svidja, deluje kao nepotrebna komplikacija svega. Jel to ima neka fora sto ne moze prost objekat koji moze da bude nul al se nikad ne raspakuje da bi mu pristupio? Zasto opcionali u jeziku?
Nekad se to zvalo znak čudjenja i znak divljenja, pa Apple cuo pa mislio istina. Ne znam uopste sta bih bez dva znaka pitanja i jednog uzvika u ovoj liniji. A bez njih nece da kompajlira.