Hlavní navigace

Názor ke článku Peter-Paul Koch: ppk on JavaScript od c0stra - Martin Hassman: 1) Ano, mame oba na mysli jQuery,...

  • 5. 5. 2008 10:49

    c0stra (neregistrovaný)

    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!