23
Google Dart

Javantura Zagreb 2014 - Google Dart - Željko Kunica

Embed Size (px)

DESCRIPTION

Konferencija Javantura Zagreb 2014 by HUJAK Zašto je Google Dart spas za Java programere? by Željko Kunica Java programeri su naučili na “lijep” i strukturiran jezik. Zato im često JavaScript zadaje glavobolje. Ali JavaScript je sveprisutan i svakim danom sve popularniji. Također novi trendovi nameću “pametnije” web aplikacije što nameće još više JavaScripta. Dartlang (www.dartlang.org) je rješenje koje Java developeri razumiju i cijene! Struktura jezika vrlo je prepoznatljiva, a neke karakteristike bi bilo lijepo vidjeti u budućim verzijama Jave. Predavanje je uvod u izradu JavaScript aplikacija korištenjem Darta.

Citation preview

Page 1: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Google Dart

Page 2: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Web

• Server: sad su onda dobra stara

vremena

• Klijent – dominacija HTML, CSS i Javascript

• Povratak na fat client – Javascript postaje

nezaobilazan

Page 3: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Javascript

• dinamičan jezik nastao kao “ispomoć”

html-u

• prototype baziran

• vrlo slobodna forma pisanja - puno struja

• velik broj loše dizajniranih ponašanja

• skoro nemoguća IDE podrška

• jezik kojeg se voli ili mrzi ili oboje

Page 4: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Javascript - danas

• nodejs - serverska podrška i korisni

alati

• upravljanje bibliotekama - npm i bower

• build alati - grunt i njegovi pluginovi, ima i

drugih

• jslint i jshint

• ECMAScript 6 i 7

Page 5: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Google

• Google radi web aplikacije

• postojeće je sve teže održavati

• performanse postaju problem

• došlo je vrijeme za “pravi” browser jezik

Page 6: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dartlang - ciljevi

• mora biti strukturiran jezik,

prepoznatljiv programerima

• Javascript je svugdje i dart2js mora biti

“savršen”

• Dart aplikacija se izvršava na DartVM-u, a

fallbacka na Javascript

• DartVM mora biti brz

• mora imati podršku za ugodan rad s

biblioteka i njihovim ovisnostima

• dobra IDE podrška

Page 7: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Što je Dart?

• objektno orijentiran jezik

• baziran na klasama

• single threaded

• “optionaly typed” - podržava compile

provjeru, ako se koriste tipovi

• izvršava se u checked ili production modu

Page 8: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - prepoznatljiv jezik

Page 9: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - metode

Page 10: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - kolekcije

Page 11: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - asinkronizam

• Future

Page 12: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - html

Page 13: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - polymer

• web components

• shadow dom

• predlošci

• data binding

• u razvoju

Page 14: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - polymer

• html template

Page 15: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - polymer

• komponenta

Page 16: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - polymer

• html upotreba

Page 17: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - pub

• pomoćni alat za biblioteke,

po uzoru na bundler

• ovisnosti se definiraju u pubspec.yaml

• preuzete ovisnosti se zapisuju u

pubspec.lock

• pub install, pub upgrade, pub publish

• javni repozitorij http://pub.dartlang.org

Page 18: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - js

• omogućava komunikaciju s

Javascriptom

• još nije podržano korištenje Darta iz js-a, ali

se mogu izložiti Dart funkcije u js

• Dart objekti se ili transformiraju ili proksiraju

prema js-u

Page 19: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - js

Page 20: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - danas

• verzija 1.1

• generirani Javascript podržava sve moderne

browsere

• još nije izašao DartVM plugin za Chrome

• testovi pokazuju da je Dart duplo brži od

Javascripta

• Prevode se mnogi Javascript frameworci:

Angular, jQuery, Bootstrap (Bootjack),

Google maps….

Page 21: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Dart - konkurencija

• CoffeScript - bolja sintaksa za

Javascript

• TypeScript - Javascript od “sutra”, usko

vezan na JS, i dalje pati od nedostataka

• Dart je puno hrabriji jer nije ovisan o JS-u

nego ga samo podržava.

Page 22: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Zašto je Dart spas za nas?

• sličan Javi

• jednostavnost apstrakcije

• moćan IDE - refaktoriranje, provjera sintakse

• sve to nam omogućuje pisanje “čistog” koda

• čist kod je bitan jer ćemo ga više čitati nego

pisati

• čist kod nas čini sretnima :)

Page 23: Javantura Zagreb 2014 - Google Dart - Željko Kunica

Reference

• https://www.dartlang.org/

• https://github.com/sethladd

• http://blog.angulardart.org/

• http://www.žac.com/