JavaScript je tražen jezik. Na TIOBE ljestvici balansira pri samom vrhu, a spustite li se pak prema dubinama weba, skriva se u NodeJS kutku gdje nepovezano priča s NoSQL bazama. I Google ga je prigrlio kao mršavog klinca te od njega razvio slojevitog AngularJS momka. Najvažnije, front-end developeri ga cijene, i kao defacto “web programski jezik”, ali i kao taskrunner pomoćnike imena...

JavaScript je, inače, stric ActionScripta, programskog jezika koji se koristio u izradi Flash aplikacija. Sintaksa im je klonirana pa su developeri verzirani na JavaScript slobodno mogli koristiti svoje znanje u izradi tada popularnih “bogatih” aplikacija. Razlog sličnosti je njihova cijela familija – ECMA standard. Razvoj ECMA standarda tijesno je vezan uz razvoj JavaScripta, a Santa Barbara bi se posramila zapleta odigranih u ECMA familiji. Trakavica im je, zgodno za znatiželjne, dostupna na Stackoverlfowu!
Povijest se, naravno, ponovila i to s velikim dečkima – Apple je 2014. godine objavio programski jezik Swift koji slijedi odabrane JS paradigme i ECMA standarde. Prevedeno, ako ste dugo razvijali na JavaScriptu, relativno lako se možete prebaciti na Swift te početi pisati nativne iOS aplikacije, a uz NodeJS, to je skoro pa cijeli digitalni ekosustav – server, web i native!

