Proč si vybrat zrovna Nette v roce 2021?
- filipskrivanek
- Člen | 2
Dobrý den,
Jsem vývojář v Nette ( můj oblíbený PHP Framework :) ) a rád bych se zeptal na takový obecný dotaz. Máme zákazníka z Rakouska, který se zajímá o technologie a určitě se mě zeptá proč chci Použít Nette a né třeba Laravel/Symfony.
Mě obecně přijde Nette takové intuitivní, ale s ostaními Frameworky zkušenost nemám, je někdo schopný mě prosím říct, proč zrovna Nette v dnešní době ? Bohužel jsem Nette nedohledal v nějakém porovnání PHP Frameworku pro rok 2021
Děkuji,
Filip
- David Grudl
- Nette Core | 8227
To hodně záleží, co preferuješ. Vidím východy např. v tomhle, ale jiný v tom žádnou výhodu vidět nemusí:
- Nette má 10letou zkušenost s čistým návrhem na bázi dependency injection. Základem byl chytrý DI kontejner a plný autowiring. Třeba v případě presenterů se DI používá naplno v Nette 10 let, v Symfony o dost kratší dobu, zatímco příklady v dokumentaci Laravelu jedou dosud anti-pattern přístup. Ale tohle se těžko komunikuje, protože zejména příznivce Laravelu to trigruje. Dále třeba CakePHP teprve s DI začíná.
- Nette velmi brzy adaptuje moderní verze PHP, např. verze plně otypovaná se objevila mnohem dříve, než v případě jiných frameworků.
- Nette má 1:1 dokumentaci v češtině, což v Rakousku neocení, ale je to zásadní výhoda pro ČR
- Komponentový systém Nette, který umožňuje snadno do stránky přidávat komponenty třetích stran i vlastní, je stále mezi frameworky unikátní. Stejně tak přístup, kdy nezjišťuješ, co se stalo, ale říkáš, co se má zavolat, až něco nastane (např. odešle se správně vyplněný formulář) – což mi připadá důležité.
- Šablonovací systém Latte je díky různým featurám nejbezpečnější šablonovací systém pro PHP, zároveň nevyžaduje se učit celý nový jazyk, protože je silně podobný PHP. Má také podporu typového systému.
- Nette stále zůstává malým frameworkem, není to moloch. A můžeš ho kombinovat s dalšími frameworky. Kombinování knihoven z různých frameworků je zcela legitimní přístup, proto je dobré jich znat víc a z každého si vybrat co chceš.
- Polki
- Člen | 553
Už jsem si dlouho (4 roky) srovnání nedělal, ale u Nette jsem zůstal protože:
- Je časky.
- Je rychlejší, než ostatní FW. Dělal jsem příklady pro jednu firmu ze zlína a tehdy na jejich kódu byl například Twig 4* pomalejší, než Latte
- Ostatní FW, mi přišly tak obrovské a chtěly řešit každý problém, že je tam napatlaná tuna věcí, co nepotřebuješ a stejně se s FW instalují, což zabírá výpočetní výkon a znepřehledňuje aplikaci a je zde obří prostor pro chyby.
- Nette je minimalistické, kde Existují opravdu jen věci, které opravdu potřebuješ pro každý web a pro zbytek existuje tuna balíčků, které si v případě potřeby můžeš doinstalovat.
- Rozšířitelnost je boží, protože když potřebuješ nový balíček, který ještě udělaný není, tak jej vytvoříš úplně stejně, jako kdyby jsi programoval část aplikace a jen místo aby si jej napojil natvrdo, tak k němu vytvoříš díky dokonalému NetteDI jen 1–2 soubory, které fungují jako DI zavaděče a vuala můžeš je používat na projektech dokola a stahovat je přes composer.
- Pokud existuje balíček/knihovna, která není pro Nette, tak opět ji napojit na NetteDI je otázka 10 minut
A dalo by se pokračovat :)
- filipskrivanek
- Člen | 2
Ahoj,
moc Vám oběma děkuji za vyčerpávající odpověď, moc mi to pomohlo :)
Ještě jednou děkuji !
Filip
- Kcko
- Člen | 468
Ty odpovědi jsou sice fajn, nicméně to jsou odpovědi spíš pro
programátora, který se rozhoduje jaký FW používat a ne pro klienta
(protože fakt neznám klienta, který by věděl co je DIC).
Já nejsem zastánce napr. Laravelu (jsem s Nette spokojený), ale kdyby se mě
někdo zeptal proč Laravel a ne Nette?
Protože Laravel je mnohem známější ve světě a má mnohem
početnější komunitu a je to mezinárodní projekt a ne český.
Když mi vypadne Pepík z Dolní Lhoty, který dělal na Laravelu, budu mít
nával dalších X programátorů ze všech zemí světa.
Když před programátora z Indie postavíte Laravel a Nette, tak o Nette pravděpodobně nikdy neslyšel. A to je to na co bude klient slyšet.
Tak to zatím je, bohužel.
Editoval Kcko (10. 11. 2021 9:34)
- David Grudl
- Nette Core | 8227
@Kcko díky za výbornou odpověď na otázku „Proč si vybrat zrovna Nette?“ :-D
- dsar
- Backer | 53
David Grudl napsal(a):
- Nette stále zůstává malým frameworkem, není to moloch.
This is also what I love about Nette, the vendor folder occupies 4mb
(–dev) while a Symfony vendor folder occupies 53mb (–no-dev) and 63mb
(–dev).
One of my projects compressed with 7z can fit in a floppy :-)
I hope that Nette will always have this very small footprint
- Polki
- Člen | 553
@Kcko
V něčem máš pravdu a v něčem nesouhlasím.
Děláme v Nette projekty různě po světě. Mimochodem i z indie, ameriky
VB, Tchaj-wan (kde dodáváme bioplynky, která mají vzdálenou správu přes
server napsaný v Nette), spolupracujeme s firmou dodávající chytré
domácnosti po celé Evropě a opět všechny servery běží nad Nette atd.
Pokud jde tedy o to, že někdo o tom neslyšel, tak to není nutně proto,
že je Nette uzavřená malá skupina o které se neví. Samozřejmě jak
píšeš Laravel, Symfony atp. jsou známější nejspíš, ale nevidím v tom
problém.
Nette má navíc tu výhodu, že když odpadne programátor, tak Nette se tak dobře a rychle učí, že kvalitní programátor se do něj dostane během týdne a může v něm plnohodnotně makat. Nahradit tak Nette programátora, který už pokračovat nemůže takový problém není. No a tohohle může být dosáhnuto právě díky těm věcem, které jsme vyjmenovali.
Jelikož Nette má i krásný šablonovací systém, který má stejnou syntax jako samo PHP, tak nemusíš přemýšlet nad tunou věcí vše je intuitivní atp. To dělá z Nette mocný nástroj a taky to, že pokud budeš mít 3 projekty, jeden v Laravelu, jeden v Symfony a jeden v Nette, tak upřímně věřím, že člověk, který zná jen čisté PHP, tak se nejrychleji dostane právě do Nette, kvůli bodům zmíněným výše.
S tím se také pojí rychlost vývoje. Například jsem dostal práci
z jedné firmy ze zlína, kterou odhadovali, že by jejich chlapci udělali za
4 týdny práce (20 dní). Já se jich zeptal, jestli můžu použít
jakýkoliv FW a bylo mi řečeno že ano.
Tak jsem jim (aniž bych znal původní termín) řekl, že práce bude do
2 dnů hotová. Koukli se na mě jestli jsem nespadl z višně a řekli mi,
že to není možné, že na to mají rezervovaný měsíc.
Tak jsem řekl, že se tedy pokusím co nejrychleji dokončit práci a odešel
z meetingu.
Měli pravdu, do 2 dní to nešlo. Odevzdal jsem to za 3 dny. Ale myslím, že to je dobrá ukázka toho, jak Nette pomáhá při vývoji a pokud se spojí mnou popsaná rychlost aplikace, přehledné chybové hlášky, tedy rychlé odstraňování chyb, rychlé zaučení nového člověka a v neposlední řadě několikanásobně rychlejší vývoj, tak si myslím, že je to pro zákazníka vždy Win.
Takže bych to na základě tvého komentáře ještě upravil:
- Nette je rychlejší, než ostatní FW, takže zákazník ušetří peníze za HW
- Nette se rychleji učí, takže nováček bude zaškolený za rekordní čas a ušetří se na mzdách za nováčka a experta za zaškolení
- Díky přehlednosti, DIC apod. se v Nette pracuje rychleji, takže produkt je dříve dokončen, což má za následek rychlejší vydělávání peněz a méně času stráveného vývojem, proto se programátor může věnovat následným rozšířením a web rychleji vydělává a snižují se náklady na jeho vývoj
- V případě chyby je Nette tak vstřícné, že se chyby opravují s radostí, což má za následek snížení doby opravy a tedy čas oprav je kratší, což šetří případnou ztrátu a snižuje náklady na opravy chyb
- Díky modularitě Nette je možné určité části aplikace jednoduše a rychle napsat samostatně tak, že je do další případné aplikace jen ‚napojíme‘ čímž opět ušetříme peníze a čas strávený vytvářením nějakého komplikovaného doplňku
Já tedy vidím samé výhody. :D
- Václav Pávek
- Backer | 100
Já bych se k volbě frameworku stavěl jako k výběru technologie.
Vybírám dle toho jaký use-case potřebuji vyřešit, jaké vývojáře potřebuji a kolik jim chci platit (jaký mám rozpočet). Dále je potřeba řešit následný support pokud vývojář z projektu odejde. To už ale nějaký $$$ stojí.
Docela by mě zajímalo proč zákazník z Rakouska poptal realizaci
v Česku a zda byl požadavek na PHP.
Jestli pak mi nejsme levná pracovní síla 🤔
Nette mám rád a nemám v plánu měnit FW.
Výhody i nevýhody shrnuty v předešlých příspěvcích se kterými
souhlasím.
Editoval Václav Pávek (10. 11. 2021 22:22)
- Felix
- Nette Core | 1245
Jeste bych dodal:
- je tu super komunita
- je tu koho se zeptat (v nativnim jazyku)
- forum (here)
- slack (https://pehapkari.slack.com)
- poradaji se akce (vyvojari si sdileji know-how)
- poradaji se skoleni (vyvojari se posouvaji dal)
- josef.jebavy
- Člen | 9
Taky bych zduraznil, ze je potreb se nato kouknout z pohledu majite
apliakce(zakaznika).
Jeho bude jako prvni zajimat jak narocne pro nej bude sehnat nekoho, kdo bude
chtit prevzit dany projekt v dane technologii. V cechach z toho to pohledu
jednoznacne vitezi Nette v zahranici vsak ne.
Ovsem pokud si vybral zrovna tebe a ty mas s Nette skusenost a nikoli v Symfony. Pak pokud neni silny argument, tak je zbytecne volit jinou technologii nez znas.
- fizzy
- Backer | 49
Pouzivam Nette 8+ rokov a neplanujem zmenu, mame postaveny na Nette dost rozsiahly informacny system a neviem si predstavit pouzivat iny framework (mam skusenosti so Symfony aj s Laravelom)
Vyhody
- Komponentovy system – moznost vytvarat znovupouzitelne komponenty alebo pouzivat komponenty tretich stran – napriklad datagridy su bezkonkurencne.. tvoria zakladny kamen nasho informacneho systemu (mame ich cca 150) od najednoduchsich po komplexne filtrovanie
- UI vrstva & snippety – ajax je hracka
- Minimalizmus – doinstalujes co potrebujes, co nepotrebujes odinstalujes – napriklad vyhodis nette/database a doinstalujes doctrine.. v takom Laraveli je to celkom problem
- Kedze framework je minimalisticky, prechod na novu verziu je relativne jednoduchy. Zacinali sme s Nette 2.1 a aktualne pouzivame verziu 3.1
Nevyhody
- Pri rozsiahlejsom projekte narazite na problem, ze vam nieco chyba a musite to doinstalovat, niekedy to moze byt problem, napriklad pre Nette neexistuje ziadny package pre queues
- Klesajuci zaujem programatorov – nevieme do nasej firmy najst seniornejsieho programatora uz viac ako pol roka, vacsina programatorov preferuje Laravel alebo Symfony
- m.brecher
- Generous Backer | 871
V Čechách k Nette asi není žádná rozumná alternativa, dokumentace v češtině, silná a aktivní česká komunita. Rychlá křivka učení, není to moloch, ale řeší to podstatné a velmi dobře.
Pokud by klient z Rakouska chtěl sehnat náhradního dodavatele pro projekt v Nette, tak ho musí zase hledat v Čechách. Zde by ho neměl být problém najít. Tím bych u klienta argumentoval. Je zde pro klienta silná závislost na dodavatelské zemi, ale v rámci Čech nebude problém najít náhradníka. Důležité pro klienta je kvalita výsledné aplikace, náklady, budoucí udržovatelnost a rozšiřitelnost. A v tom je Nette špičková volba. Není tolik důležitá platforma jako taková, ale nakolik ji dodavatelská firma má zvládnutou.