Proč si vybrat zrovna Nette v roce 2021?

filipskrivanek
Člen | 2
+
0
-

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 | 8218
+
+22
-

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
+
0
-

Už jsem si dlouho (4 roky) srovnání nedělal, ale u Nette jsem zůstal protože:

  1. Je časky.
  2. 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
  3. 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.
  4. 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.
  5. 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.
  6. 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
+
0
-

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
+
0
-

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 | 8218
+
+1
-

@Kcko díky za výbornou odpověď na otázku „Proč si vybrat zrovna Nette?“ :-D

dsar
Backer | 53
+
+9
-

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
+
+3
-

@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:

  1. Nette je rychlejší, než ostatní FW, takže zákazník ušetří peníze za HW
  2. 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í
  3. 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
  4. 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
  5. 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
+
+1
-

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)

Milo
Nette Core | 1283
+
+3
-

K tomu bych klientovi řekl:

  • snadno se upgraduje – nebudete s tím mít takové náklady
  • kód se snadno dělí na komponenty – úpravy se dají realizovat velmi rychle
Felix
Nette Core | 1196
+
+5
-

Jeste bych dodal:

josef.jebavy
Člen | 9
+
0
-

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
+
+1
-

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 | 863
+
0
-

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.