Prosba o radu ohladne Nette vs Laravel

tomas.stofik
Member | 33
+
+1
-

Zdravim vsetkych.

Mozno blba otazka no chcel by som sa aj tak spytat na radu.

Som vo firme kde mi po pol roku programovania aplikacie v Nette povedia po prijati ze sa mam ucit Laravel. Co sa temy Nette vs. Laravel tyka tak tam jasno. Po 10 rokoch s Nette by som nemenil za nic na svete no potrebujem padny argument preco na “Vlak Laravel” nenastupim. ak tu je nejaky senior co vie ist do hlbky veci budem vdacny.

CZechBoY
Member | 3608
+
+1
-

A kdo vůbec rozhodl že se to vše přepíše na jiný framework (kdyby aspoň jinej jazyk)?
Kolik vás je v týmu a kdo má jaký zkušenosti/nebo taky s jakým frameworkem?
Jaký jsou důvody přepisovat aplikaci z Nette do Laravelu?

tomas.stofik
Member | 33
+
0
-

Sef sa pytal par programatorov co povedali ze Nette je pre zaciatocnikov a hlavny programator co neda na Laravel dopustit mi povie ze v Nette neurobim veci tak rychlo ako v Laravel. Som psychopaticky posadnuty vykonnostpu a bezpecnostou aplikacii a na Nette nedam dopustit no problem je ze celim prevahe tzv. Senior programatorov s klapkami na ociach z univerzit a to co im bolo povedane zeru aj s navijakom. Niesom profi programator no po dlhsom hladani som nasiel ze Laravel je od zakladu americka nafuknuta bublina a ozajstni programatori ho neodporucaju, no neviem co mam povedat programatorovi co podla mna ani neurobil riadne porovnanie. dik moc

MajklNajt
Member | 428
+
+1
-

Ja som sa pred pár rokmi rozhodoval medzi Laravelom a Nette, prečítal som si 2 diplomovky, jedna riešila projekt v Laraveli, jedna v Nette – v Laraveli samé static hell, v Nette mi všetko prišlo intuitivnejšie a predvídateĺnejsie, preto som šiel do Nette a nebanujem. Síce iba môj príbeh, ale možno inšpiruje k nejakým argumentom…

Martk
Member | 635
+
+3
-

Nemůžu přesně poradit, jen co jsem zhlédl dokumentaci Laravelu (dokumentaci vnímám, jak by se to mělo dělat), tak jsem řekl, že ho ani nevyzkouším.

Už jen to, když jsem uviděl, že se volá modelová třída :: tak jsem se zděsil. To ve mě pokládá minimálně otázku, odkud se bere databázové spojení? Tohle se nedozvím ani z properties https://github.com/…nt/Model.php#… nebo odkud se bere $dispatcher? (to se ani nedovím, protože se do té proměnné nezapisuje), co vyžaduje takový základní model k fungování? On si to asi zajistí sám (kdo ví?), ale co když to chci změnit třeba při testu? Prostě taková magická krabička, která funguje překvap mě. Jsem zvědavý jak by na této magii fungovala statická analýza, třeba jo. Nelíbí se mi také, že Laravel je jeden velký balík.

Není to taková krása jako DI, tam je to jasné, dej mi tyto věci a můžu fungovat.

Věřím, že v Laravelu uděláš mnoho věcí rychle, protože je na to stavěný, ale za jakou cenu? Tohle jsem zjišťovat na vlastní pěst nechtěl.

Na tohle téma najdeš spoustu materiálu:

tomas.stofik
Member | 33
+
0
-

Este raz dakujem vsetkym za skvele vycerpavajuce odpovede.

Pavel Janda
Member | 972
+
+3
-

@tomas.stofik Tak nějak tuším, že vaše pracovní diskuze se natýká ani tak frameworků Laravel vs Nette, jako spíš schopnosti vašeho šéfprogramátora řídit a VÉST svůj tým a držet si programátory spokojené. Je tam možná několik rovin?

  • Mám v týmu 9 lidí, kteří chtějí pracovat s Laravelem a 1 zastánce Nette? Pak rozumím rozhodnutí přejít na Laravel
  • Mám zkušenosti s tím, že můj tým dělá 2× rychleji projekty na Laravelu než na Nette? Pak taky dává smysl přejít na Laravel
  • Mám projekty na Nette, mám programátory, kteří mají rádi Nette, ale já chci mermomocí Laravel? Pak asi dává smysl zůstat u Nette

