Na co všechno se hodí Nette – série dotazů, připomínek…

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Rellik
Člen | 104
+
0
-

Zdravím Nette komunitu. Jakožto začátečník v tomto prostředí bych měl pár dotazů ohledně použitelnosti celého systému na menší projekty.

Začal sem s tím, že jsem vyzkoušel sestavit statický web podle návodu https://doc.nette.org/cs/quickstart . Výsledek se dostavil – všechno fungovalo, ale trochu mě od toho odrazuje, že v podstatě každá stránka se skládá ze dvou souborů (presenter, šablona) a to nemluvím o samotném indexu, bootstrapu, cssku a kdoví čemu všemu. Doteď mi stačilo na tento jednoduchý třístránkový web 4 soubory, když k tomu přičtu jedno cssko a jednu eror stránku, tak celkem 6 souborů. Přitom v nette je potřeba asi 2× tolik a k tomu navíc celé nette. V tomto případě považuji nette za zcela zbytečné.

Nette mi přijde, že je stavené celé na databázových webech, kde statických stránek je minimum nebo nejsou žádné. Pak opravdu o něco usnadní práci. Nicméně nedokonalá dokumentace a návody psané v některých případech nemoc srozumitelně, případného uživatele spíše odradí. Navíc u samotných návodů není ani napsáno pro jakou verzi nette je. Někde je používaná dibi nástavba pro práci s DB, jinde je používaná samotná nette databáze.
Myslím, že samotné nette není špatné pro větší projekty, ale pro ty menší nejspíš zůstanu u psaní vlastních scriptů.

Tak na co všechno je pak nette výhodné použít? Na aplikace podobné wordpresu kde je celý web v DB, a nebo se vyplatí použít nette i tam kde je třeba 20 statických stránek a 5 co používají DB? V tomto mi příjde celkem zbytečné psát 20 presenterů a 20 šablon…

Navíc když sem si teď nahrál vytvořený pokus na ostrý web, tak na mě vybaflo pěkné „Server Error … error500“. Přičemž jsem zkusil „vypnout“ všechny soubory .htaccess, připojení k DB je správné, takže vůbec netuším proč to nejde… A to myslím, taky dost začátečníků odradí..

Neberte nikdo teno příspěvek nějak špatně, jen mě to celkem zajímá. A myslím že to bude zajímat i další potenciální uživatele nette.

Editoval Rellik (1. 1. 2012 20:47)

Filip Procházka
Moderator | 4668
+
0
-

Máš v tom trošku zmatek, že?

Pokud ti vadí množství souborů, tak si můžeš základ aplikace zkompilovat do .phar balíčku a používat ho jako „index“.

I u statických webů bych Nette rozhodně použil, už jenom kvůli Latte. Už nikdy nechci psát šablony bez Latte ;)

Dále bych ti doporučil projít si příklady, kde najdeš i kompletní kostru pro web bez vlastních presenterů, který je celý postavený na šablonách, upraveném routeru a jednom MicroPresenteru, který už je v Nette.

PS: nauč se psát odstavce, díky.

redhead
Člen | 1313
+
0
-

Co se týče statických webů, nepotřebuješ celé Nette. Stačí, když si vytáhneš třeba jen laděnku, Latte a formuláře, které jsou na frameworku nezávislé.

Rellik
Člen | 104
+
0
-

HosipLan: nevadí mi celkové množství souborů. Příjde mi trochu nelogické pro jednu statickou stránku mít dva soubory presenter a šablonu. Doteď sem měl jeden index, kde byla kostra celého webu a jen do obsahové části se vkládaly samotné soubory s obsahem – bez divů, bez rozvržení (podle typu obsahu) Takhle bych musel udělat presenter a obsah, což už jsou soubory dva. Větší statický web by se nejspíš dal udělat jedním presenterem a x počtem šablon (obsahů) ale někde sem četl, že je to prasárna. Což mi trochu nějak nejde do hlavy proč…

Co se týká odstavců tady na fóru, tak je dělám (enter). Nemůžu zato že se to zmrsklo do jednoho.. ( původně to byly asi tři odstavce)…

Postupem času mi to možná přijde jednodušší, teď po týdnu mi to tak zatím nepřipadá… :)

redhead: já samozřejmě nedělám statické weby, tak bych využil sílu nette. Ale jak říkám, některé banální věci mi přijdou dělané celkem zbytečně složitě…

EDIT : No koukám, že pouhé odentrování pro odstavec nestačí a je třeba odentrovat 2x – to mi taky hlava moc nebere… :)

Editoval Rellik (1. 1. 2012 20:47)

bojovyletoun
Člen | 667
+
0
-

Zkus tlačítko náhled. Zde na fóru se používá texy a také mě se nelíbí, že je mergelines=true. Což znamená, že pro nový řádek je potřeba Enter+mezera, pro odstavec 2× entry

Ohledně toho statického webu platí, že je víc možností realizace, bez příkladu se hůř posuzuje kvalita řešení. V nette se programuje jinak(čistě, nette way), snaha je o rozdělení na logické časti, komponenty a vrstvy. Ne jako v php, kde se includují soubory hlava nehlava, míchá se html s příkazy phpčka
Díky tomu je možné, aby se v projektu vyznal člověk po měsíci, natož víc lidí, protože každý soubor(a složka) má zřetelný význam.

