#1 TuTi_fruTi
Škoda nechávat takový pěkný dotaz bez odpovědi ;) Ohledně frameworku sice nejsem úplně kompetentní odpovídat, protože jsem ho nikdy nepoužíval, ale odpovím alespoň na obecné teoretické rovině...
Není projekt jako projekt. Ale obecně platí, že čím větší projekt, tím větší nároky na dlouhodobou udržitelnost, bezpečnost. Pokud se bude jednat o projekty pro masy návštěvníků, určitě bude potřeba škálovat databáze, mít různé keše, proxy servery...
Když to vezmu popořadě:
-
udržitelnost - základem je psát testy. Bez testů dříve nebo později nastane situace, že už je úprava natolik nebezpečná a ovlivní tolik věcí, že je lepší ji nedělat a raději napsat vše na zelené louce. Některé frameworky mají i zabudovanou podporu pro testování. Což může ušetřit práci. Jinak je to potřeba řešit nějakou oklikou.
Další věcí, kterou je pro udržitelnost dobré dodržovat, je dodržovat MVC strukturu aplikace. Pokud k tomu framework člověka nenutí, je snadné sklouznout do lepení kódu a pouhého plácání.
-
bezpečnost - obecně platí, že čím je framework používanější a oblíbenější, tím rychleji jsou i opravované bezpečnostní chyby. To je jednak tím, že čím více použití, tím větší šance, že na chybu přijde někdo dříve, než se jí zneužije.
Druhou stranou mince je pak hlídání samotného programátora. Pokud má framework vestavěnou ochranu proti nejrůznějšímu druhu útoků, přes CSRF, SQL injection apod., je to samozřejmě jenom výhodou. Pokud nemá, programátor musí být mnohem pečlivější a zákon schválnosti říká, že na něco zapomene a že se to projeví v nejhorší chvíli.
-
škálování, keše... - pořád to samé, pokud framework má již zabudovanou podporu, případně dobře spolupracuje s dalšími, je to jenom výhodou. Jinak si to člověk musí udělat sám = práce navíc.
Takže když bych to shrnul. Jednoduché frameworky mají tu výhodu, že jsou jednoduché a je snadné se je naučit. Také bývají u menších projektů rychlejší, než velké robustní frameworky. Na druhou stranu, časem člověk může narazit na omezení - ať už je to ve slabší podpoře některých důležitých věcí, menší aktivitě vývoje, menšímu počtu uživatelů, horší dokumentace okrajových částí, méně aktivní komunita v diskuzích...