Bilo je samo pitanje vremena kada će JavaScript zaraziti i najpopularniju web platformu, WordPress. Matt Mullenweg je odgovoran za pokretanje kotačića svojim govorom “State of the WordPresss” (2015.) U njemu je promišljeno izrekao da je upravo JavaScript budućnost WordPressa (dio govora počinje oko 45:40 i traje do 51: 52).
Taj evolucijski događaj bio je nastavak već uhodanih kuloarskih tema – jQuery je u WordPressu od verzije 2.2.0, Underscores i BackboneJS je standardni dio WP corea od verzije 3.4.1 (2012), a Andrew Nacin je čak i prije Matta Mullenwega nagovijestio val promjena…
I think [WordPress 3.5] actually signifies a shift from PHP land to JavaScript land for pretty much everything we’re going to do in the future” ~ WP 3.5 Lead Developer Andrew Nacin, on WPCandy, Feb 4 2013
Trenutno se oko JavaScripta u WordPressu vrti puno priča, a prva dva članka iz ovog serijala imaju opširniji uvod u cijelu temu (uz osvrt na #WCEU i #WCNYC). Valovi su se proširili i na WordCamp Split #WCHR – Noel Tock je govorio o dosadašnjem iskustvu pri izradi modernih WP aplikacija, a Tomislav Ljeljak je pokazao realne implementacije REST API-ja i ajaksoidnih poziva. Cijeli osvrt na WordCamp Split pročitajte na opširnom blogu (autor: Ivan Blagdan), a galeriju doživljaja pogledajte (i podijelite <3) na Neuralabovom blogu.
Ovakvih članaka i konferencija na temu je puno, i to s razlogom… Nemamo više prepreka u učitavanju kompleksnih 3D modela, live-stream videa, slojevitih navigacija ili animiranih-interaktivnih prezentacija sadržaja. Na primjer, u spomenutom drugom članku serijala je opisano kako slobodno možete napraviti 3D web igru koja kao “backend” ima WordPress REST API.
Kralj džungle uživa u JavaScriptu, zašto ne bi i vaši korisnici?
No nije lako otvoriti Pandorinu JavaScript kutiju i prebaciti PHP teme u punokrvne JavaScript WordPress aplikacije. Zamrzavanje browsera, nejasne interakcije i komplicirana sučelja pokazala su da imamo još puno žganaca za pojesti. Četiri glavna problema su prisutna, a WP zajednica predlaže određene trikove i savjete:
1. Šareni JavaScript svijet
React, Redux, Backbone, Underscores, Angular, Ember… Nepregledna šarena polja JavaScripta na trenutke postaju i halucinogena. Teško se odlučiti za bilo koji od JS frameworka, a kada se i odlučite, svaki ima svoj način razvoja, dokumentacije i održavanja aplikacija.
Inače, zamor Javacriptom je već dugo prisutan u branši, a sljedeći trikovi će vam olakšati svakodnevni front-end život:
- Počnite s BackBoneom – framework je već uključen u sam WP core te je pomoću njega napravljen i cijeli media library.
- Kada se odlučite za framework, dajte mu šansu i dobro ga savladajte. Generalno možete napraviti sve vrste aplikacija i pomoću Angulara, i pomoću Backbonea, a i pomoću Reacta.
- Pročitajte odličnu prezentaciju i video Adama Whitea na temu Backbone programiranja za WordPress.
2. Dizajneri interaktivnijih medija
I web dizajneri su zasuti mnoštvom alata – Sketch, PS, AI pa sada i novi xD. Povrh njih još Invision, Marvell, Framer, Figma, Canva, Muse… Od novopečenih kreativaca se očekuje da još vladaju i HTML/CSS/JS-om te da uz sve to educiraju klijente, developere i vlasnike projekata. Doista zahtjevna vremena (i vrlo slična JS svijetu developera iz točke 1). Šuma alata i novih tehnika dovodi do gomilanja funkcija, animacija i generalnog kaosa među interaktivnim rješenjima, ubijajući vjerojatno sva pravila Dietera Ramsa.

Moderan WP web dizajn kompliciran je i nezreo, no WordPress zajednica i ovdje ima nekoliko savjeta za kreiranje interaktivnog iskustva:
- U animacijama i interaktivnosti, manje je više.
- Kreirajte pomalo i gradite na razrađenim temeljima dizajna.
- Detalji, detalji detalji! Ako vam animacija traje i sekundu previše, nećete imati dobro korisničko iskustvo. Ako UI element nema brzi odziv, korisnik možda neće percipirati sljedeću potrebnu interaktivnost. Pazite na detalje!
- Komunikacija s developerima mora biti stalna, debela i prisutna od početka do kraja projekta. Koristite razne formate i vrste sastanaka iz Atlassian PlayBooka (više pod točkom 3).
- Educirajte klijenta da pravilno unosi sadržaj, fotografije, oEmbed ili video materijal kroz CMS.
- Koristite Invision & framerJS za izradu prototipa.
- Važno: dizajnirajte i “fallback” rješenje za korisnike koji nemaju omogućen JavaScript.
3. Napregnuti backend
AJAX pozivi prema bazi podataka mogu zagušiti i najjače portale. Uzmite WooCommerce kao primjer – jedna Add to cart akcija napravi cca 40 updatea na bazu podataka. Ako na jednom sučelju imate više widgeta, izbornika i sekcija sadržaja, svaki od njih će zatražiti sadržaj iz baze podataka te opteretiti cijeli backend.

Par savjeta i alata oko izrade JavaScript WP tema:
- Istražite REST API backend pomoću helper plugina.
- Postojeći alati unutar Chrome developer tools su odlični za analizu JS-a.
- Postman API tester je idealan kod analiziranja WP REST API poziva.
- Napravite Trade-Off radionicu s klijentom i dizajnerima. Ona će vam omogućiti da uklonite nepotrebne tehničke komplikacije. Također, takva radionica vam je šansa da predložite tehnički bolja rješenja, ona koja su “lakša” na backend i bazu podataka.
- Sparing session je također jedna korisna vrsta radionice gdje s dizajnerom možete prolaziti kroz alternativna rješenja učitavanja cijelog JS sučelja.
4. RESTful klijenti
Prve tri točke vezane su uz vaše znanje i ekipu s kojom radite. Klijenti i vlasnici web aplikacija drugačiji su par rukava i benefiti JavaScripta na WordPress ekosustav nisu njihova niti najmanja briga. Ono što njih interesira je krajnji korisnik, konverzija proizvoda, čitanost (ili iskustvo online kupnje) no to već sigurno znate. 🙂
Upravo im na tim poljima objasnite prednosti nove moderne web aplikacije:
- Uključite klijenta (što ranije) u projekt izrade web sjedišta (s njima radite arhitekturu informacija i jedinica sadržaja). Standardni kick-off meeting je krucijalan, no kontinuirana suradnja će biti prevaga uspješnosti projekta – Goals, signals i measures radionica pomaže pri takvim scenarijima.
- Educirajte klijente oko unosa sadržaja i načina rada WP administracije. Neka se odmah po startu projekta upozna sa svim potrebnim radnjama za održavanje JS WP aplikacije.
- Nastavno na točku 2… prototipirajte često i rano. Invision je odličan alat upravo pri takvim scenarijima gdje je nužno da klijent ostavi realan feedback na željeno rješenje.

Ove četiri točke nisu jedini izazovi pri produkciji interaktivnih JavaScript aplikacija. Koncepti njihove razrade su dosta mladi i neuhodani. Iskoristite to za eksperimentiranje, isprobavanje i dorade vlastitih procesa. Potencijala je puno, neistraženih područja još više, no smjer otvorenog browser weba je jasan i nezaustavljiv, pogotovo u WordPress zajednici!
Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.
Pravila ponašanja
Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:
Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.
Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.