Editoval bojovyletoun (1. 1. 2012 20:41)

Rellik
Člen | 104
+
0
-

bojovyletoun: jo s tím rozlišením co je na co je pravda. Když sem nedávno začal předělávat asi 5 let starý projekt, tak sem některé věci opravdu nevěděl proč tam jsou… :) Naštěstí všechny web sem psal víceméně podobně, tak sem na to pak přišel. Tady je opravdu výhoda, že každá věc má svůj soubor. I když jak stále tvrdím, u některých věcí je to trochu zbytečné. Uvidím postupem času… :)

Fanda
Člen | 39
+
0
-

Myslím, že nette je základ moderní MVC aplikace. Tahle architektura logicky víc souborů vyžaduje. Jestli potřebuješ 3 stránky s formulářem, stačí ti pár vlastních souborů, to je jasný. :-) V ostatních případech bych nette vzal „vždycky“. V začátcích je to dřina, ale zároveň skvělý způsob, jak se posunout rychle vpřed.

K té dokumentaci Ti poradím: zorientuj se v principu, jak se s nette pracuje, a pak koukej do API. Dlouho jsem to opomíjel a přitom je to velmi kvalitní manuál. :-)

OK3
Člen | 91
+
0
-

Presenter ti stačí jeden, pokud v něm nadefinuješ příslušné „render metody“. K tomu přidáš šablony jednotlivých stránek. Pak už stačí jen upravit routy, aby se požadavky posílaly na ten jeden konkrétní presenter. Tím by se dala simulovat jednoduchá struktura souborů malého webíku :-)

Editoval OK3 (2. 1. 2012 11:31)

gawan
Člen | 110
+
0
-

stačí aj jedna render metoda, a kľudne môžeš mať aj 100 podstránok, keď už o to ide…

Jan Tvrdík
Nette guru | 2595
+
0
-

Rellik wrote:

Větší statický web by se nejspíš dal udělat jedním presenterem a x počtem šablon (obsahů) ale někde sem četl, že je to prasárna. Což mi trochu nějak nejde do hlavy proč…

Můžu tě ujistit, že u statických webu je naopak prásárna mít pro každou šablonu vlastní presenter.

Pro vyloženě statické weby lze použít https://github.com/…ik/StaticWeb. Píšeš jenom šablony do složky templates, žádné nastavování není třeba (aspoň myslím). Odkázaný tutoriál bohužel není moc dobrý a řeší věci mnohem složitěji, než je (pro statický / téměř statický) web třeba.

Rellik
Člen | 104
+
0
-

Jan Tvrdík napsal(a):

Rellik wrote:

Větší statický web by se nejspíš dal udělat jedním presenterem a x počtem šablon (obsahů) ale někde sem četl, že je to prasárna. Což mi trochu nějak nejde do hlavy proč…

Můžu tě ujistit, že u statických webu je naopak prásárna mít pro každou šablonu vlastní presenter.

No právě tak sem si to pak předělal – jeden presentex pro x šablon. A neviděl sem na tom nic špatného. Prostě je jen o jeden údaj v adrese víc.
Jinak mám pořád problém s tím zprovozněním webu naostro. Ale to je možná způsobeno tím, že sem do nahrál jako subdoménu nette.rellik.eu kdyby to bylo přímo, tak to nejspíš půjde…

Fanda
Člen | 39
+
0
-

Na produkčním stroji se chyby nezobrazují. Kde je chyba najdeš v logu (500 se používá jako obecná chyba).

Rellik
Člen | 104
+
0
-

Fanda: Díky, pomocí logů sem našel a opravil chybu… :) Už můžu testovat na ostro… :)

22
Člen | 1478
+
0
-

Jan Tvrdík napsal(a):

Rellik wrote:

Větší statický web by se nejspíš dal udělat jedním presenterem a x počtem šablon (obsahů) ale někde sem četl, že je to prasárna. Což mi trochu nějak nejde do hlavy proč…

Můžu tě ujistit, že u statických webu je naopak prásárna mít pro každou šablonu vlastní presenter.

Pro vyloženě statické weby lze použít https://github.com/…ik/StaticWeb. Píšeš jenom šablony do složky templates, žádné nastavování není třeba (aspoň myslím). Odkázaný tutoriál bohužel není moc dobrý a řeší věci mnohem složitěji, než je (pro statický / téměř statický) web třeba.

No on účel toho tutoriálu nebyl, jak co nejefektivněji postavit statický web, ale spíš tam ukázat nějaké základní věci z Nette, pro jednoduchý – několikastránkový web. Ale je fakt, že by to stálo už asi celé za předělení.
Samozřejmě, že v extrémním případě stačí jeden Presenter a templates, který odpovídají jednotlivým view nebo MicroPresenter, na který odkazuje Hosiplan

David Grudl
Nette Core | 8228
+
0
-

Příklad reálného statického miniwebu s Nette je http://davidgrudl.com (zdrojáky, knihovny FeedRss a Twitter mám někde na Githubu). Důležité je, že presentery se tam vlastně nepoužívají.

Z frameworku se využívá šablonovací systém, routování, neon, debugging/logování chyb. Což jsou velmi silné části frameworku, takže i tak triviální web se mi lépe píše s Nette. (Nejhorší je, když „pro jednoduchost“ začnu bez Nette a pak mě to štve ;-)