Přepis aplikace na Zend Frameworku do nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
lovec
Člen | 13
+
0
-

Ahoj,
dělali jste někdo přepis aplikace běžící na Zendu do nette? Jak vám to šlo rychle?
Řeším problém jestli aplikaci přepsat nebo se dál plácat v Zendu. Nette mi přijde mnohem lepší, píšu funkcionalitu rychleji než v zendu, ale přepsat cca 40 controlleru, 60 views, 50 modelu je přece jen slušná porce.
Webu teď budeme dělat nový design, takže view by se stejně musely přepisovat.
Zajímá mě teda, jestli máte někdo praktickou zkušenost s přepisem Zendovského projektu do nette a jak vám to šlo.
Dík

srigi
Nette Blogger | 558
+
0
-

No tak takato tema hadam nebude nikde podrobne spracovana. Frameworky sa od seba dost lisia – Zend ma jasne definovanu model vrstvu (Zend_Db_Table), Nette razi styl „pouzi co kces“. Takisto dispatch logika je odlisna, v Zende ludia pouzivaju Front_Controller pluginy a samotne Controllery takmer nededia, v Nette je Dedenie Presenterov jednym zo zakladov vyvoja.

Osobne si myslim, ze explicitne prepisanie do Nette nedava zmysel pri takomto projekte, iba ak ti to zaplatia, alebo sa firma rozhodne na prepisanie „from scratch“. Zobrat si taku zmenu na vlastne triko by som sa neodvazil.

Tharos
Člen | 1030
+
0
-

Srigi nakousl, co mě v první moment taky napadlo. Je-li aplikace rozsahu, o kterém píšeš, pravděpodobně má i množství uživatelů, generuje nějaké zisky a podobně. Dobře zvaž, jestli se její kompletní předělání vyplatí: zvaž náklady, rizika, o kolik je vývoj v Zendu reálně pomalejší (přece to není špatný framework – chápal bych, kdybys to přepisoval z řešení na zelené louce, ale to Zend není), jaké bude mít přepsání reálný přínos (kromě dobrého pocitu a o něco pohodlnějšího vývoje v budoucnu).

Překroč hranice omezeného programátorského pohledu a nahlédni na věc co nejkomplexněji a s důrazem na ekonomické hledisko. :)

lovec
Člen | 13
+
0
-

Největší problém tohoto projektu je, že je sice napsaný na Zendu, ale Zendu moc nevyužívá. Dodržuje MVC vrstvu, ale db dotazy v modelech jsou psany plain SQL (dokonce bez escapovani, takze SQL-injection dira jak svina), neni pouzit jediny plugin.
Ajax je reseny v podstate rucne (jquery $.ajax zavola action na controlleru, ktery vrati json a javascript funkce rozhazi data).
Obsluha uzivatelu je resena rucne bez pomoci Zendu, proste jak kdyby to bylo v plain php, akorat Zendovska MVC vrstva.

Asi nejvic me irituje ta absolutni nevsimavost bezpecnosti (SQL injection, neescapovane vypisovane promene na vystup, v podstate nic).
Web má 4000 registrovaných a zhruba 300 návštěv denně, ale potenciál je na 10× tolik v ne až tolik vzdálené době. Takže ta bezpečnost a i rychlost může být problém.

Ekonomické vs. programátorské hledisko zvažuju dost. Po novém redesignu se má spustit prodej, takže by měl začít web i vydělávat. Pokud by se přistoupilo k přepisu, tak to fázi zisků posune o několik měsíců. Kdyby to bylo jen na mě, tak neváhám, bohužel není. Je to boj. Už nějakou dobu na tom projektu pracuju a čím dál víc jsem z toho frustrovaný.

jtousek
Člen | 951
+
0
-

Vysvětli klientovi situaci, že web tak jak je není zabezpečený a je obtížné v něm něco do budoucna upravovat. Ať se rozhodne sám, pokud řekne, že je mu to jedno, hlavně když to bude vydělávat tak zabezpečení neřež, na Nette se vykašli a jen přepiš ty view.

dakota
Člen | 148
+
0
-

Môžeš vyskúšať postupný prepis aplikácie hlavne ak je rozsiahlá – čiže začať používať niektoré postupy použité v Nette prípadne úcelené časti z Nette – napr. formuláre, šablony, debug a pod. a pripraviť tak aplikáciu na Nette Framework.

Osobne mám skúsenosť s prepisom dvoch vlastných rozsiahlejších projektov zo Zend Frameworku na Nette Framework, pričom zo Zend Frameworku sa využívala iba MVC vrstva, niekoľko pluginov a tried, ostatné boli vlastné triedy, dá to zabrať ale oplatí sa ak na tom projekte budeš ďalej pracovať. V tvojom prípade ak ide o cudzí projekt je však potrebné tiež zvážiť ekonomické hľadisko.

Editoval dakota (11. 2. 2011 14:13)

mm-marek
Člen | 61
+
0
-

Na Zendu jsem napsal poměrně dost věcí a až v poslední půl rok se věnuju Nette – a aktuálně předělávám jeden web, který jsem postavil na Zendu na Nette.

Rozhodně bych to ale nenazval „přepisem“ ze Zendu na Nette – myšlenky se dost liší a tak to píšu v zásadě celé znovu.

Nevýhoda je jasná – v zásadě investuješ čas na vývoj něčeho co už funguje, na druhou stranu, jestli to je funkční a používaní věc, určitě je spousta nápadů na vylepšení, které by se třeba blbě implementovaly v aktuálním způsobu realizace – takže se můžeě zamyslet a napst to lépe :) To je právě můj případ, kdy se nahromadilo dost nápadů na vylepšení a stejně bych musel investovat nějaký čas do dodělávek.

dakota
Člen | 148
+
0
-

Vlastne naročnosť prepisu závisí od toho do akej miery sa využívajú možnosti Zend Frameworku. Napr. dedenie controllerov sa dá do určitej miery aj pri Zende a nemusia sa použiť pluginy, tiež určitá forma komponenty a jej využitie v šablone sa dá urobiť aj v Zende. Ak je v súčasnosti zložité prepísať aplikáciu je možné si ju prispôsobiť a pripraviť na prepis.

Editoval dakota (11. 2. 2011 16:30)