Jump to content
Geekforum.cz

Nette nic neincluduje glararane


ntdrt
 Share

Recommended Posts

Včera jsem zahlídl jak glararan odrazuje lidi od Nette. Framework je prý pomalý a "includuje" kupu věcí navíc. Což samozřejmě není pravda.

 

Napíšu zde reakce na jeho tvrzení, ať si každý udělá obrázek sám a neupouští od tak dobrého frameworku zbytečně.

 

akorát to bude pomalý

 

Pomalý to určitě nebude. Nette je obecně rychlé a v jednom z mála testů frameworků vyšlo jako jeden z nejrychlejších frameworků. Těžko říct jak moc objektivní test to je, každopádně v žádném případě to nebude pomalé a uživatel ani nepozná, že tam nějaké Nette je.

 

includuješ tam xxx nahovno věcí který tam nepoužije

 

..., ale co vim, je že tam je xxx souborů a určitě v každém z nich nebude nějaká funkce která odkazuje na tu kterou budu používat...

 

Framework určitě nic jen tak "neincluduje" a určitě nebude nic includovat navíc. Nette má RobotLoader, který drží v paměti seznam tříd a pokud nějakou vyžaduješ, tak jí načte do paměti.

 

Samotný RobotLoader samozřejmě nějaké nároky má a pokud by to někomu přišlo příliš, tak existuje například PSR-0 loader - ten pracuje na základě struktury projektu a nemá prakticky žádné paměťové nároky.

 

Všechno se samozřejmě kešuje, jak šablony, tak RobotLoader, tak konfigurace a dokonce i dotazy databáze.

Link to comment
Share on other sites

Hm, to je možný, tím RobotLoaderem se to vše mění, teď už to aspoň vím, ale stále je tam xxx souborů, který dotyčný nevyužije a mě to příjde úplně useless aby celý framework měl víc souborů než celý normální projekt a pak vlastně z toho frameworku použiju 2 soubory ze 100? S tím číslem jsem to jen nastřelil, netušim kolik jich tam je.

Link to comment
Share on other sites

Framework má přesně 239 souborů v aktuální verzi. A rozhodně nepoužiješ dva. Navíc si nemyslím, že v dnešní době je pár kb místa na HDD problém... Nebo ty máš hosting s prostorem 1MB?

 

Právě v tom je ten vtip, že framework umí toho tolik, že ty už nic psát nemusíš :). Podle mě je to obrovská výhoda a zaručeně bez Nette by si musel napsat mnohonásobně víc řádků kódu. Proč teda psát něco, co je už napsané?

Link to comment
Share on other sites

No, já na to mám stejný názor jako Glararan.

...Proč teda psát něco, co je už napsané?...

To je jako říct, proč někomu dělat design, web a redakční systém, když si můžu stáhnout wordpress a na něj nějakou free šablonu. Proč něco dělat, když je to už hotové, že?

Link to comment
Share on other sites

Design a kód jsou naprosto dvě odlišné věci. To je jako říct, proč si koupit auto, když si můžu koupit autobus... Tímhle směrem určitě diskuzi vést nechci.

 

V tomhle případě ti něco ulehčí práci, výsledek je velmi kvalitní a přesně takový jaký chceš. To v případě šablon, wordpressu a redakčních systémů nemáš.

Link to comment
Share on other sites

Komalarne, ale kdyz udelas vlastni design, je z toho jiny vysledek... Pouziti Nette udela z PHP neco jineho? je to jen zjednoduseni. Nemuzes porovnavat Webdesign, kde kazdy ma neco originalniho vs zjednoduseni psani kodu v PHP.

 

EDIT: ndrt byl rychlejsi.

Link to comment
Share on other sites

No jenže jsme tu tací, kteří frameworky pro PHP neschvalují neboť pokuď jsou OOP, tak já vim, že OOP je pomalejší v PHP než v normálním desktop jazyce.. u C++ si framework vezmu, protože tam je to o hubu psát něco velkýho pro všechny OS zároveň, ale v PHP si postačím sám, proto odsuzuji tenhle framework.

 

PS: K tomu HDD místu to problém neni, ale já nemám rád blog, kterej má 5 podstránek a má 240 souborů, to mi fakt nestojí za to.

 

