43
ZAŠTO JAVASCRIPT? ZAŠTO DANAS?

Zašto JavaScript? Zašto danas?

  • Upload
    liseli

  • View
    102

  • Download
    3

Embed Size (px)

DESCRIPTION

Zašto JavaScript? Zašto danas?. JS zadovoljava potrebe današnjeg Interneta. JS je nastao u browseru. Kako funckionira web browser?. URL. HTML. GET CSS. GET IMAGE. GET JS. HTML stranica. HTML  recept za izgradnju stranice CSS  izgled JS  dinamičnost. Event driven i asinkronost. - PowerPoint PPT Presentation

Citation preview

Page 1: Zašto JavaScript? Zašto danas?

ZAŠTO JAVASCRIPT?ZAŠTO DANAS?

Page 2: Zašto JavaScript? Zašto danas?
Page 3: Zašto JavaScript? Zašto danas?

JS ZADOVOLJAVA POTREBE DANAŠNJEG INTERNETA

Page 4: Zašto JavaScript? Zašto danas?

JS JE NASTAO U BROWSERU

Page 5: Zašto JavaScript? Zašto danas?

KAKO FUNCKIONIRA WEB BROWSER?

URL

HTML

GET IMAGE

GET

JS

GET CSS

Page 6: Zašto JavaScript? Zašto danas?

HTML STRANICA

HTML recept za izgradnju straniceCSS izgledJS dinamičnost

Page 7: Zašto JavaScript? Zašto danas?

EVENT DRIVEN I ASINKRONOST

Page 8: Zašto JavaScript? Zašto danas?

EVENT DRIVEN

• Jedan event loopa) Zaprimanje evenatab) Akcije/odgovor na evente

Page 9: Zašto JavaScript? Zašto danas?

ŠTO ZNAČI SINKRONOST?

• Sinkrono = blokirajuće

SERVER Baza

Page 10: Zašto JavaScript? Zašto danas?

ASINKRONOST

• Asinkron = ne blokirajući = brz SERVER BAZA

QUEUE

Page 11: Zašto JavaScript? Zašto danas?

ZAŠTO SU OVE KARAKTERISTIKE BITNE U BROWSERU?

Page 12: Zašto JavaScript? Zašto danas?

OSTALE KARAKTERISTIKE JS-A

Page 13: Zašto JavaScript? Zašto danas?

VARIJABLE SU DINAMIČKE

var a = ‘neki string’;a = 3;var b = a + 5;a = [0, 2, 5];

Page 14: Zašto JavaScript? Zašto danas?

TIPOVI VARIJABLI

• Number• String• Boolean• Null• Undefined• Object• Function

Page 15: Zašto JavaScript? Zašto danas?

NUMBER

var a = 3;var b = 5;var sum = a + b;

console.log(sum);//8

Page 16: Zašto JavaScript? Zašto danas?

STRING

var a = „Sum is ”;var b = „8”;var sum = a + b;

console.log(sum);//Sum is 8

Page 17: Zašto JavaScript? Zašto danas?

NULL, UNDEFINED

var a = null;var b;

console.log(a);//nullconsole.log(b);//undefinedconsole.log(c);//undefined

Page 18: Zašto JavaScript? Zašto danas?

OBJEKT

• Key – value

var school = {name : „V.gimnazija”, numberOfStudents : 3000

};school.address = „Klaićeva”;console.log(school[‘address’] ) // „Klaićeva”

Page 19: Zašto JavaScript? Zašto danas?

JS OBJEKT == JSON

Page 20: Zašto JavaScript? Zašto danas?

FUNKCIJE

function isprobajMe(unos) {console.log(unos);

}isprobajMe(„lo12”);//lo12isprobajMe(234);//234console.log(isprobajMe.name);//isprobajMe

Page 21: Zašto JavaScript? Zašto danas?

FUNKCIJE

var isprobajMe = function (unos) {

console.log(unos);}isprobajMe(„lo12”);//lo12isprobajMe(234);//234console.log(isprobajMe.name);//undefined

Page 22: Zašto JavaScript? Zašto danas?

