Programski jezik Swift | PC Press

Programski jezik Swift

Početkom juna u San Francisku Apple je održao tradicionalnu WWDC konferenciju namenjenu pre svega developerima. Navikli smo da nas ta kompanija iznenađuje novostima, ali ove godine je objavljeno zaista mnogo konceptualnih novina i interesantnih proizvoda. Možda najviše pažnje izaziva novi programski jezik.

21_Swift_Screen-ShotNa WWDC‑u je predstavljen novi OS X koji je dobio ime Yosemite, po nacionalnom parku u Kaliforniji. Potpuno je redizajniran, a nov izgled je inspirisan pre svega iskustvima iz sveta mobilnih uređaja. Flat dizajn, providni paneli, bez gradijentnih prelaza, modernistički postavljen i vrlo pregledan, potpuno je u skladu sa Apple‑ovom visokom reputacijom.

Za mobilne korisnike

Korisnike Apple‑ovih mobilnih uređaja obradovaće iOS 8 koji donosi novi mehanizam za notifikacije, Spotlight za pretraživanje, mogućnost dodavanja novih tastatura nezavisnih proizvođača… To su samo neka od značajnih poboljšanja na koja ćemo se lako navići. Aplikacija za upravljanje porukama sada podržava audio i video sadržaj, a iCloud Drive je potpuno integrisan u iOS 8, tako da je cloud sadržaj odmah dostupan i automatski sinhronizovan.

U novi iOS 8 je uključena i aplikacija HealthKit koja prati zdravstveno stanje korisnika. Tu je i opcija porodičnog deljenja, Family Sharing, koja omogućava da šest članova porodice deli porudžbine sa iTunes servisa, uz mogućnost da roditelji kontrolišu sadržaje koji stižu do dece. Ugrađena je i nova aplikacija za fotografisanje i upravljanje snimcima.

Ipak, sve ovo ima stvarnog smisla uz adekvatne aplikacije koje proizvode nezavisni programeri i programerske kuće. Na ovom polju dugo nije bilo većih promena, ali je WWDC donela, ni manje ni više – nov programski jezik nazvan Swift.

Oslobađenje balasta C‑a

Projektanti su želeli da naprave moderan jezik koji će se osloboditi balasta jezika C, ubrzati proces razvoja, dati nove alate, a da pritom ne izgubi postojeće programere. Cilj je, dakle, da u budućnosti programera bude više, a da postojeći brzo i bezbolno pređu na novi jezik.

Koliko je Apple uspeo u toj nameri? Mišljenja su podeljena, ali mi smatramo da su potencijali novog jezika veliki. Kao i uvek kada sa susreću s novom platformom, programeri su uzbuđeni. Swift je projektovan godinama i došao je na tržište kao veoma zreo jezik sa zrelim okruženjem i pomoćnim alatima. Nepunih mesec dana od kada je ugledao svetlost dana, već postoji mnoštvo materijala koji pokrivaju razne tehnike i scenarije korišćenja. Apple nije izašao nespreman na tržište.

Na iTunes‑u od prvog dana postoje knjige The Swift Programming Language (oko 500 strana) i Using Swift with Cocoa and Objective‑C (oko 100 strana). Prva knjiga je pisana upravo onako kako programeri vole – detaljno, sistematično i stvari su jasne već posle prvog čitanja.

Cilj druge knjige je da vas „mekano“ prevede iz korišćenja Cocoa biblioteka kroz Objective‑C u novi Swift. Ovo uopšte nije komplikovano jer nećete svoje znanje API‑ja i SDK‑ova baciti, samo ćete preći s jedne sintaksne osnove na drugu kada to budete želeli.

Koliko je kodiranja potrebno za Hello World aplikaciju, često je programersko pitanje pri susretu s novim jezikom. Pa, evo otprilike ovoliko:

println(“Hello, world”)

Dakle, liči na C, ali liči i na bejzik i paskal, a i na neke druge jezike. Programiranje se izvodi u Xcode 6 integrisanoj okolini, koja je, doduše, u beta verziji, ali radi stabilno (barem su naša iskustva takva) i izuzetno brzo.

Interaktivna radna zona

Apple je uveo nov pojam – Playground. To je interaktivna radna zona, odnosno alat koji daje mogućnost programeru da vidi rezultate svog rada dok kuca kod. To je vrhunska novina – čim je budete probali, počećete da i u svojim svakodnevnim okruženjima tražite gde i kako to može da se uradi. Konzola debugger‑a sadrži interpreter koji odmah prijavljuje greške u kodu i ispisuje rezultate, čak daje i grafički prikaz na vremenskoj osi prilikom izvršenja petlji. U prevodu, u hodu možete da upravljate performansama svoje aplikacije i da debagujete kod pre nego što ste ga i startovali.

