Kada razmišljate o razvoju HTML5 aplikacija, bez obzira na to da li planirate da primenite SPA koncept ili klasični pristup sa više stranica, morate da odaberete nekoliko osnovnih komponenti, odnosno biblioteka. Prva odluka odnosi se na osnovni frejmvork u aplikaciji koji treba da omogući separaciju slojeva (MV* patern), dinamičko uključivanje komponenti (dependency injection) i još neke važne funkcionalnosti. Ovde postoji nekoliko popularnih open source rešenja, a legitimna odluka može biti i razvoj sopstvenih mehanizama. Drugi važan deo modernih web aplikacija je osnovna biblioteka komponenti korisničkog okruženja (UI). Po pravilu ona treba da obezbedi sistem za uspostavljanje strukture elemenata ekrana (layout) u vidu grid CSS sistema, kontrole za forme, liste i tabele, elemente navigacije, modalne prozore, sistem za notifikacije i obaveštenja i sve drugo što vam pri razvoju korisničkog okruženja može zatrebati.

Postoji više open source UI biblioteka, od kojih je verovatno najpopulaniji Bootstrap, originalno razvijen za potrebe Twitter aplikacije. Pored njega, u prošlosti smo koristili i Foundation, jQuery UI, YUI (Yahoo) i neke druge. Svaka od ovih biblioteka može da zadovolji osnovne potrebe, a kao što to obično biva niti jedna od njih nije savršena i ne može da zadovolji baš svaku potrebu. Zbog toga se neretko kombinuju, a pridodaju ima se i pojedinačne komponente. Bootstrap je tu opet u maloj prednosti jer za njega postoji najviše dodataka nezavisnih proizvođača.

Pri razvoju Solidus platforme odlučili smo se UI biblioteku koja je u to vreme bila relativno nova i sa kojom nismo imali prethodna iskustva. U pitanju je Angular Material iza koje stoji Angular JS tim u Googleu. Analiza i malo istraživanje dostupnih alata koje smo tada sproveli pokazalo je da ova biblioteka, pored toga što se odlično uklapa uz Angular JS frejmvork, poseduje baš one komponente koje su nam potrebne. Verzije sa kojima smo krenuli da radimo imale su izvesnih problema, ali je u aktuelnoj verziji 1.1.1 biblioteka stabilna i zrela.

Naravno, za neke od potreba morali samo da koristimo i druge komponente, ali se trudimo da uključujemo što manje eksternih biblioteka i da za specifične namene razvijamo sopstvene UI komponente. O tome ću više pisati u nekom od narednih tekstova. Što se Angular Materiala tiče, nismo se pokajali što smo odlučili da ga koristimo. U pripremi je i verzija 2.0 projektovana tako da radi sa Angularom 2.0, pa ćemo se uskoro pozabaviti i njenom analizom.

p

U ovom članku

  • Osnovne komponente HTML5 aplikacija
  • Dobro poznata rešenja
  • Angular Material i da li smo se pokajali