37 komentářů k článku Mají budoucnost šablonovací systémy v JavaScriptu?:

    1. Martin HassmanAutor příspěvku

      Re: Pouzivam jTemplates, ale premyslim o prechodu na PURE

      Tak to je první projekt, o kterém vím, který takové šablonování
      reaálně používá! Díky za informaci.

      Ad PURE – připadá mi, že je na tom za posledni pul rok prakticky nic
      neudelali, coz je skoro stejne jako ostatni systemy. Ale takova je aktualni
      situace, clovek si to bude muset sam odzkouset.

  1. tobik

    XML a DOM

    V AJAXU jsem napsal spíše jen pár drobností, ale už od začátku
    seznamování jsem považoval posílání HTML fragmentu a jeho přímé
    zobrazování za něco špatného (nevím, co ve mě ten názor utvořilo :).
    Proto jsem u jednodušších případů posílal jen samotné hodnoty a
    u složitějších jsem je zabalil do XML. V obou případech jsem pak hodnoty
    vkládal do stránky pomocí čistých DOM funkcí. Bylo to trochu pracné, ale
    fungovalo to :)

    1. jariq

      Re: XML a DOM

      S tvojim nazorom plne suhlasim. Klient by mal od serveru dotahovat len data
      v XML formate – napoveda to aj X v nazve AJAX – a interpretacia tychto
      dat ako je napriklad aj zostavenie HTML fragmentu by podla mna mala byt ulohou
      klienta.

      1. webdev

        Re: XML a DOM

        Dovolim si nesouhlasit podle me je to otazka ucelnosti. Jsou pripady kdy HTML
        je jednoznacne efektivnejsi. Napriklad naplneni nejakeho divu textem. Naopak
        jsou veci kdy JSON vede napriklad Datagrid.

        Z hlediska jakehokoliv jineho nez pouzitelnosti to nema cenu resit AJAX tak
        jako tak musi ty data posilat takze uz je jedno jestli poslu vysledek nebo ho
        zbytecne budu posilat v XML a pak prevadet na HTML.

  2. vlkoII

    Asp.net ajax 4.0 templating

    Celkom zaujimave moznosti templatingu ponuka asp.net ajax 4.0 [http://aspnet.codeplex.com/Wiki/View.aspx?…]
    Aj ked to na prvy pohlad vyzera, ze to je zviazane s .net, nie je to celkom
    pravda o templating sa stara js, ktory je od .net nezavisly, pretoze je urceny
    aj pre asp.mvc. Ak bude pokracovat trend MS, tak je mozne, ze technologiu vydaju
    pod os licenciou a potom by jej rozsireniu na ine platformy nemalo branit nic.
    Viac o templatingu a dalsich zaujimavych binding veciach v: http://www.aspnet.sk/…-100858.aspx

  3. vlkoII

    pohlad na js templating

    Nevyhodou vyberu nejakeho js sablonovacieho systemu, je jeho zviazanost
    s javascriptom. Kym generujem html na serveri nie je problem urobit stranku
    tak, aby pri neexistencii javascriptu okolo toho html vlozila full page obalku.
    Ak si uz ale vyberiem nejaky js templating a chcem podporovat aj nejs
    prehliadace (typicky mobilne zariadenia) som nuteny robit view cast dvakrat.

    1. Martin HassmanAutor příspěvku

      Re: sablonovaci system

      A nejaky priklad, kde bychom ho mohli videt a pro zajimavost porovnat?

      1. Srigi

        Re: sablonovaci system

        Tiez rozmyslam, ze zacnem pouzivat vlastne sablonovacnie riesenie pre JS. Nemam ale chut robit veci zlozite, natahovat kB roznych libiek. Elegantne riesenie poskytuje samotny JS a jeho rozsirovanie prototypov. Odporucam urcite aspon vyskusat:

        slajdy 100 az 103
        http://www.slideshare.net/…ing-language

        enjoy.

  4. v6ak

    OT: Kolize Chrome a FF

    Koukám, že chrome://newtab/ ani chrome://newtab/con­tent/ nepatří
    Firefoxu, aspoň ne stabilnímu.

  5. ra.ri.ta

    jQuery

    Osobně nevidím jinou možnost pro efektivnější fungování HTML
    stráněk než javascript.

    Posílat stále objemné balíky dat je příšernost. AJAX je efektivní,
    racionální a budoucnost. POST, GET A SESSION je stejna jak při HTML, tak
    o co jde. JO asi to bude v té přístupnostri a v tom SEO, či jak se to jen
    ta pitomost jmenuje.

    1. blizz.boz

      Re: jQuery

      Ja som začínal s Ajaxom ešte v dobe keď (na Slovensku) ešte nikto
      nevedel čo to je Ajax. Vytvoril som Joomla komponentu JoomlaComment ktorá
      pomocou XMLHttpRequest komunikovala priamo so serverom.

      A práve preto si myslím že JavaScript je cesta do pekla, JavaScript neni
      plnohodnotný objektový jazyk a hlavne chýba mi v ňom statická typová
      kontrola, interpretované jazyky IMHO nemajú budúcnosť vývoj v takomto
      jazyku je oveľa pracnejší lebo vačšinu chýb nezachytí kompilátor, a
      preto je aj omnoho drahší a aplikácie napísané v dynamickom jazyku sú
      nespoľahlivé. JavaScript sa hodí maximálne na kontrolu formulára pred
      odoslaním. Myslím že presúvanie aplikačnej logiky zo servera ku klientovy
      je vývoj nesprávnym smerom.

      1. Martin HassmanAutor příspěvku

        Re: jQuery

        Já myslím, že vývoj programovacích jazyků dobře ukazuje, že tu bude
        místo jak pro kompilované jazyky tak pro ty interpretované.

      2. webdev

        Re: jQuery

        Na to jsem cekal. JS memo objektovy jazyk. Cestina taky neni a prezila.
        Nechapu jak nekdo dokaze objektovost povisovat na pouzitelnost. Nemyslim si ze
        objektovost automaticky znamena dobry jazyk. Objektovost znamena jazyk, ktery
        (teoreticky) dokaze psat prehlednejsi kod. Jinak neznamena nic vic. Dokonce ani
        ona proklamovana cast, ktera udajne setri praci. Je sporna.

  6. scorpi

    E J S

    Nedavno jsem to potreboval zaclenit do sveho vetsiho projektu, takze jsem si
    delal porovnani javascriptovych sablonovacich systemu a jako nejlepsi reseni mi
    vyslo EJS http://embeddedjs.com/ – moje
    prakticke zkusenosti z pravidelneho pouzivani jsou velmi pozitivni…

  7. Marek Soldát

    A teď stopnout a zamyslet se...
    Kdybych věděl, jak bude vypadat budoucnost, tak bych asi byl někde jinde,
    nicméně doufám, že v šablonovacích systémech v JS to nebude.

    1. 1) Přístupnost, SEO, použitelnost z mobilu – to jsou všechno věci,
      které jsou s JS dost neslučitelné a narozdíl od předchozího
      diskutujícího si nemyslím, že jde o blbosti.
    2. 2) Zkuste si (na běžném uživatelském PC) v normálním prohlížeči
      otevřít 60 tabů stránek bez javascriptu a 60 tabů stránek
      s javascriptem, optimálně okořeněného flashovými bannery. Moje zkušenost
      je taková, že v druhém případě je celý systém tuhý víc, než jeden
      náš kolega po ránu, když ještě neměl kafe (zjištěný konverzní poměr
      je cca 10 tabů na –1 hodinu kolegova spánku). Zatímco v prvním
      případě, co se týče rychlosti, je systém stále lepší, byť jsem při
      provedeném testování kolegu zvýhodnil informací, že moje sekretářka má
      dneska minisukni. (pro potenciální rýpaly na téma, kdo si otevírá
      60 tabů najednou, bych rád uvedl situaci, kdy hledáte nějakou informaci,
      která zrovna není na 1. stránce v Googlu)
    3. 3) Je na čase začít důsledně rozlišovat pojmy „webová stránka“ a
      „webová aplikace“. Webové aplikace se často vyvíjí i s konkrétní
      znalostí toho, na jakých PC poběží, a představa, že někdo bude hledat
      adresu na přihlášení do firemního systému přes Google, je za
      střízlivého stavu poněkud nepravděpodobná. Tam potom oba dva předchozí
      argumenty pochopitelně postrádají praktického významu.
    1. Martin HassmanAutor příspěvku

      Re: A teď stopnout a zamyslet se...

      Přístupnost, SEO…jsou s JS dost neslučitelné

      Doporučuji aktualizaci znalostí, tohle totiž není již pár let pravda.
      Při správném použití se tyhle věci vůbec vůbec nevylučují.

      1. Marek Soldát

        Re: A teď stopnout a zamyslet se...

        Jak si správně podotknul, při správném použití. Jednak si obecně
        myslím, že tahle cesta správné použití není, ale diskutujeme tady obecně
        o budoucnosti téhle myšlenky a ve mně se ozval varovný pud sebezáchovy.
        (Předem se omlouvám za poněkud neformální charakter příspěvku.)

        Řeknu Ti story, úplně to vidim. Píše se rok 2012. Jedu autem do nějakého
        maloměsta, kde sem nikdy nebyl. Prší jak blázen, na ulici ani noha. Kam jedu
        zapomenu, ale na webu mají přeci mapku. Adresu taky zapomenu. Tahám mobil,
        googlim. Nic. Tak zkoušim domény. Trefím se (úplnou náhodou). A nic –
        AJAX. Pořiďte si lepší prohlížeč.

        Chápeš to, že já budu někde v ňákym vidlákově, v autě, leje jak
        blázen, nevim kam mam jet a sem totálně v p*deli jenom kvůli tomu, že
        nějakej rádobywebmaster kouzlil s timhletim?

        Možná sem staromódní, ale přístupnost informace se pro mě rovná tomu,
        že ji najdu na 486ce v textovym režimu a nejlíp telnetem na port 80 a ten
        požadavek GET tomu serveru napíšu sám. Což zvládnu do chvíle, než bude
        webová stránka pouhou aplikací, kde pro dostupnost informace je potřeba se
        serverem komunikovat mandarínskou čínštinou.

        1. Martin HassmanAutor příspěvku

          Re: A teď stopnout a zamyslet se...

          To bude nějaký alternativní vesmír, já na mobilu se stránkami a
          aplikacemi problém nemám.

          1. Marek Soldát

            Re: A teď stopnout a zamyslet se...

            Jenomze s mobilem, ktery plno lidi nepozna od PDAcka a prazskym signalem,
            kde zvladneme pres 3G stahovat film od Cerneho mostu na Zlicin bez vypadku je
            potreba se podivat na ruzne varianty jine: 

            1. Je tezke to vysvetlovat lidem v IT, to se musi videt, stale existuji lide
              vlastnici telefon s cernobilym displejem a na WAP se podivaj (kdo rika, ze
              nekoukal na jizdni rady ve WML, ten to dela dodnes).
            1. Byt zavisly pri prohlizeni jedne stranky na trvajicim pripojeni (typicky
              AJAX) nam nebude vadit, dokud se nedostaneme do mist s vypadavajicim signalem,
              nebo jeste lepe, nebudeme si je chtit stahnout do notebooku pro cteni v letadle
              (a myslim ze jeste hodne dlouho na svete najdeme spoje, kde nebude dostupne
              Wi-Fi). A pak je to jednoduche – kdyz bude iDnes v AJAXu a Lidovky
              „postaru“, ktery internetovy denik bude v letadlech ctenejsi?
            1. Martin HassmanAutor příspěvku

              Re: A teď stopnout a zamyslet se...

              Nechápu – proč by měl být web iDNESu postavený na AJAXu? Mám pocit
              jakobys byl kompletně mimo stávající téma. Je rozdíl mezi webem
              používajícím AJAX a webem postaveným na AJAXu.

              1. Marek Soldát

                Re: A teď stopnout a zamyslet se...

                Já jenom chtěl upozornit na to, že AJAX není samospásný a mělo by se
                s ním jednat uvážlivě, což ty pochopitelně víš, ale u začátečníků
                a některých dalších si tím nejsem zcela jist. Necháme toho :-)

                1. Martin HassmanAutor příspěvku

                  Re: A teď stopnout a zamyslet se...

                  Chybu jsi udělal v tom kroku, že jsi zapomněl, že tohle je odborný
                  magazín pro vývojáře, kde zrovna takovou věc (v zásadě) všichni vědí
                  (tudíž je to nošení dříví do lesa) a od diskutujících na takové téma
                  se čeká „co víc“. Na Lupě bych takovou reakce pochopil, sem nepatří
                  (rozhodně ne v téhle podobě).

    2. v6ak

      Re: A teď stopnout a zamyslet se...

      Dnešním mobilním prohlížečům Javascript moc nedělá problém, aspoň
      jednodušší. V Opeře mini jsem si nechal zobrazit stolní Google
      Reader a nebyl problém. Výkon může být problém, ale to se zlepšuje (JITka
      apod.) a, jak říkáte, je potřeba rozlišovat mezi aplikací a stránkou.
      Spustíte si někdy 60 desktopových aplikací?

      1. scorpi

        Re: A teď stopnout a zamyslet se...

        Presne tak – v opere mini jsem zkousel projizdet web (spis to byl
        administracni system) postaveny na javacriptovych sablonach (EJS) a slo to –
        po lehke optimalizaci to bude uplne bez problemu. Neni divu, kdyz je to prohnane
        pres upravene jadro desktopove opery – vznikaji tak zajimave paradoxy,
        v dnesni dobe si muzu napr. v Opere mini prohlidnout obrazky delane pres
        canvas, coz si ale uz neprohlidnu ani pres dospely Internet Explorer (to ze
        existuje i „emulace“ canvasu pro IE ted neni podstatne). Marek Soldat zjevne
        nevychazi z reality, ale argumentuje fundamentalisticky.

  8. David Grudl

    Pár poznámek

    K úvodním odstavečkům bych měl několik poznámek. Protože zdejší
    redakční systém k**ví komentáře, budu se části snažit oddělovat reakce
    alespoň řadou spojovníků.

    • – – – –

    ad „Webová stránka na základě události vytvoří AJAXové volání na
    server, server vrátí data ve formátu HTML, webová stránka přijatý
    fragment HTML zobrazí“

    _ Tento přístup má obrovskou výhodu. Aplikace na serveru totiž HTML
    fragment vygenerovat umí, takže je neefektivní stejnou funkčnost duplikovat
    na straně JavaScriptu. Zbytečná práce navíc, možnost zavlečení chyby,
    v případě změny nutnost aktualizovat dvě místa.

    _ Ano, jsou situace, kdy je lepší poslat data a z nich vygenerovat HTML
    kód, typickým případem jsou třeba našeptávače. Ale tady se práce
    neduplikuje – HTML podobu našeptávače totiž webový server obvykle
    negeneruje, jde čistě o JS záležitost.

    • – – – –

    ad „Od začátku mi tomhle řešení připadlo svým způsobem nečisté.
    Ať už proto, že se zde obvykle neprovádí žádná kontrola
    přijatých dat“

    _ Všimni si, že žádná kontrola se neprovádí ani při použití JS
    šablonovacích systémů.

    • – – – –

    ad „…Ale i proto, že v takovém případě nemohu pracovat s daty,
    ale jen s jejich HTML výstupem“

    _ To není tak úplně pravda, třeba zrovna ve zmíněném Nette Framework
    se zpravidla v jedné odpovědi odesílá obojí – JS data i HTML
    fragmenty.

    • – – – –

    ad „pokud budu chtít použít stejnou AJAXovou službu na
    jiném webu…“

    _ To nejde už kvůli bezpečnostní politice prohlížečů.

    • – – – –
    1. Martin HassmanAutor příspěvku

      Re: Pár poznámek

      Všimni si, že žádná kontrola se neprovádí ani při použití JS
      šablonovacích systémů.

      V příkladech, které jsem zmínil sice ne, jenže to je jen dočasný
      stav. On tam je ideální prostor k provádění kontroly, který se
      nevyužívá prostě jen protože validace a la JSON schema se zatím příliš
      nerozšířily, ale to je jen otázka času.

      To nejde už kvůli bezpečnostní politice prohlížečů.

      Pochopitelně je myšleno stejnou službu spustit na jiném webu.

    2. webdev

      Re: Pár poznámek

      Souhlas! Ac s Davidem obcas nemusism souhlasit, tak ted mi mluvi z duse.
      A napsal jsem to i nize. Proste proc delat jednu praci dvakrat. Navic skutecne
      JS neni zrovna nejrychlejsi ve vetsine prohlizecu by se dal pokladat naopak za
      pomaly. Cim vic mu toho nalozime a parsovani do HTML z XML, je presne to co mu
      nalozime zjistime, ze pak se aplikace skoro nepohne.

  9. ll

    obrazek clanku

    to je docela dobrej figl s tim nosorozcem ten obrazek clanku, predpokladam
    ze to je nejaky prebal knihy o javascriptu… takhle to na navstevnika tohohle
    webu budi dojem ze pujde bud: za a) o clanek ktery je autorem te knihy, nebo za
    b) o clanek ktery pochazi z te knihy, ale asi ani jedno neni pravda co?

    1. Martin HassmanAutor příspěvku

      Re: obrazek clanku

      Hlavně tento nosorožec, který pochází z nejznámější knihy
      o JavaScriptu vůbec, a také z projektu Rhino (implementace JavaScriptu
      v Javě) je asociován s JavaScriptem obecně a proto je použit jako
      ilustrační obrázek v perexu.

      On všechny, kdo se JavaScriptem vážně zabývají, na první pohled
      upozorní, že tenhle článek se zabývá JavaScriptem, což bylo cílem. A je
      obecným cílem takových perexových obrázků.

  10. b*d

    fragment HTML vs. XML?

    Fragment HTML se používá protože innerHTML je daleko rychlejší, než
    operace přes DOM. A je daleko jednodušší na implementaci.

    Posílat XML? Vždyť posíláme validní (x)HTML, není to
    totéž? KISS!

    A pokud mám nějakou JS komponentu, pak dobře, ale ať má stabilní
    data API.

    Dobrý serverový framework pozná, jestli je dotaz AJAX nebo ne. Pak může
    posílat fragment nebo celou stránku.

Napsat komentář

Přihlásit se

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: http://www.zdrojak.cz/?p=3039