Martin Hassman:
1) Ano, mame oba na mysli jQuery, prototype, Base apod. Predne bych jim vytknul navrh. V nem ma svoje dulezite misto dekompozice. Tu zadna z techto knihoven nespatrila. Jejich zpusob "implementuj do knihovny vsechno, co nekdy nekdo muze potrebovat", navic do jednoho kontejneru (ano objekty jsou zde "zneuzity a degradovany" pouze na uroven kontejneru), je naprosto v rozporu s principy moderniho OOP. Zabranuje znovupouzitelnosti, dela knihovnu neprehlednou.
Dale zminena efektivita. Konkretne u jQuery je hodne znat. Je hezke, ze umoznuje vyhledavat elementy podle nejruznejsich kriterii, ale za cenu neumerneho straveneho casu. Pro zadnou produkcni aplikaci bych tuto knihovnu nepouzil.
Dalsi (souvisi s prni vytkou) je naprosto naivni implementace, hemzici se slozitym vyhodnocovanim "flagu" na mistech, kde by se mely vyuzit navrhove vzory jako State (k jehoz implementaci JavaScript jako takovy uplne idealni).
2) Flanagan ty prototypy spis zminil, nez probral. "Probrat prototypy" bych bral kdyby vysvetlil jejich pouziti v praktickych pripadech. Zacit rozdilem mezi konstrukci a inicializaci objektu (ktera je v prototypickem OOP naprosto nejpodstatnejsi)
vysvetlit copy-on-write. Dale vysvetlit pouziti statickych vs. instancnich atributu, vyhody toho, ze v JS muzete oba typy kombinovat a tim dosahnout v jinych jazycich naprosto neobvyklych, ale velmi uzitecnych konstrukci.
Vsecno vychazi pouze ze dvou veci. Jak instance, tak prototyp jsou pouze objekty, nic vic a nic min. A druha vec, ze funkce je take objekt. Tim je JS predurcen k elegantnimu programovani diky vyuziti jak typoveho, tak stavoveho polymorfismu. Jen ho spravne uchopit!
Martin Hassman ex-biochemik, umělecký programátor a publicista. Spoluzakladatel CZilly, zakladatel Zdrojáku, správce HTML5.cz, organizátor hackathonů, čekovacích muzejních nocí aj. akcí.
Přečteno 22 660×
Přečteno 22 493×
Přečteno 19 864×
Přečteno 19 241×
Přečteno 18 915×