FUNKCIJE

function zbroji(a, b) {var suma = a + b;return suma;

}

var suma = zbroji(4,7);console.log(suma);//11

Page 23: Zašto JavaScript? Zašto danas?

FUNKCIJE

function ispisi(unos) {console.log(unos);

} function zbroji(a, b, funkcijaKaoArgument) {

var zbroj = a + b;funkcijaKaoArgument(zbroj);

} zbroji(2, 6, ispisi);//8

Page 24: Zašto JavaScript? Zašto danas?

CALLBACK FUNKCIJE

function askDatabase(query, callback){..}function getActors(age, height, callback) { var query = {age: age, height: height}; askDatabase(query, callback); return „I don’t know yet”;} var result = getActors(45, 180, function (actors) {

console.log(actors); //Nadan, Ivo, ...});console.log(result);//I don’t know yet

Page 25: Zašto JavaScript? Zašto danas?

FUNKCIJSKI JEZICI

• funkcije : • samostalne• anonimne• mogu se proslijediti kao parametar

Page 26: Zašto JavaScript? Zašto danas?

FUNKCIJSKO VS OBJEKTNO PROGRAMIRANJE

• Objektno – kopiraju se objekti iz realnog svijeta Java, C#

• Funkcijsko – sustav se sastoji od servisa-matematičkih funkcija koje nemaju stanja Haskell

• Što odabrati OVISI O ZADATKU

Page 27: Zašto JavaScript? Zašto danas?

DEMONSTRACIJA METEOR

http://asc-demo.meteor.com/http://bit.ly/18LrBHr

Page 28: Zašto JavaScript? Zašto danas?

LEARN ONE – MASTER ALL

Page 29: Zašto JavaScript? Zašto danas?

JS JE MOĆAN

• Zašto bi se koristio samo na frontendu?

Page 30: Zašto JavaScript? Zašto danas?

NODEJS

Page 31: Zašto JavaScript? Zašto danas?

NODEJS

• Asinkron brz• Event driven sva logika kao odgovor na

vanjske requestove• ima svoj „server”• demo u 30 sekundi

Page 32: Zašto JavaScript? Zašto danas?

MONGODB

Page 33: Zašto JavaScript? Zašto danas?

MONGODB

• JSON u bazi• nema tablica i oganičenja• nema JOINa• čisti JSON

Page 34: Zašto JavaScript? Zašto danas?

MOBILNE APLIKACIJE

• 3 načina razvoja : • nativno (Android, iOS, WP)• frameworci (PhoneGap, Titanium, Xamarin)• hibridna aplikacija (nativni browser)

Page 35: Zašto JavaScript? Zašto danas?

HIBRIDNE APLIKACIJE

Page 36: Zašto JavaScript? Zašto danas?

HIBRIDNE APLIKACIJE

• JS, HTML, CSS• Cross platform

Page 37: Zašto JavaScript? Zašto danas?

WEB SOCKETS

• Browser backend = Api request• Backend browser= web socket• Svi novi browseri

Page 38: Zašto JavaScript? Zašto danas?

OPASNOSTI

Page 39: Zašto JavaScript? Zašto danas?

PROBLEMI U KODU

• Nema standarda• Nema transakcija• Globalne varijable• Tipiziranje podataka• Teško je analizirati greške

Page 40: Zašto JavaScript? Zašto danas?

PROBLEMI ODABIRANODEJSA / MONGODBA

• Uska specijalizacija• Silver bullet za sve probleme• PAŽLJIVO BIRATI TEHNOLOGIJE• Cijepaj sustav

Page 41: Zašto JavaScript? Zašto danas?

ALTERNATIVE

• NodeJS GoLang, Grails, ...• MongoDB PostgreSQL, Redis, Neo4J

Page 42: Zašto JavaScript? Zašto danas?

SAŽETAK

• JavaScript • dominantan jezik u browseru• razne metodologije -> zabavan• puno mogućnosti -> opasan• asinkron -> brz• sveprisutan -> cross platform

Page 43: Zašto JavaScript? Zašto danas?

HVALA NA PAŽNJI!