Spring és Django MVC keretrendszerek összehasonlító elemzése
TDK dolgozat
A Spring egy nagyon elterjedt MVC-alapú, web-fejlesztői keretrendszer.
Nagy, biztonságos, rendkívül robusztus megoldások készíthetők evvel a
technológiával. Újabban azonban megerősödtek azok a hangok, amik szerint ez a
módszer túlságosan bonyolult, nehezen tanulható és ezért nem is hatékony.
Megjelentek az olyan rendszerek, amikről az az általános vélemény, hogy nem
bonyolultak, könnyen megtanulhatók és gyorsan meg is van az eredmény. Ilyen
rendszernek tekintik a Django-t.
A két rendszer azonban nagyon különbözik egymástól; a Spring rendszer Java
alapú, és jól tudjuk, hogy a Java - sok egyéb mellett – erősen típusos.
Ugyanakkor a Django a Python nyelvre alapozódik. A Pythonban csak néhány típus
van, de ez nem hátrány, sőt azt is olvashatjuk, hogy a Python egyéb, kissé
szokatlan elemei is inkább előnyösek a napi fejlesztési gyakorlatban.
Vajon mi az igazság? A két keretrendszer összehasonlítása csak azon az
alapon történhet, hogy mindkettő MVC-re épül. Az önálló laboratóriumi feladat
célja az, hogy – a nyelvi különbözőségeket csak második vonalban elemezve – azt
határozzuk meg, hogy melyik rendszerben hogyan kell webes alkalmazásokat
készíteni. Melyik rendszernek milyen előnyei és hátrányai vannak a másikhoz
képest kis-, közepes- és nagyméretű fejlesztési munkák esetén? A vizsgálat
annál is inkább érdekes, mert tényleges összehasonlítást az Interneten sem
lehet találni. Sőt, olyan dokumentumokat sem, amik magas szinten elemzik a
Django-val történő fejlesztés fő vonalait; a tutorial-ok olyanok, hogy hogyan
kell elkészíteni első, második, stb. Python/Django alapú projektünket J
Az egész elemzést azzal tesszük életszerűvé, hogy egy ötletesen
megválasztott, közepes méretű fejlesztési feladatot mindkét rendszerben kidolgozunk.
Mindkét esetben Eclipse-keretet használunk (, aminek van PyDev plugin-je a
Python/Django fejlesztésekhez).
A hallgatók feladata az, hogy általánosságban
és minél magasabb szinten vizsgálják meg a két módszert, végezzék el a jelzett
fejlesztéseket és – az előzmények alapján - részletes összehasonlító elemzést
dolgozzanak ki.
Angol nyelv ismerete szükséges.