Na nějaké akademické rovině je pro mě osobně hezčí DIC než statický Laravel, ale jak říkám, to je můj osobní pohled.
Je určitě potřeba zamyslet se, jestli budou členové tůmu po přechodu víc happy. :)

tomas.stofik
Member | 33
+
0
-

Skusim to zhrnut takto:
Sef nema o programovani ani paru. Pytal sa programatorov z inych firiem co odporucaju a dostal odpovede v tvare ze Laravel je dnes “trend” :D a jeden sa vyjadril ze Nette je pre zaciatocnikov. Podla mna len slepe tvrdenia bez overenia faktov a porovnania. Jeden programator ktory robi pre firmu ako ja sa vyjadril ze v Laravel spravi veci rychlejsie. Ja som zacal robit projekt na kvalitu nakolko som posadnuty performance a bezpecnostou ktoru Nette nadmieru splna.Vopred vdaka.

Kamil Valenta
Member | 610
+
+1
-

tomas.stofik wrote:

jeden sa vyjadril ze Nette je pre zaciatocnikov

To se dá říct i o PHP… :P Je to hloupost. Začátečník nebo špatný programátor to bude mastit v libovolném FW či jazyku, dobrý programátor to udělá kvalitně v libovolném FW nebo jazyku. Rozdíly jsou, ale takto se neprojevují.

fizzy
Member | 49
+
0
-

Povedal by som ze Laravel je skor pre zaciatocnikov – vela veci vyriesi za teba rychlo (a zaroven na dlh). Pokial robite jednorazove projekty typu “cim skor hotove a vyfakturovane” tak Laravel je urcite super na taketo veci super.

Co sa mi nepaci na Laraveli, ze vsetko je zavisle na frameworku, napriklad eloquent “orm” je nepouzitelny bez frameworku a ked chce niekto pouzivat Doctrine tak ma problem, lebo cely framework je zavisly na eloquente.

Mikey
Member | 1
+
-2
-

2 roky starý thread, ale myslím, že by se mělo uvést vše na správnou míru a nekecat nesmysly.

@MajklNajt – “v Laraveli samé static hell”, dokumentace je napsána tímto způsobem, jelikož umožňuje mnohem rychlejší porozumění kódu, příkladem může být routování, které člověk v Laravel dokumentaci pochopí během 5 minut, v Nette jsem s tím zápasil hodně dlouho, především také protože firmy nad tím často staví nějaké své další řešení (proč by to dělali, když mají být tak skvěle funkční?). Pokud “programátor” napíše celý projekt staticky, je možné ho nazývat programátorem? Když nebyl schopný si ani přečíst v dokumentaci Architecture concepts, která je hned pod Getting started. Nikdo vás nenutí používat fasády, tedy něco jako Article::create([]);, dependency injection je úplně stejně užívaná v Laravelu jako v Nette, Symfony nebo jakémkoliv jiném frameworku. V Nette se to vše prý registruje v configu, no tak v Laravelu prostě mám bind metodu ve svém ServiceProvideru. Výhodou těchto fasád je, ano, že s nimi jde aplikace vytvořit extrémně rychle, proto pokud řešíte nenáročnou aplikaci, vůbec bych se nebál po fasádách sáhnout, pokud ovšem řeším large scale, tak od toho jsou různé design patterny typu – Service/Repository, Actions aj., které se od fasád naopak distancují. Pokud stále si myslíte něco ve smyslu “Ale třeba cache musím stále používat jako Cache::remember()”, ne Architecture concepts → Facades a úplně dole, každá fasáda má základní classu jako třeba v tomto případě CacheManager/Repository.

