Jenom pro srovnání Nette zabírá 720kB, minified verze dokonce jenom 330kB.
Názory k článku
Miniaturní PHP frameworky: Protože na velikosti záleží!
Re: kontext
celé vláknoDo 330 kB se vejde celá PHP aplikace středního rozsahu i s chlupama.
Re: kontext
celé vláknoAktualne moje prvni aplikace stredniho rozsahu postavena nad Nette ma 150kB (je hotova asi z 90%).
A pro jeste trochu jine srovnani: prototyp v cistem php ktery mel za ulohu jenom otestovat graficky design, html tagy a zakladni rozvrzeni webu ma 128kB, t.j. aplikace ktera generuje asi 3× vice stranek + jsou plne funkcni bude asi jen o 50% vetsi nez staticky prototyp.
Celkove jsem docela spokojeny s tim kolik radku v zdrojaku aplikace neco opravdu dela a kolik jich je jen „omacka“ kolem (definice funkci/trid, zapouzdreni, MVC, atd…), od oka bych rekl ze omacka ma jen mirne pres 60% a i to jen diky tomu ze vykonnych radku je tak 1/3 proti cistemu PHP bez Nette. Celkove bez Nette bych se urcite dostal pres 250kB a jeste by to nejspis bylo vic chybove a min bezpecne, nemluve o delsim vyvoji (a to se Nette ucim za jizdy a jeste ho urcite nepouzivam optimalne).
Takze vzdy jde samozrejme o kontext. :) Ale subjektivne z me zkusenosti muzu rict, ze Nette je zatim jediny PHP framework ktery mne zaujal natolik abych ho zkusil pouzit i v komercni aplikaci (jinak jsem v PHP delal jenom soukrome mini projekty bez frameworku, profesionalne delam C++). A s tim pokusem jsem zatim dost spokojeny a tech 330kB mi prijde smysluplne investovanych.
Tim nechci rikat ze Nette je best, vzhledem k tomu ze zadny jiny PHP framework jsem nezkoumal vic nez par hodin, tak nemuzu srovnavat.
Kohana
celé vláknoDobrý den, jsem vcelku vášnivým uživatelem Kohany a mohu jí jen doporučit, třeba vznikne i větší česká komunita tohoto dle mého názoru podařeného frameworku.
Ostatní zmíněné frameworky mě zaujaly, děkuji autorovi za článek, projdu si zmíněné frameworky už jen abych viděl, jestli někdo neměl nějakou geniální myšlenku. :)
Re: Adminer editor
celé vláknoUznávám, že jsem byl neobvykle stručný. Chtěl jsem říct, že Adminer editor by sem šlo taky zařadit?
Re: Adminer editor
celé vláknoMyslím, že na tuto otázku by nejlépe odpověděl Jakub Vrána, ale přesto: Framework je určitá sada knihoven a pravidel k vytváření aplikací. Měl by být dostatečně obecný, i když může být orientován na určitou kategorii úloh. Naproti tomu Adminer Editor, nakolik jsem pochopil jeho funkci a směřování, je spíš aplikace pro jednu konkrétní úlohu, byť je ji možno rozšiřovat a pozměňovat. Je tam tenká linie, přiznávám že do značné míry pocitová. Kdyby byl Adminer Editor „sada knihoven, pomocí kterých lze napsat aplikace pro správu databáze“, tak by sem patřil, ale tak tomu není, je to hotový nástroj.
Ale jak píšu: Fundovanou odpověď jistě podá Jakub Vrána, on sám nejlíp ví, co napsal. Snad. ;)
Re: Adminer editor
celé vláknoPodle příkladu na http://www.adminer.org/cs/extension/ bych to spíš než na aplikaci viděl na specializovaný framework. Do miniframeworků (nemusí umět vše, jen to, co zde potřebuju) se IMHO celkem hodí.
Re: Adminer editor
celé vláknoJe to tak. Adminer Editor je nástroj pro správu dat v databázi. Dá se všelijak upravovat, ale z tohoto rámce nevykročí. Framework to tedy není.
Re: Adminer editor
celé vláknoDobře, formálně sem možná natěsno nepatří, ale tématicky IMHO ano.
protože na slovníku záleží
celé vláknoco je to kompresovaný kód?
Re: protože na slovníku záleží
celé vláknoTo je kód, který prošel procesem komprese. Zvolil jsem tento tvar, aby nebylo v jedné větě dvakrát „komprimováno“, někteří komentátoři by z toho pak mohli být deprimováni. ;)
Re: protože na slovníku záleží
celé vláknoTýjo, tak ono to slovo fakt existuje ) editor to ‚komprimováno‘ nakonec stejně asi odstranil. Při zmběžným pohledu to vypadá, že autor (frameworku) tim má na mysli zazipovaný zdrojáky, což je teda čurina. Ale asi se tim myslí konkatenace všech souborů a odstranění většiny konců řádků, cože je čurina ještě větší.
Fuj ...
celé vláknoPane Malý, bylo by slušné uvést odkaz na článek
http://jeez.eu/…does-matter/
Nejedná se sice o prostý překlad, nicméně výčet frameworků je stejný a mnohé části textu rovněž.
Re: Fuj ...
celé vláknoPane Mastodonte, fuj! Odkaz tam mám, ale při kopírování do RS mi vypadl i s kusem závěrečného textu. Vina jde jednoznačně na mou hlavu, omlouvám se. Odkaz jsem do článku doplnil, text už tam dodávat nebudu.
myself
celé vláknopekny prehled…
zajimal by me nazor sirsi programatorske verejnosti, zda-li vidi v pouzivani techto FW zasadni vyhodu, nez-li pouzivat a spravovat svuj vlastni. Me treba celkem bavi si zdokonalovat svuj vlastni FW a z profesniho hlediska mi prijde vyhodne, ze nejsem jen lepic, ale i vim, co se deje uvnitr. A efektivita mi nedela problem, i kdyz uznavam, ze nette je treba fajn.
Re: myself
celé vláknoZ hlediska osobního vývoje je lepší vlastní FW, při hledání zaměstnání je lépe prokazovat se znalostí něčeho zavedeného :-))
Re: myself
celé vláknoa nebo schopností číst manuál
Já jsem pro vlastní FW
celé vláknoJá osobně nejsem zastánce jakýchkoli frameworků. Nikdy jsem framework nepoužil, ale spolupracoval jsem na projektu, kde byl Zend Framework a mě to prostě přijde jako nepřehledná kupa odpadků.
Hlavní důvod proč FW nechci je ta velikost, takže pro mě přichází v úvahu jen nějaký ten miniframework. Maximum co bych byl ochotný použít je Nette – to mě přijde jako poměrně pěkný jednoduchý, ale mocný a čistý FW.
Další důvod je, že nechci aby byl web podřízený frameworku (což imho u Zendu je), ale naopak. Proto mám vlastní FW (nebo spíše knihovnu funkcí a tříd), který mi ulehčuje práci a nic mě nevnucuje. Navíc se vývojem zdokonaluji a taky mě to baví. Nepoužívám nic, co jsem nenapsal sám (jen když šlo o rychlost). Nemusím řešit licence, a že to něco neumí, a když je tam chyba, tak si ji hned opravím a nemusím se učit to používat atp.
Re: Já jsem pro vlastní FW
celé vláknoVětšina lidí potřebuje pracovat (neboli vytvářet web), ne vytvářet frameworky. Čím je tahle potřeba silnější, tím je tolerance k popsaným výtkám vůči frameworkům vyšší.
Re: Já jsem pro vlastní FW
celé vláknoTak s tím naprosto souhlasím! Chápu že programátoři využívají frameworky i proč je využívají. Je to myslím jednoznačně nejrychlejší a nejefektivnější způsob, jak udělat web.
Já osobně však nemám jako nejvyšší prioritu rychlost. Raději to dělám déle, aby pak server vykonával 8kB kódu místo 400kB. Nelíbí se mi pamatovat si a psát jména tříd a jejich metody dlouhé jak celé souvětí:
$request = new Zend_Controller_Request_Apache404();
$class = Zend_CodeGenerator_Php_Class::fromReflection();
Raději sázím na „čím méně, tím lépe“. A ty funkce, které často využívám seskupuji do své „knihovny“ a příště už je nedělám – tedy na vývoji knihovny moc času nestrávím (pouze na vývoji a ladění celku), protože ji skládám postupně.
I ta moje knihovna se řídí tím pravidlem „čím méně, tím lépe“. Např. pokud chci využívat cookie, zavolám metodu Suite::load_module(‚Cookies‘); a až v tu chvíli se načte pomocí require_once třída pro správu Cookie popř. vytvoří instance atp.
Tedy ne, že načtu 40 souborů a pak čekám co programátor bude chtít, ale načtu minimum a až si programátor řekne, načtu další fragment.
Pozn.: Netvrdím, že kdo používá framework je špatný, ani že já dělám lépe. Pouze se dělím o svůj názor na věc.
Re: Já jsem pro vlastní FW
celé vláknoSouhlasím, taky si vyvíjím vlastní (mini)framework. Veškeré klady takového počínání jste tu už zmínil – zdokonalování se, možnost rychlé/snadné opravy nějaké nefunkčnosti, framework přesně na míru mým zvyklostem, takže vývoj je v něm pak mnohem rychlejší. Na druhou stranu uznávám, že při hledání nového zaměstnání může být prokázání znalosti Zendu lepší, než zmínka o vlastním FW. I když i to se určitě bere jako klad. Už proto, že jste vůbec něco takového schopný napsat :)
Re: Já jsem pro vlastní FW
celé vláknopresne tak…
ad pohovor: asi zalezi, co firma shani, jestli programatora nebo jim staci prumerny lepic za polovicni plat. Pokud prijimam programatora, tak me hlavne zajima, jestli umi premejslet a jake ma zkusenosti a umi resit problemy, pise kod ktery je efektni a prehledny a neni to rychlokvaska (klucik, co hraje hry a umi programovat weby = naklikal dva weby v drupalu) …
ale pokud zmini vlastni FW, hodne to napovi.
A FW je vlastne co? par stranek popisku fci, metod, co ktera dela, vraci.. rozsireni zakladu co nabizi jazyk…to se da naucit za par dni, pro prumerneho VS trivialni vec.
Re: Já jsem pro vlastní FW
celé vláknoJa som sa tiež rozhodol pre vlastný FW a to z toho titulu, že potrebujem svoju prvú väčšiu aplikáciu napísať čo najrýchlejšie a obávam sa, že štúdium nejakého frameworku mi zaberie veľa času a nakoniec zistím, že mi niečím nevyhovuje a študovať a skúšať nejaký ďalší už by mohlo byť likvidačné.. S php-FW-ami nemám skúsenosti, ale skúšal som niekoľko obdobných „FW“ v iných programovacích jazykoch a vždy som narazil na niečo, čo bezpodmienečne v programe chcem a FW to neumožňuje. Potom som to skúšal „dobastliť“ a nakoniec mi z toho vyšlo, že urobiť si to od začiatku „po svojom“ je pre mňa (resp. pre kvalitu aplikácie) najlepšie riešenie.
Re: Já jsem pro vlastní FW
celé vláknoProč nevyužijete autoloading? Vyhnete se zapomenutým nenačteným modulům.
Re: Já jsem pro vlastní FW
celé vláknoNa to asi neznám správnou odpověď. __autoload() se mi líbí a bezpochyby je to šikovná pomůcka, ale nějak se mi nelíbí, že se loaduje z jedné adresy. Pokud by chtěl uživatel použít __autoload() na svoje knihovny, znefunkčnil by můj FW.
Popravdě nějak jsem se tím nezabýval – require_once mi vyhovuje a zatím jsem nenarazil na problémy – naopak jsem rád, že mám každé načtení pod kontrolou.
Navíc někdy testuju co se stane, když modul nebo knihovna schází nebo je vadná (jak se bude FW chovat) a k tomuto účelu bych to musel vypínat atp.
Není to špatné, ale nějak jsem k tomu asi ještě nedospěl…
Re: Já jsem pro vlastní FW
celé vláknoKdyz si napises tridu/fci ktera ti projede adresare, zjistis v kterych souborech jsou tridi (token_get_all) a vysledek si ulozis tak pak je jedno kde se knihovny nachazeji. Mimo jine neni nutno pouzit __autoload() ale staci spl_autoload_register()
Re: Já jsem pro vlastní FW
celé vláknoK tomu centrálnímu bodu lze připojovat libovolné množství autoloaderů. Navíc require_once funguje dál, takže by to vaše stávající aplikace nijak neohrozilo.
Nebudu vás nutit, různí lidé píší různé PHP. :)
Re: Já jsem pro vlastní FW
celé vláknoNedávno som čítal jeden článok, kde autor písal, že každý programátor, pokiaľ chce rásť by si mal spraviť svoj vlastny framework. Často krát ich naprogramuje aj viac…
Ja osobne som tiež nebol zástancom frameworkov(a objektového programovania), ale čas ukázal(v PHP robím cca 8 rokov), že je to veľmi dobrá vec a taký framework vie veľmi urýchliť robotu.
Najskôr som mal tiež iba nejakú knižnicu, ktorú som vylepšoval a stačila mi, ale asi pred 2 rokmi som spravil niečo medzi tou knižnicou a frameworkom a postavil na tom cca 2 weby, potom som spravil vlastný framework, ktorý však nebol zlý, ale ani veľmi dobrý(bol v ňom postavený jeden projekt) a potom som začal používať cakePHP. Cake mi veľmi vyhovoval čo sa týka spôsobu práce(zdá sa mi priam geniálny), ale je strašne pomalý(na veľkom projekte jeden request 200ms s akcelerátorom a to tam dokopy nič nerobí). Teraz asi 4 mesiace pracujem na podobnom frameworku ako je baseApp(kópia cakePHP). Načítanie jednoduchej stránky trvá cca 3ms aj s napojením na DB + jedno query + render layout + view. Myslím, že je to vcelku slušný čas.
Keď ho dokončím, tak by som ho chcel zverejniť pod MIT licenciou. Teraz do neho ešte robím nejaké helpery a komponenty. Možno cca za dáke 2–3 mesiace…
Je tu i pár dalších zajímavých frameworků
celé vláknoFrameworků, které by v PHP splnily zadání „malé“, je více. Zajímavý je třeba framework Limonade (http://github.com/…ign/limonade) inspirovaný Sinatrou v Ruby.
Re: Je tu i pár dalších zajímavých frameworků
celé vláknoMyslíš třeba TEN Limonade Framework, o kterém na Zdrojáku vyšel článek, a který je v tomto článku rovněž zmíněn? :)