jQuery i napredne web tehnologije, Vida i Jovan Popović
jQuery i napredne web tehnologije, Vida i Jovan Popović
O knjizi
Ova knjiga predstavlja kolekciju svega najbitnijeg što se koristi u svakodnevnom razvoju korisničkih interfejsa. Međutim, čak i da vam programiranje korisničkog interfejsa nije od primarnog značaja, uvid u koncepte opisane u ovoj knjizi pomaže da se lakše naprave moćnije aplikacije i eventualno izmeni pristup pri razvoju serverskog dela s istim tim ciljem.
Osim toga, jQuery je u proteklom periodu pretrpeo nekoliko vrlo bitnih promena i postao podržan na Windows 8 operativnom sistemu, što, uz pojavu Firefox OS platforme, znači da više ne pripada isključivo domenu web programiranja, već nalazi upotrebu i u domenu native aplikacija, čime se dodatno povećava njegov značaj. Broj korisnika koji pristupaju Webu pomoću mobilnih uređaja konstantno raste, što utiče na popularnost biblioteka, komponenata i razvojnih okruženja, kao što je jQuery , omogućavajući da ti interfejsi budu efektniji nego ikada do sada, ali se uz jQuery može napraviti još jedan veliki korak napred. Uz moto “napiši manje uradi više”, jQuery omogućava da se na jednostavan način implementiraju i najkomplikovaniji zahtevi. Ova knjiga ne favorizuje ni HTML5, ni jQuery, već pomaže da se kombinovanjem ove dve moćne tehnologije izvuče maksimum.
Pokriveni su različiti aspekti web programiranja – od osnovnih mogućnosti koje pružaju HTML5/CSS3, preko manje poznatih JavaScript jezičkih konstrukcija/trikova i moćnih dodataka koje donosi jQuery biblioteka, pa sve do naprednih web interfejsa, koji su, osim za pristup pomoću računara, prilagođeni i za pristup pomoću mobilnih uređaja. Međutim, jQuery nije ograničen samo na Web, tako da su obrađene i teme koje se odnose na upotrebu ovih tehnologija pri razvoju native aplikacija (za Windows 8, Firefox OS, Android i druge platforme).
Pored standardnih biblioteka, opisane su i komponente koje predstavljaju pravu snagu jQuery platforme. Knjiga sadrži izbor iz najkorisnijih kategorija komponenata pomoću kojih se lako mogu napraviti napredne tabele, forme, AJAX komponente, galerije, šabloni i slično.
Ako ste spremni da se upustite u razvoj ovakvih aplikacija, bez obzira da li imate iskustva sa starijim tehnologijama, prilika vam je na dohvat ruke. Početnici i iskusni programeri sada ulaze u potpuno novu avanturu, pri čemu godine iskustva ne garantuju nikakvu prednost.
Prednje korice knjige
U prvom delu knjige ćete upoznati osnovne jezike za razvoj korisničkih interfejsa i imaćete priliku da vidite:
- šta sve donosi HTML5
- CSS3 dizajn koncepte, mogućnosti CSS pretkompajlera, više o responsive dizajnu itd.
- JavaScript – pregled esencijalnih jezičkih elemenata (uključujući i nove načine interakcije sa HTML5 elementima) i napredne tehnike
U drugom delu knjige, koji je posvećen jQuery biblioteci, opisano je kako se napredne HTML5 strane mogu dovesti do savršenstva.
- Upoznaćete samu jQuery biblioteku, videti šta ona donosi i šta ju je učinilo toliko popularnom.
- Videćete bogatu galeriju komponenata i interakcija, koju obezbeđuje jQuery UI biblioteka.
- Naučićete kako se prave interfejsi za mobilne uređaje pomoću jQuery Mobile biblioteke.
- Pronaći ćete najbitnije jQuery vizeulne komponente (bez kojih ne mogu da se zamisle napredni korisnički interfejsi), kao i arhitekture, okvire i preporuke za razvoj i testiranje složenih korisničkih interfejsa.
- Videćete kako HTML5 i jQuery mogu da se koriste na različitim platformama, kao što su Windows 8, Firefox OS, Android, iOS, i to ne kao web strane koje se pokreću u pregledačima, nego kao native aplikacije.
Kratak sadržaj
Predgovor
DEO 1
Razvoj internet aplikacija1
Poglavlje 1
Uvod u programiranje web aplikacija
Formati podataka koje vraća server
HTML
CSS
JavaScript
Ostali formati
Zašto jQuery?
Protokol komunikacije između klijenta i servera
HTTP protokol
Resursi na serveru
Razmena podataka
Web servisi
SOAP web servisi
REST web servisi
OData web servisi
Klijenti web servisa
Rečnik pojmova
Poglavlje 2
HTML
Osnovna struktura web strane
Elementi
Liste
Tabele
Forme
Polja forme
Tekst
Linkovi
Multimedija
Slike
SVG
Audio i video
Eksterni sadržaji
Okviri
Eksterni objekti
Grupisanje elemenata
Semantički HTML5 blokovi
Atributi podataka
Keširanje
ARIA
Alati
HTML editori
Firebug
Razvojni alati u pregledačima
Podsetnik
Poglavlje 3
CSS
Primena CSS pravila na HTML dokument
Formatiranje sadržaja
CSS Funkcije
Boje
Fontovi i uređenje teksta
Uređenje pozadine
Sprajtovi
Prikazivanje elemenata
Selektori
Kontekstni selektori
Pseudoklase
Pseudoelementi
Medija upiti
Kolizije
Raspored i pozicioniranje
Dimenzije
Prikazivanje elemenata
Pozicioniranje
Raspoređivanje elemenata tokom
Levi tok
Desni tok
Kontejneri
Prelamanje toka
Raspoređivanje HTML5 elemenata
Mrežni raspored (grid layout)
CSS Pretprocesori
Twitter Bootstrap
Proces web dizajna
Analiza
Dizajn
Implementacija
Podsetnik
Poglavlje 4
JavaScript
Korišćenje JavaScripta
Promenljive
Prosti tipovi
Objektni tipovi
Datumi
Stringovi
Regularni izrazi
Nizovi
Operatori
Kontrolne strukture
Obrada grešaka
Funkcije
Argumenti
Objekti
Prototip objekta
Interakcija sa pregledačem
Rad sa DOM elementima
Korišćenje funkcionalnosti pregledača
Reagovanje na događaje
Rad sa podacima
„Kolačići“
Web skladišta
Napredna (SQL) skladišta
Rad sa slikama
Geolokacije
Web vorkeri
Deljeni vorkeri
Prevlačenje elemenata (Drag and drop)
Modernizr
Konfigurisanje i detekcija svojstava
Polyfill skriptovi
Načini upotrebe
Komunikacija sa serverom
AJAX
Serverski događaji (server events)
Web soketi
Striktni JavaScript mod
Alati
Alati za razvoj
Alati za debagovanje
Podsetnik
DEO 2
jQuery platforma
Poglavlje 5
jQuery
Uvod
Kolekcije
jQuery upiti
Osnovni upiti
Selektori atributa
Kontekstni upiti
Korelisani uslovi
Filtriranje DOM elemenata
Filteri po „deci“
Filteri po vidljivosti i filteri za rad sa formama
Pseudo-filteri
Obrada rezultata
Funkcije za selektovanje relativnih elemenata
Pomoćne funkcije
Događaji
Objekat događaja
Širenje događaja
Postavljanje događaja
Izazivanje događaja
Uklanjanje događaja
Promena sadržaja strane
Promena sadržaja elemenata
Promena atributa
Primer – dinamička promena
Pozicije i dimenzije elemenata
Animacije
Osnovne animacije
Napredne animacije
Funkcija animate – osnovni oblici
Funkcija animate – složeniji oblici
Funkcija animate – kondenzovani oblik
Ostale osnovne funkcije/svojstva
Redovi (queues)
Odloženi zadaci i obećanja (deferred i promisses)
Odloženi zadaci i obećanja
Funkcije done i fail
Funkcija then i ulančavanje
Funkcija when
jQuery AJAX
Funkcije za rad sa AJAX-om
Funkcija $.ajax
Odloženo izvršavanje AJAX poziva
Specijalizovane metode
Callback metode
Presretanje događaja
Podešavanje AJAX poziva
Slanje AJAX zahteva na druge (eksterne)
domene pomoću JSONP-a
Podsetnik
Poglavlje 6
jQuery UI
Animacije
Efekti
Tempo animacija(easing)
Interakcije
Drag&Drop
Draggable
Droppable
Sortable
Resizeable
Selectable
Pozicije
Vizuelne komponente
Okviri za dijalog
Kalendar
Autocomplete
Tabovi
Harmonika
Meni
Dugme
Grupisana dugmad
Napomene (tooltips)
Indikator napretka
Klizač
Spiner
Podsetnik
Poglavlje 7
jQuery Mobile
Struktura strane
Teme
Vizuelne komponente
Mreže
Otvaranje/zatvaranje sadržaja
Liste za navigaciju
Liste
Linkovi
Dugmad
Tabele
Paneli
Elementi forme
Labele i kontejneri polja
Grupisanje elemenata
Skrivanje labela
Liste za selekciju
Klizači
Ažuriranje vrednosti elemenata
Slanje podataka
Složene strane
Kompozitne strane
Okviri za dijalog
Događaji
Novi događaji
Događaji strane
Inicijalizacija
Pomoćne funkcije i promenljive
Podsetnik
Poglavlje 8
jQuery komponente
Galerija
Tabele
Izvori podataka
Forme
Validacija
Ajax forme
WYSIWYG editori
Inline Editor
Stabla
Šabloni
Procesiranje AJAX odgovora šablonima
Rad sa kolekcijama – LINQ
Integracija sa jQuery objektima
jQuery AOP
Kako napraviti komponentu?
Plagin
Lokalne i globalne promenljive plagina
Vidžet
Arhitektura JavaScript aplikacija
qUnit – biblioteka za testiranje koda na pregledaču
Podsetnik
Poglavlje 9
jQuery van web aplikacija
Razvoj aplikacija
Razvoj aplikacija za Firefox OS
Podešavanje prava u Firefox OS aplikacijima
Priprema instalacione verzije
Objavljivanje Firefox OS aplikacija na marketu
Postavljanje aplikacija na web servere
Razvoj aplikacija za Windows 8
Pakovanje Windows 8 aplikacija
Instalacija Windows 8 aplikacija
Razvoj aplikacija pomoću MoSynca
Podešavanje prava u MoSync okruženju
Priprema instalacione verzije
Primer HTML5 aplikacije
Podsetnik
INDEKS
LITERATURA
Autor: Vida i Jovan Popović
Broj strana: 436
ISBN broj: 978-86-7310-493-5
Godina izdanja: 2013.
Izdavač: Kompjuter biblioteka, Beograd