EDIT: Jen s Komalarnem jsme to už řešili na intru párkrát do roka co si o tom myslíme a nějak jsem vydedukoval, že máme fakt stejnej názor, nehodí se nám.

Link to comment
Share on other sites

Pokud neuznáváš OOP tak tady není co řešit. Jeho výhody jsou prokazatelný a odvážím si říct, že škodíš sám sobě.

 

A tvrzení, že je to v PHP pomalejší je úplně mimo. Vážně se v životě zajímáš o micro či milisekundy? Podobná mikrooptimalizace, která naprosto brutálně rozdrtí čitelnost a znovupoužitelnost kódu je k ničemu. Tohle není můj osobní názor, tohle je obecnej fakt. Investuješ zlomek místa/výkonu a dostaneš nepřeberný množství killer-fičur.

 

Samozřejmě máš právo na názor, o tom žádná. Jen by bylo pěkný tenhle názor dál nerozšiřovat a hlavně nepomlouvat něco, co neznáš. To že se to nelíbí tobě neznamená, že to není dobré pro jiné a v tomhle případě to platí dvojnásob. Přeci je to jenom subjektivní názor.

Link to comment
Share on other sites

No a když se někdo tušim netix ptal, jestli to má použít tak jsem mu řekl ať to nechá, proč ne..

Ještě se vrátím k té rychlosti, už nežijeme za opicema, ale proč být hovado? Navíc další věc proč ještě nepoužívám moc cizích frameworků tak je to, že to píše někdo jiný, tím chci říct, že pro mě jako programátora to bude hůře čitelný, protože každý z nás má nějaký styl psaní. A než já se rozkoukám tak už to mám napsaný.

Link to comment
Share on other sites

Ohledně velikosti a rychlosti frameworku bych diskuzi ukončil. Pokud ti nestačí co říkám já, tak se můžeš podívat na projekty, které jsou postaveny na Nette a nebo se zeptat na fóru, jaké zkušenosti mají uživatelé. Můj názor znáš.

 

Nette má jasně daný coding-standard a framework ti určuje architekturu aplikace. Takže ve výsledku píší všichni naprosto stejně a nedělá ti problém číst cizí zdrojové kódy (což se nedá říct v případě procedurálním stylu programování).

 

Samosebou existuje nějaká určitá vsutpní bariéra, kterou musíš překonat. A pokud si do teď programoval "špagety", tak se budeš ještě muset naučit OOP, bez toho Nette nepochopíš a budeš to vidět jen jako velký chaos. Každopádně já už několik lidí ze špaget do Nette přeučil a nedalo to ani moc práce (zajímavost: všichni od té doby u Nette zůstali).

Link to comment
Share on other sites

O problematice OOP v PHP jsem si toho četl víc než dost. Většina zdrojů tvrdila tuhle věc (a podle mě to tak i je): OOP je dobré použít ve velkých projektech na kterých dělá více lidí. Ulehčuje to práci v teamu. Pokud je to ale menší projekt a dělá ho jedna osoba, tak to důležité není. Ve výkonu rozdíl není (a kdyby ano tak minimální). Prý je to jen pro zpřehlednění kódu pro ostatní a s tím souhlasím.

 

Já se živit PHPčkem (a obecně programováním webů) nehodlám a přecházet na OOP (nebo nějaký framework) mi přijde zbytečné. To co píšu, napíšu v pohodě procedurálně bez frameworku a to ať se jedná o CMSko nebo eshop. Chápu, že je to asi lepší se to naučit, pokud s tímhle míříte výše, ale to já nemířím a to jak to dělám teď mi vyhovuje :)

Link to comment
Share on other sites

Pokud píšeš jednu "about" stránku do roka, tak to samozřejmě smysl nemá. V případě CMS a e-shopu je to ale sebevražda. Procedurální kód se prostě nedá reálně udržovat a to v případě těchto aplikací je stěžejní kritérium.

 

Pokud se k tomu stavíš s přístupem "na to co dělám to stačí", tak to je holt tvoje vlastní neštěstí a nebo prostě nejseš programátor (správný programátor má mít chuť se sebezdokonalovat). Bylo by jen špatný, kdyby si tenhle postoj jako třeba glararan šířil dál.

 

Mimochodem... OOP není vůbec o PHP a ani o webech. To se používá naprosto všude.

