Jednou z najotravnejších čŕt webu je neustále čakanie. Kliknete na odkaz v menu a čakáte, kým sa stránka načíta. Omyl? Kliknete inam a opäť čakáte. Stále nič? Čo tak použiť vyhľadávacie pole a opäť čakať?
Na neustále čakanie našťastie existuje liek. Sú ním čoraz populárnejšie Single Page Applications v skratke SPA. Ak ste si všimli, že Facebook a Gmail sú narozdiel od iných webov ultra rýchle, vedzte, že to nie je náhoda – oba sú SPA.
Filozofiou SPA je žiadne ďalšie načítavanie. Stránka sa načíta práve raz, pri jej prvom navštívení. Akúkoľvek ďalšiu interakciu, prekresľovanie, načítavanie, spracovávanie formulárov rieši Javascript v browseri. Treba komunikovať so serverom? Na to slúži AJAX.
Ak ste niekedy pridávali na stránku trochu AJAXu na zrýchlenie, tak dokážete precítiť tú hĺbku – celá stránka je jeden pekelne rýchly Javascript. Ako je príjemné, keď stránka reaguje svižne, si môžete vyskúšať na tomto jednoduchom deme.
Spraviť dobrú Single Page Application však obnáša oveľa viac, ako napísať pár riadkov kódu v jQuery. Užívatelia chcú naďalej
- mať históriu prehliadania
- mať možnosť poslať známym link (na kúpené sushi)
- po stlačení reload tlačidla ostať tam, kde sú, neocitnúť sa v počiatočnom stave
- nájsť stránku vo vyhľadávači
Vyriešiť poriadne uvedené problémy nie je nemožné, no ani triviálne. Navyše, ako rastie množstvo riadkov kódu v Javascripte, prichádzajú problémy s udržateľnosťou kódu. Stoja pred Vami otázky:
- Ako organizovať desiatky tisíc riadkov dlhý Javascript do viacerých súborov?
- Ako testovať Javascript?
- Ako generovať veľa HTML kódu v Javascripte?
- Ako spraviť dobrý objektový návrh pre Javascriptovú aplikáciu?
- Ako zabrániť memory-leakom v Javascripte?
- Existuje nejaký dobrý framework, ktorý by sa hodilo použiť?
Odpovede na tieto otázky, tipy a rady pri vývoji SPA sa nezmestia do jedného článku. Budem Vám ich najbližších pár týždňov prinášať formou seriálu. Začíname na budúci týždeň, zatiaľ čau!