Spring és Django MVC keretrendszerek összehasonlító elemzése

Konzulens:
Ercsényi András
Tárgy:
Önálló laboratórium - Szoftverfejlesztés és rendszertervezés specializáció, BSc Info.
Hallgatói létszám:
2
Folytatás:
Szakdolgozat / Diplomaterv
TDK dolgozat
Leírás:

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.

Eclipse fejlesztési tapasztalat szükséges.