Jump to content

WWDC 14

Оцени ову тему


Препоручена порука

Objective-C i Swift su odlično premošćeni. Biblioteke napisane u jednom jeziku mogu se koristiti u drugom, klasa napisana u jednom može se naslediti u drugom, protokol (interfejs) definisan u jednom, može se implementirati u drugom itd. Xcode (IDE) vodi računa o sintaksi, pa čak i imena prilagođava konvencijama u datom jeziku. Nema nikakvih problema da na jednoj aplikaciji radi tim ljudi koji govore različite jezike i prelaz može da bude postepen i bezbolan.

 

i swift i objc rade na istom objc runtime-u, tako da je to ispod haube ista stvar

ali jezik je svakako bolji od objc, jer smanjuje tzv. ceremoniju, boiler plate, tj. količinu koda koji samo predstavlja podršku

  • Волим 1
Link to comment
Подели на овим сајтовима

Pretpostavljam da traže način da to usklade sa Obj-C. U modernom Obj-C public je ono što je deklarisano u interfejsu klase u .h fajlu, a private ono što je u .m fajlu, bilo u ekstenzije klase (properties, metode i promenljive), bilo u implementaciji (samo promenljive). Protected se u praksi dobija tako što se ekstenzija klase deklariše u posebnom header fajlu, pa se onda taj fajl uveze u podklase. Naravno, ovo samo određuje praktičnu vidljivost s polja, ne i suštinsku privatnost. Introspekcijom se bukvalno svemu može pristupiti. Swift nema .h fajlove, pa kontam da još mozgaju najoptimalnije rešenje.

Link to comment
Подели на овим сајтовима

super je swift samo da dodaju access modifier-e

 

malo liči na ruby, malo na scala-u, ponešto uzeli iz C#, od svega ono najbolje

 

sviđa mi se infering sistem (koji je upravo zaslužan za smanjenje ceremonije), npr. sortiranje niza:

 

let niz = [5,4,3,2,1]

 

sortiran = sort(niz, { (e1: Int, e2: Int) -> Bool in e1 < e2 })

sortiran = sort (niz, {e1, e2 in e1 < e2})

sortiran = sort (niz, {$0 < $1})

sortiran = sort (niz, <)

 

svi ovi sort redovi rade istu stvar, ali zadnji je fensi :), jer se iz deklaracija unapred zna da:

1 niz je Int[] tipa, pa se tip elemenata ne mora navesti u komparatoru

2 komparator vraća Bool, pa ni to nije potrebno eksplicitno napisati

3 zna se da komparator uzima 2 elementa, pa onda ni taj deo deklaracije nije potreban (uzmeš ih sa $0 i $1)

 

ali pošto je operator < funkcija istog potpisa (u swift-u se kaže istog tipa) kao što sort očekuje, onda samo mu samo daš < i prvu budžu svedeš na jedan karakter

  • Волим 1
Link to comment
Подели на овим сајтовима

Ima jedna stvar kod Apple-a, rekao bih da sve što prezentuju svake godine jeste nešto što već uveliko postoji kod konkurencije, i uopšte kao tehnologija. Naravno, oni svojeg konja nahvale kao da je krilati jednorog s kojim ćeš obleteti svet (uz patološku učestalost reči beautiful u marketingu), a u stvari je sve već viđeno na drugim platformama. (a i načeta jabuka je dobra analogija :) )

ALI, Apple se fokusira na UX i upotrebljivost, a to je nešto u čemu i Gugl i Majkrosoft uporno omašuju. Zato je mislim Apple br. 1 kada je u pitanju zadovoljstvo korisnika, zato su i uspešni toliko. Oni se fokusiraju ne toliko na tehnologiju, koliko na proizvod i upotrebljivost, ugođaj. I to je ono što je Džobs dobro razumeo, i povrh toga umeo da iskomunicira zašto si to oduvek želeo, a nisi ni znao :) A mislim da su i preterali, jer napraviše kult.

UX je stvar 21. veka i ko to ne shvati, ispada iz biznisa. Majkrosoft se ušuškao u svoj uspeh i zaboravio da okreće pedale, a i sam volan. Pokazuju veliki napredak sa win8 telefonima, ali generalno je moj utisak da slabo rade na UX-u. 

Link to comment
Подели на овим сајтовима

super je swift samo da dodaju access modifier-e

 

 

This will be in for the final release in the fall, it is specifically mentioned as the first item in the Xcode release notes. (link)

 

 

Chris Lattner

 

 

Known Issues in Xcode 6 Beta! Swift Language!

 

• Access control (public/private members) is not enabled in this seed. (15747445)! (link)
Link to comment
Подели на овим сајтовима

Поређење LINPACK перформанси:

 

2010 MacBook Air (четири године стар лаптоп) - око 6.3 гигафлопса

iPhone 5s (тренутни) - 10.4 гигафлопса

iPad Air (тренутни) - 14.6 гигафлопса

 

Извор: ”What's New in the Accelerate Framework”, WWDC 14

 

Значи лудило...

Link to comment
Подели на овим сајтовима

  • 2 months later...

Решио сам да пробам мало да пискарам и ево га први текстић о Swift-у.

 

https://medium.com/@ivicamil/higher-order-functions-in-swift-part-1-d8e75f963d13

Link to comment
Подели на овим сајтовима

Супер је чланак, само напред! :)

 

Ако сам добро разумео, ово у ствари "сабира и нуле" које условни оператор враћа:

 

let result = reduce(1...100, 0) {
$0 + (($1 * $1) % 4 == 0 ? $1 : 0)
}

 

Пошто сам цепидлака више би волео да се низ филтрира пре тога и онда само прави бројеви прођу кроз сумирање. Овако је мало "неправославно" јер је "подметање нуле" у ствари "hack" и прави простор за грешке касније.

  • Волим 1

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

  • Чланови који сада читају   0 чланова

    • Нема регистрованих чланова који гледају ову страницу
×
×
  • Креирај ново...