DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Template engines (http://www.devprotalk.com/showthread.php?t=7603)

razno 15. 06. 2009. 18:29

Template engines
 
Evo i odvojene teme o template engines.

Recite koji koristite, zasto, koje su prednosti, koje mane.

Smarty (www.smarty.net)
Dobra strane:
-Veliki broj mogucnosti, programiranje u samom template fajlu (recimo ponavljenje nekog reda tabele)
-Kesiranje
-Mogucnost insertovanja celih blokova
-Velika mogucnost konfigurisanja i nadogradnje
-Poprilicno velika zajednica

Lose strane:
-Veoma velik
-Pozivanjem konstruktora ucitava se gomila fajlova sto dovodi do veceg vremena potrebnog za render stranice
-Ukoliko se html preuzima od nekog ko koristi dreamweaver mora se napraviti filter komentara.

Tenjin (http://www.kuwata-lab.com/tenjin/)

Dobre strane:
-Mali je
-Brzina,neucitava nepotrebne fajlove
-Zgodne pomocne funkcije(checked,selected...)
-Mogucnost ponavljanja koristeci php u samom fajlu
-Nema sopstveni skript jezik (php je inace sam po sebi template engine)

Lose strane:
-Los kes sistem,mora se doraditi malo
-Nema podrske za pluginove

Radio sam i sa dwoo,principu alternativa Smartija.


I link ka kompletnom benchmarku http://www.kuwata-lab.com/tenjin/

ivanhoe 15. 06. 2009. 19:05

ako mene pitas ovaj Tenjin je gubljenje vremena, ono sto on nudi mozes lako da resis sa par php funkcija i da onda radis u cistom PHP-u bez da ucis ovu cudnu sintaxu... plus dobijes jos brzi kod...

ako se vec cimas sa ucenjem template sintaxe, onda taj template engine treba da ti ubrza i olaksa posao, sto smarty dosta lepo radi...

bluesman 15. 06. 2009. 20:32

Ne bih da zvučim kao Smarty advokat, ali samo par reči (već zvuči zastrašujuće, zar ne? :D )

Citat:

Lose strane:
-Veoma velik
-Pozivanjem konstruktora ucitava se gomila fajlova sto dovodi do veceg vremena potrebnog za render stranice
Kažeš da je veoma veliki? On je veliki onoliko koliko ga velikog napraviš, koliko god smarty ima svojih modifier-a i funkcija, ja sam usput napravio još bar duplo toliko. A ako misliš da ima "veliki fingerprint" kako se to fensi kaže, odnosno da zauzima puno resurasa, to jednostavno nije tačno pošto kada je template kompajliran (ako nije uključeno force_compile, ili nije modifikovan template) poziva se jedna jedina klasa i par core funkcija.

Na onoj drugoj temi si spomenuo da nije za sajtove sa puno poseta. To takođe nije tačno, mogu da ti pokažem dinovske sajtove na kojima smarty super radi, i ne samo da ne smeta nego i pomaže dosta njegov caching sistem, jednostavan a vrlo efikasan.

Citat:

Lose strane:
-Ukoliko se html preuzima od nekog ko koristi dreamweaver mora se napraviti filter komentara.
Nadam se da ovo nisi stvarno stavio kao neki argument :D Da ne komentarišem za džabe.

A ovaj benchmark koji si stavio ne znači baš ništa, treba videti kako je konfigurisan svaki ovaj template engine pre testiranja, i kako se koriste, pa tek onda izvlačiti zaključak.

razno 16. 06. 2009. 01:27

@ivanhoe Sintaksa je malo cudna {==$promenljiva=} mada moze se i promeniti,ostalo je rad sa php (petlje). Slazem se sa ostatkom za brzinu koda i da treba da omoguci brzi rad kako programeru tako i dizajneru.

@bluesman Mozda bi dobar advokat :)
Kada je template kompajliran zapravo radi samo echo i proveru da li je template menjan(mozda ima jos nesto). Iskljucivanjem compile_check moze se izbeci overhead za proveru da li je template menjan sto mislim da je bitno na posecenim sajtovima jer smanjuje citanje diska.
Na posecenim sajtovima svaki cahing sistem pomaze jer smanjuje opterecenje baze. Ja recimo volim memory caching (memcached) ali za tim nema potrebe svugde niti moze da se koristi na shared hostingu. Na vecini sajtova obican file cache sistem radi super.

Sto se tice benchmark-a nemam detaljne informacije,ali recimo ovaj http://alexeyrybak.com/blitz/blitz_en.html ima malo vise informacija(doduse staro je verovatno 3 godine i vecina stvari se verovatno promenila).

Ne kazem da je smarty los, zapravo za 90% slucajeva je odlican, ali mislim da nije za sve sajtove.
Nadam se da ce se i drugi ukljuciti u diskusiju sa ostalim template engines koji su koristili.

edit: Interesuje me najveca posecenost/pregledanost strana sajtova koji koriste Smarty, jer nisam nasao ovakve podatke. Pretpostavljam da je 20k jedinstvenih poseta dnevno mala cifra do koliko ja imam iskustva.

mangia 16. 06. 2009. 01:55

pogledajte i http://templatelite.sourceforge.net/

Aleksandar.Ilic 16. 06. 2009. 09:06

flickr je meni najveci poznati sajt koji koristi smarty za frontend

zidoo 16. 06. 2009. 09:12

nakon godina predivnog druzenja sa smartyem, vratio sam se na cisti PHP, uzeo http://www.massassi.com/php/articles/template_engines/ i malo prepravio, i koristim "ljepu" sintaksu (bez { }) da mi se coder ne iztraumira.

ppavlovic 16. 06. 2009. 09:34

Ja se ponovo rodio kada sam poceo da koristim Smarty. Odlican je, mozes da napises ili preuzmes modifiere koje je neko vec napisa i koji ti olaksaju gomilu posla. Web dizajneri se ne traumiraju jer nema PHP koda koji ih zbunjuje, ne razbucaju ti stranicu posle najmanje intervencije.
BTW, sadasnji PolovniAutomobili.com su uradjeni sa Smarty bez ukljucenog kesiranja.
Pre toga sam koristio prastari FastTemplate.
Ukratko, za odradjivanje tezgi, Smarty je najbolje resenje. Inace, u poslednje vreme sa prelaskom na Zend Framework se vracam na native PHP code (jer vise ne tezgarim) ... I prva stvar koju radim jeste da prepisujem najkoriscenije Smarty modifiere kao Helpere (navika je cudo).

bOkIcA 16. 06. 2009. 09:58

Citat:

Originalno napisao ppavlovic (Napišite 70689)
Ukratko, za odradjivanje tezgi, Smarty je najbolje resenje.

Kakva je to konstatacija?! :1092:


Meni je bilo gubljenje vremena ucenje dodatne sintakse kako bih prikazivao isto sto mogu i bez nje.

Aleksandar.Ilic 16. 06. 2009. 11:30

da, to je jako tesko... meni trebalo pola sata da naucim smarty i veci deo njegove sintakse. Sve moguce razloge mozes da navedes protiv smarty-ija, ali taj je, bez uvrede, najgluplji moguci


Vreme je GMT +2. Trenutno vreme je 07:09.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.