Frameworky

Na poslednej prednáške sme si porozprávali niečo o CMS systémoch aj z toho dôvodu, že je veľká pravdepodobnosť, že sa s nimi stretnete v praxi alebo ich už vy sami vyhľadáte a využijete. Na tejto prednáške si porozprávame niečo o frameworkoch (čítaj frejmworkoch), čo je troooošičku podobné, resp. má to aspoň podobný význam – uľahčiť prácu ľuďom a neopakovať tie isté veci. Toto slovo sme na prednáškach od začiatku tohto štúdia spomenuli niekoľkokrát, ale nikdy sme si nepovedali, čo to naozaj je. Skúsime si vysvetliť, prečo vznikli a tým aj pochopíme, čo to je.

 

Predstavte si, že by sme zobrali niekoľko programátorov, skupín programátorov a vývojárskych firiem a spojili dokopy niekoľko ich projektov (v tomto prípade berme iba webové systémy). Podrobne by sme si rozpísali najčastejšie funkcionality, ktoré sa zvyknú v systémoch robiť a spravili by sme prieskum, v koľkých tých všetkých projektoch sa jednotlivé funkcionality opakujú. Dostali by sme istú skupinu vecí, ktoré sa robia skoro v každom projekte.

 

Našli by sme medzi tým napríklad validovanie prvkov z formulára (regulárne výrazy, iné predpisy, kontrolovanie hondôt, vypisovanie hlášok podľa výsledku...), stránkovanie (galérie, článkov, ovládanie stránkovania - výpis čísel, šípky doprava a doľava, odkaz na prvú/poslednú stranu, prepočet ktoré čísla zobraziť ak ich je príliš veľa...), systém na priateľské url (friendly url – pekná adresa stránok a jednotlivých sekcií na stránke, inak zobrazené parametre – napríklad nie article.php?id_page=32&lang='sk' ale sk/clanok/32...), automatické vyexportovanie tabuľky do HTML z 2D poľa (po zadaní poľa naplneného dátami je nutné zadávať hlavičku, riadky, ich bunky a nastavovať ich obsah a podobne), obsluha tabuľky (filtrovanie, zoraďovanie, presúvanie riadkov a iná funkcionalita...), zabezpečenie systému a rozdelenie používateľov do skupín (nastavenie práv kto kde môže ísť – na akú stránku a kto čo na nej môže robiť).

 

Taktiež automatická fotogaléria (podľa poľa dát by sa automaticky generovala galérie s možnosťou nahliadnuť na detail fotky...), prevody medzi formátmi dátumu (slovenský formát je iný ako britský a ten je iný ako americký a ten je iný od toho, ako sa to ukladá v databáze...), zjednodušená práca s databázou (pripojenie, zadávanie najpoužívanejších príkazov a spracovanie odpovede), práca so súbormi (nahrávanie/mazanie na server, editácia súborov...), stránka vo viacerých jazykoch a auto zobrazovanie textov podľa jazyka atď.

 

Takto by sme mohli pokračovať donekonečna s množstvom vecí, ktoré sa zvyknú robiť takmer na každej stránke, vo väčšom systéme určite. Prečo si ale o tom vravíme? Zamyslite sa...keď všetci vieme, že toto všetko sa robí takmer všade, čiže viacero systémov obsahuje to isté, čiže programátori musia písať stále a stále ten istý kód, chcelo to nejakú zmenu. Na čo by to všetci programovali dookola.

 

Tak sa nejakí ľudia rozhodli naprogramovať takéto veci a im podobné a dať to nejako dokopy a vytvorili z toho akýsi koncept, ktorý obsahuje množstvo takýchto zautomatizovaných vecí (súborov, knižníc...) a nazvali ho framework. Dali tomu nejaký názov a ponúkli ho za poplatok alebo zadarmo, podobne ako v prípadoch CMS systémov. Takto postupne vznikalo viac a viac frameworkov vo veľa rôznych jazykoch a človek si má z čoho naozaj vyberať.

 

Samozrejme, taký framework už v tejto dobe nie je len pár súborov, ktoré obsahujú nejaké takéto pomocné funkcie. V súčasnosti sú frameworky akokeby hotové mohutné projekty, ktoré obsahuje vo svojom vnútri stovky pomocných súborov, ale aj akokeby zdrojových súborov daného systému (frameworku). Každý takýto systém má v súčasnosti svoju vlastnú štruktúru, pravidlá, systém ako funguje. Je to niečo ako štandard ako máte dané veci programovať, resp. ako dané veci na danom frameworku fungujú.

 

Skrátka, aby ste vedeli daný framework využívať naplno a chápali, ako funguje a ako je nutné v ňom dané veci programovať (celkovo štruktúra stránky – rozdelenie súborov, funkcie, objekty, knižnice, helpre...), je to ako keby ste sa museli učiť nejaký menší programovací jazyk. Tie väčšie frameworky majú svoje manuály (knihy) a návody, ako sa to tam robí. Ak niekto ovláda nejaký framework, resp. má s ním prax, tak sa to zvykne písať aj do životopisov, ale takisto aj firmy s pracovnými ponukami uvádzajú do svojich ponúk, prípadne ktorého frameworku vyžadujú znalosť od uchádzača alebo s akými frameworkami pracujú (na akých zvyknú stavať projekty).

 

My sme spolu ale ešte stále len programátori začiatočníci, takže je zbytočné rozprávať o frameworkoch viac a podrobnejšie. Na to, aby ste pochopili čo to je, sa musíte najprv zdokonaliť v klasickom programovaní (rozumej bez použitia CMS alebo nejakého frameworku) a pochopiť, ako to vlastne všetko úplne funguje. Potom sa možno v praxi alebo už vlastnou iniciatívou stretnete s nejakým frameworkom a zistíte, na čo to je dobré (ak je :-D...je? Konšpirácie... :-D ) Len pre spomenutie, medzi také najpoužívanejšie frameworky v súčasnosti môžeme zaradiť Zend, Symfony, Laravel, Yii, Angular, Spring, React atď.

Máte nejakú otázku alebo Vám niečo nie je jasné? Napíšte nám na info@zacni-programovat.sk a poradíme!

Ťažko sa vám učí samému?

Máte problémy s niektorými časťami alebo sa neviete učiť sám? Využite našu možnosť individuálnej asistencie:

  • samostatný prístup
  • vysvetlenie nejasností prebraného učiva
  • úlohy a cvičenia navyše
  • všetko z pohodlia domova cez mail a skype

Pre viac info kliknite tu

Kľúčové slová prednášky

frameworkframeworkyco je to frameworkzendprehlad frameworkovco je frameworkaky frameworkphp framework

IT ftip

- Viete, aký je rozdiel medzi mužom a počítačom? - Počítaču stačí všetko povedať iba raz.