@Martk – “dokumentaci vnímám, jak by se to mělo dělat”, dokumentace by v první řadě měla snadno naučit vývojáře pracovat s daným nástrojem…, podívejte se na některé JS frameworky, myslíte si, že všechno to je best practice? Asi ne…, ale naučí člověka danou věc pochopit rychleji.

@fizzy – “Co sa mi nepaci na Laraveli, ze vsetko je zavisle na frameworku, napriklad eloquent “orm” je nepouzitelny bez frameworku”, cože prosím? :D composer require illuminate/database a v illuminate/database repu je readme s postupem jak na boot Eloquentu. Každá část Laravel frameworku je standalone, viz. celé github.com/illuminate.

A abych dal důvody, proč používat Laravel na úkor Nette…obrovská progresivní komunita lidí, kteří hojně přispívají do celého Laravel ekosystému (který je mimochodem hodně rozsáhlý), vývojáři Laravelu jsou placení za onen vývoj a často tuto práci dostávají velcí nadšenci do Laravelu, tedy opravdu se nemůže stát, že by Laravel z ničeho nic neměl podporu, naopak dle nového plánu mají nové major verze vycházet každý půl rok, pokud používáte testy, tak upgrade člověka nic nestojí (nedávno z L8 na L9 za 15 minut s PHP 8.1).

Pro lidi, kteří nemusí zrovna JS bych doporučil se podívat na Laravel Livewire. Pro lidi, kteří naopak JS rádi a rádi si hrají s Vue, React aj., tak od toho je Inertia.js, případně snadné REST API díky API Resources (Laravel dokumentace) v kombinaci s Nuxt.js, Next.js Remix.run a další. Klidně třeba i mrkněte na Youtubery jako je Povilas Korop nebo i oficiální Laravel kanál.

Další důvod, proč sáhnout po Laravelu je i výkon, benchmark 6000 req/s za použití Laravel Octane, já jsem díky tomuto stáhl interní aplikaci, která toho dělá poměrně hodně z průměrných 200ms na teď koukám 30ms. A jak je na tom Nette?

A co se rychlosti vývoje týče spolu s velkými možnostmi úprav, tak od toho je tu komunita, která vyvíjí obrovské množství balíků, potřebujete rychle vytvořit admin panel, který bude vypadat dobře, dá se snadno upravit a nic nestojí, tak je na výběr hned z několika možností, viz třeba jeden z nich laravel-filament/filament.

Znám lidi, kteří Laravel do teď nezkusili, protože například “Sere mě artisan”, nebo “Díval jsem se na to a celé je to jen statika” (:D do teď se tomu směju a nejen já v dané komunitě, už je to známá firma, když nějaký jeho komentář pošlu na Discordu mezi Laravel vývojáře), proč by někoho štvala věc, která je čistě navíc a usnadňuje práci? Protože jednoduše lidé asi nemají tendenci zkoušet něco nového, co je daleko před ostatními.

Nejsem tu od toho, abych na rovinu řekl, že Laravel je lepší a Nette byste neměli používat, to zase ne, ale spíše ho vyzkoušet, tak jako já jsem si vyzkoušel Nette, Symfony, Laravel a Codeigniter a šel za tím, co mi nejvíce vyhovovalo a kde mě komunita oslovila nejvíce. Pokud to pro vás je/bude zrovna Nette, tak ho používejte, nic proti tomu nemám (tak dlouho dokud někdo nekecá nesmysly o jiných FW bez jediné špetky snahy si o tom něco zjistit).

MajklNajt
Member | 428
+
+3
-

@Mikey ak má niekto dôvod používať Laravel, ja mu v tom nebránim, iba som prezentoval môj “príbeh”, prečo som sa rozhodol pre Nette, a aj teraz by som odpoveď napísal rovnako. Pred 5 rokmi som si prešiel getting started oboch frameworkov, avšak Nette ma od začiatku viedlo robiť veci poriadne, priznávať závislosti, tvoriť veci prehľadne… áno, aj v Nette sa dá písať prasácky, a sám to niekedy z pohodlnosti robím, ale neponúka mi to v dokumentácií formou “takto to robte, lebo to je najrýchlejšie…”