Reći ćemo i nekoliko reči o samom jeziku. Promenljive i konstante koje se koriste moraju biti deklarisane, ali kompajler sam identifikuje tip. Podržane su razne varijante nizova. Kontrole toka su standarne, dakle if i switch. Struktura programa se realizuje kroz funkcije (ključna reč func), ali i kroz koncept clousure‑a koji postoji i u drugim jezicima. Swift je potpuno objektno orijentisan jezik i podržava praktično sve koncepte vezane za klase i objekte. Instance se kreiraju pozivom konstruktora, na primer:

var shape = Shape()

dakle, ne postoji ključna reč – new, ali je i navedena sintaksa jednoznačna. Podržani su protokoli i ekstenzije, kao i generičke funkcije ili tipovi, recimo:

func repeat <ItemType <(item: ItemType, times: Int) ‑< ItemType[]

{…

Provera tipova

U trening centru firme YU Epicentar prvi kursevi Swift-a biće organizovani u avgustu

U trening centru firme YU Epicentar prvi kursevi Swift-a biće organizovani u avgustu

Za razliku od C‑a, Swift je type safe jezik – prilikom kompajliranja proveravaju se upotrebe promenljivih i konstanti i sve greške se markiraju. Tip promenljive ili konstante ipak je moguće i eksplicitno zadati:

let i: UInt8 = ‑1

let twoThousand:

UInt16 = 2000

Kraj reda ne zahteva oznaku tačka‑zarez, ali je dozvoljava i razume i moguće je upotrebiti taj znak u izvornom kodu kada želimo da spakujemo više komandi u jedan red teksta. Podržani su i Tuple tipovi – kada želimo da više raznorodnih vrednosti sastavimo u jednu, npr:

 

let http404Error =

(404, “Not Found”)

 

što je primer promenljive sastavljene od jedne Int i jedne String promenljive. Varijacija na sličnu temu je komanda Dictionary:

let base = 3

let power = 10

var answer = 1

for _ in 1…power {

answer *= base }

println(“(base) to the power of (power) is (answer)”)

Ukoliko ste iskusan programer, nećete imati problema da pređete na Swift i napišete aplikacije koje ćete publikovati na AppStore‑u. Ukoliko ste početnik u Apple svetu, toplo preporučujemo Swift jer je lakši za učenje od C‑a. Ako ste pak potpuni početnik, brzo ćete se navići i na Playground.

Programerski potencijal

Trening centar, prvi u istočnoj Evropi, još od 2006. obezbeđuje kvalitetnu obuku za operatere na Apple-ovim uređajima

Trening centar, prvi u istočnoj Evropi, još od 2006. obezbeđuje kvalitetnu obuku za operatere na Apple-ovim uređajima

U Srbiji i u okruženju programeri prave aplikacije za AppStore, pre svega za iOS. Većina njih aplikacije plasira inostranim korisnicima i prihode ostvaruje iz inostranstva. Postoji ozbiljan potencijal da se taj broj poveća i da više ljudi uveća svoje prihode. Pojava Swift‑a poboljšava situaciju i realno je očekivati da će se tražiti mnogo Swift programera. Objective‑C nije mrtav, ali ako ga dosad niste naučili, odmah učite Swift.

Yosemite, iOS 8 i Swift aplikacije još nisu na AppStore‑u – biće tokom rane jeseni, pa je ovo idealan period za pripremu. Domaća firma YU Epicentar, zvanični partner Apple‑a za Srbiju, u svom autorizovanom trening centru organizuje i obuke za iOS i OS X programiranje. Prvi, intenzivni kursevi Swift‑a na srpskom jeziku biće održavani od sredine avgusta a možda i ranije, za one nestrpljivije. Zahvaljujući uspešnoj saradnji s kompanijom Apple, ovo je prvi trening center u istočnoj Evropi koji još od 2006. godine polaznicima obezbeđuje najkvalitetniju obuku za vrlo plaćena zanimanja operatera na vrhunskim Apple uređajima i softverima, a od sada i za programiranje Swiftu‑u.

Možete se prijaviti za kurseve na Web sajtu www.macola.rs ili www.crossover.rs.

U trening centru firme YU Epicentar prvi kursevi Swift-a biće organizovani u avgustu

Trening centar, prvi u istočnoj Evropi, još od 2006. obezbeđuje kvalitetnu obuku za operatere na Apple-ovim uređajima

Milan Todorović

(Objavljeno u časopisu PC#212)


Asus


Original

Excel kuhinjica

Twitter