Na navigaci | Klávesové zkratky

Translate to English… Ins Deutsche übersetzen…

TOHLE. KURVA. ANI. OMYLEM.

Ne každému a ne na všechno se vždy a univerzálně hodí velké frameworky!

Nadpis jsem si vypůjčil z článku Manifest miniaturního PHP, pod nějž bych se klidně elektronicky podepsal, mít elektronický podpis. Sice argument s počítáním řádků je nefér a diskutabilní, ale rozumím, co se autor snažil říct. Na Zdrojáku jsem pod něj napsal komentář, který jsem se nakonec rozhodl zvěčnit i tu na blogu:

Docela často dělám jednoduché weby, které celé napíšu v „notepadu“, a chci, aby kód neměl víc řádků, než je naprosto nezbytně nutné a nahrávat kvůli 20kB webu i se styly na hosting hafo-megabajtový framework nepřichází v úvahu už vůbec.

Ale přitom i v těch jednoduchých webech chci použít věci, co jsou vyřešené v Nette, a nechci se vzdát navyklého pohodlí. Jsem líný programátor. Z toho důvodu se dá Nette Framework používat jako micro framework.

Chtělo by to příklad. Zrovna včera jsem si redesignoval http://davidgrudl.com a dal k dispozici zdrojové kódy (odkryjte rožek vlevo nahoře), čistě pro inspiraci ostatním, jak takový microsite řeším. Celý PHP kód webu je tvořen jedním souborem index.php, který je, věřím, srozumitelný, byť pro neznalého asi méně. Zbytek jsou šablony. A framework nahraný v minifikované podobě jediného souboru, což, společně s faktem, že má cca dvojnásobnou velikost než jQuery, řeší psychologický blok „nechci nahrávat celej framework“.

Nebo příklad blogu, který najdete přímo v distribuci. Jeho zdroják tvoří taktéž pouze index.php, a to ještě s méně řádky, než v předchozím případě. Vše ostatní jsou šablony, viz https://github.com/…ta/templates.

Asi bych měl napsat, proč vlastně na pidiwebech framework používám. Tak především si dnes neumím představit, že bych něco programoval bez Laděnky, ta mi pak na ostrém serveru bude logovat chyby (ačkoliv u statického webu asi nebudou). Především ale využiju šablonovací systém Latte, protože už od 2 stránek chci mít oddělený layout a obsah, vyhovuje mi stručná syntaxe Latte a spoléhám na automatické escapování. Využiji i routování, protože prostý požadavek mít URL adresy bez koncovek .php dokáže v mod_rewrite nastavit (správně!) jen bůh.

V prvním zmíněném webu se ještě používá kešování pro twitter feedy, na blogu je zase využit databázový layer. A taky SEO vychytávka Nette, která automaticky předchází známé chybě, kdy se při stránkování pohybem vpřed a vzad dostaneme na tutéž stránku, jen jí v URL bude navíc strašit page=1.

A taky mi Nette zajistí, že se při chybě nikdy neobrazí programátorské chybové hlášky PHP, ale uživateli srozumitelná stránka. A ještě autoloading – už jej vnímám jako takovou samozřejmost, že bych na něj úplně zapomněl.

Samozřejmě někdy ještě přidám kontaktní formulář a nechám ho odesílat emailem. Teď si teprve uvědomuji, že vlastně využívám 90 % frameworku.

Takhle tvořím quick'n'dirty weby a takhle mě to baví ;-)

Poznámka: napsat konečně článek o tom, proč místo „osvědčeného“ Phing (2,3 MB) používám své Make (71× menší) a je to po všech stránkách lepší udělátko.

Komentáře

  1. matj http://matj.sk #1

    avatar

    Ahoj. Nejde mi na tablete kliknut na ten odkaz vpravo hore v rozteku. Mozes to skusit pozriet alebo url napisat tu? Dakujen za uzitocny clanok.

    před 5 lety | reagoval [7] David Grudl
  2. Vladimír Kocourek #2

    avatar

    Nechci rýpat, ale na www.davidgrudl.com máš stejnou stránku přístupnou pod dvěma URL – když přijdu, tak ta podle detectLanguage a když pak přepínám v navigaci, tak /cs a /en…

    před 5 lety | reagoval [3] David Grudl
  3. David Grudl http://davidgrudl.com #3

    avatar

    #2 Vladimíre Kocourku, odesílá to hlavičky Vary: Accept-Language a Content-Location, takže by to z hlediska SEO mělo být OK.

    před 5 lety | reagoval [4] Marek Prokop
  4. Marek Prokop http://www.sovavsiti.cz #4

    avatar

    #3 Davide Grudle, IMHO klasická duplicita, hlavičky nehlavičky.

    před 5 lety
  5. David Grudl http://davidgrudl.com #5

    avatar

    Prosím ukončeme jistě zajímavé, ale zcela off-topic téma SEO, pokud nemáte jasný argument :-)

    před 5 lety | reagoval [6] Martin Malý
  6. Martin Malý #6

    avatar

    #5 Davide Grudle, Markovo „IMHO“ nepovažuješ za jasný argument? :)

    před 5 lety | reagoval [7] David Grudl
  7. David Grudl http://davidgrudl.com #7

    avatar

    #6 Martine Malý, Markovo „IMHO“ má pro mě milionkrát větší váhu, než jiné IMHO, ale mám seriozní důvod, proč jsem to tak udělal, byť možná chybně, takže to nechci měnit už po prvním IMHU, ovšem diskusi bych raději vedl někde jinde. S Markem nejraději u piva :-)

    #1 matji, fixnuto tímto

    před 5 lety
  8. repli2dev #8

    Naposledy když jsem zkoušel microframework jsem nakonec raději použil minimalizovanou verzi, protože jak jsem chtěl dělat něco s formuláři tak se to snažilo volat metody, které nebyly v microframeworku definované.

    Takže můj dotaz… Proč se micro a mini liší?

    před 5 lety | reagoval [10] David Grudl
  9. solzenic #9

    před 5 lety
  10. David Grudl http://davidgrudl.com #10

    avatar

    #8 repli2deve, verze se neliší, takže pokud něco nefunguje, zkus napsat na fórum

    před 5 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.