Přesně. A v tom spočívá princip celého Nette. Jeden příklad za všechny:
Nette umí Dependency injection (DI), Laravel umí Dependency injection (DI), ale také např. Facades (něco jako Service Locator, statické rozhraní k Service Containeru, není povinné ani nutné fasády používat).
Možnost volby v Laravelu je vývojáři i uživateli Nette označována jako peklo. Jde o hlavní (a mnohdy jediný) argument, proč je Nette lepší (nemá tuto ďábelskou vlastnost označovanou v diskuzích termínem "Statické peklo").
V Nette vůdce prohlásíl, že nejlepší a na všechno je DI a pokud na této planete existuje framework, který krom DI poskytuje i jinou svobodnou volbu, je to špatně (programátor určitě zvolí špatně a to by se v Nette prostě stát nemohlo).
Uvedený příklad charakterizuje co konkrétně Nette představuje a na jakých principech je vyvíjen.
Někdy může být lepší to a někdy zas ono, záleží na situaci.
Pokud bude mít programmer k dispozici obě možnosti, může se sám rozhodnout.
Na svobodě není nic špatného a není to žádné peklo (ani statické ani jiné).
Že framework preferuje možnost, která se jeví jako ta nejlepší cesta, není problém.
Stejně jako není problém, když framework podporuje i ostatní možnosti.
Nevím úplně přesně, zda jsi pochopil co jsem chtěl říci.
Nehádám se o tom zda je lepší DI nebo Fasades.
Popisuji situaci kdy je framework s možností svobodné volby haněn.
Taková situace přeci o něčem vypovídá (hlavně když ten svobodnější má ve světě nesrovnatelně vyšší pozici a má kvalitní business model, viz příspěvek jak to dělá Taylor Otwell).
Stejné je to s Open source.
Sponzoring není jediná cesta (neřeším, zda je lepší nebo horší než jiné cesty, jen tvrdím, že není jediná).
Přeji, aby ti obchodní model klapnul. Nette hanit nehodlám (jen mi nepřijde úplně vpořádku, když Nette haní úspěšnější frameworky, přijde mi to nízké).
Počkej, kde Nette haní jiný framework?
Velmi dbám na to, aby se Nette nikdy a nikdy nevyjadřovalo pohrdavě o svých konkurentech. Jde mi o kulturu projevu.
Pokud jsi fakt na něco takového narazil, dej sem prosím link a okamžitě to napravím.
(Pokud se tak vyjadřuje někdo na fóru, kam se může zaregistrovat kdokoliv a napsat cokoliv, s tím můžu těžko něco dělat. Jakýkoliv zásah by způsobil shitstorm „Grudl cenzuruje“. Koneckonců i v tomto diskusním vlákně mě desítky lidí fakt ošklivým způsobem dehonestují a taky by mě nenapadlo někde psát, že Lupa mě haní. Není to Lupa, je to anonymní dav.)
Nette se snaží vždycky jít tou nejlepší cestou a pokud se ukázalo, že Dependency Injection jako řádově lepší řešení než Service Locator (který byl v Nette 0.9), tak se postupně se zachováním zpětné kompatibility přešlo na Dependency Injection.
Samozřejmě kdokoliv může dál používat Service Locator nebo si vytvořit i Facades. Nikdo nikomu nebrání.
Jsem hrdý na principy na kterých je Nette vyvíjen :-)
RIMMER: Krytone, už jsi slyšel o „statickém pekle“?
KRYTON: (Velmi dramaticky) Jen různé mýty; děsivé příběhy; strašidelné historky, jež se vyprávějí u blikajícího ohně o půlnoci, vždy když se sejdou ošlehaní Nette programátoři a při lahvince se předhánějí v příhodách, při nichž krev tuhne v žilách!!!
RIMMER: Stačilo by říct normálně „ano“.
Bez legrace. V Nette komunitě (různé srazy nebo komunikace s Nette fanoušky), když se narazí na jiné frameworky, se objevuje slovní spojení "statické peklo" (použil to někdo myslím i zde v diskuzi a daly by se asi i vygooglit další zdroje, i když je fakt, že ta kritika dost slábne a asi už to nebude tak snadné se k ní na netu dostat jako dřív).
Přitom statické rozhraní k service containeru není základní ani povinnou částí žádného FW (každý servis container preferuje DI).
hodil jsem to do google a vyšlo mi na prvním místě:
https://devel.cz/otazka/laravel-4-a-staticke-peklo-kdepak
ale to není z komunity Nette.
pak je tam na 1. stránce
https://phpfashion.com/objevi-rails-dependency-injection
ale to zase není o FW, ve kterém by bylo v té době DI.
bohužel nevím kdo ten termín vymyslel, ale jde to častý (a většinou jediný) argument lidí, kteří obhajují Nette, proti frameworkům, které mají jak DI, tak i nějakou alternativu.