Link to comment
Share on other sites

A právě to je ta nechuť k sebezdokonalení :). Já například dělal vlastní CMS a dodnes jsem neudělal finální verzi. Když jsem napsal první verzi, tak jsem objevil OOP. Sakra a musím to smazat... Potom jsem objevil MVC, potom Nette, ... Aplikace sice dělala furt to samé ale kód dělal doslova mílové kroky kupředu. Proč? Prostě jsem nemohl dál pokračovat ve staré verzi, protože byla katastrofálně zoufalá a neměl jsem zkrátka chuť. A přesně takhle já vidím sebezdokonalování. Sám se ženeš k lepším výsledkům. Jak ale řekneš "mě to stačí" tak je konec.

 

Záleží z jakého úhlu pohledu. Z uživateslkého hlediska nejspíš ne. Pokud budeš hodně pečlivý, tak docílíš stejné funkčnosti ale budeš muset napsat samozřejmě velké množství kódu. Naopak z pohledu programátora je zaručeně horší. Nette (a nejen Nette) využívá architekturu a ověřené postupy praxí tisíců programátorů. Je to prostě to nejlepší z nejlepšího. Jako jednotlivec nemáš šanci napsat něco stejně kvalitního natož lepšího, tedy pokud nejseš Fowler.

Link to comment
Share on other sites

A právě to je ta nechuť k sebezdokonalení :). Já například dělal vlastní CMS a dodnes jsem neudělal finální verzi. Když jsem napsal první verzi, tak jsem objevil OOP. Sakra a musím to smazat... Potom jsem objevil MVC, potom Nette, ... Aplikace sice dělala furt to samé ale kód dělal doslova mílové kroky kupředu. Proč? Prostě jsem nemohl dál pokračovat ve staré verzi, protože byla katastrofálně zoufalá a neměl jsem zkrátka chuť. A přesně takhle já vidím sebezdokonalování. Sám se ženeš k lepším výsledkům. Jak ale řekneš "mě to stačí" tak je konec.

 

To přesně samé jsem měl taky :) Napsal jsem asi 6 redakčních systémů (všechny z uživatelského hlediska prakticky totožné ale v kódu bylo každé vždy vyspělejší ... ať už se jednalo o bezpečnost, přehlednost kódu, a nebo také implementaci šablon). To, že jsem zatím nedošel k tomu, abych začal s nějakým frameworkem ze mě hned nedělá ,,matlala" ;)

Link to comment
Share on other sites

Tak můžeš kód zveřejnit a můžem se pobavit o tom, co by ti FW vyřešil a jak by to systému prospělo. Ale moje zkušenost mluví jasně: dej programátorovi volnou ruku a neskončí to dobře.

 

Faktem je, že bez FW musíš psát zbytečně moc kódu a to ti automaticky zvětšuje šanci na nějakou chybu nebo bezpečnostní díru.

Link to comment
Share on other sites

A nebo jí udělá nějakej nalitej matlák a pushe to na github a pak si to stahne matla a ahoj :) než to opraví další tak už to budou mít dva týpci.

 

A ntdrt jen počkej až někdo udělá něco lepšího než nette tak teprve pak přejdu, nette fakt ne, až se někdo poučí z toho, že 500 miliardo souborů nechce v projektu.

 

EDIT: Nette je podle mě takovej TC2, kde v jedný funkci je xx dalších ale ty předešlé se už nepouživaj jinde

Link to comment
Share on other sites

U prvního odstavce fakt netuším o čem mluvíš :D.

 

Každopádně porovnávat Nette a TrinityCore je hodně velká chyba. TC nemá s Nette ani jednu věc společnou. Možná tak pár písmen v názvu a tím to končí.

 

Pokud si myslíš, že bude něco lepšího než OOP a MVC frameworky, tak seš hodně velkej optimista. Tohle je tady s náma už pěkně dlouho a za poslední roky se nic novýho nevymyslelo a jen tak nevymyslí.

 

Jak tak koukám, tak v tvém případě nejde vůbec o Nette ale o samotné objektové programvání. Tam samozřejmě závislosti jsou a musí být - celé paradigma je na tom postavené. V Nette se to konkrétně řeší pomocí inversion of control a nic čistějšího neznám.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...