Immutable adatstruktúrák webes rendszerekben

2016-2017 tavasz

Nincs megadva

Téma leírása

Sok modern webes rendszerekben elterjedt megközelítés az ún. immutable adatstruktúrák használata. Az ilyen struktúrának a tartalmát nem lehet megváloztatni. Ezen alapszik például a Facebook által fejlesztett Immutable.js javascript könyvtár is. Amennyiben egy rendszer állapotát egy ilyen adatstruktúrával reprezentáljuk, akkor az állapotot nem tudjuk megváltoztatni, csak felülírni egy új objektummal. Ennek a megoldásnak az előnye, hogy pontosan tudjuk, hogy mi változott, - mert a két adatstruktúra összehasonlítható - és lehetőség van a rendszer állapotát pontosan visszakövetni. Ezt a megoldást használja például a Facebook React keretrendszere. Ennek az elvnek az alkalmazásához hatékony algoritmusok kellenek, amivel az adatstruktúrákat össze lehet hasonlítani, a változásokat ki lehet számítani. Ezen algoritmusokat a böngészőben kell tudni futtatni.

A téma célja, hogy a hallgató megismerkedjen a fent leírt koncepcióval (immutable data structures, uni-directional data flow) és olyan keretrendszerekkel (pl. ImmutableJS, React, Redux, Flux), amelyek ilyen megoldásokat használnak. A téma többféleképpen is továbbvihető az adatstruktúrák és algoritmusok vizsgálatával, összehasonlításával, saját webes keretrendszer fejlesztésével, egyéb webes fejlesztéssel, amely a korábban említett keretrendszereken alapul. A téma szakdolgozatként, diplomatervként folytatható.

Linkek:
https://facebook.github.io/immutable-js/
https://auth0.com/blog/intro-to-immutable-js/
http://redux.js.org/docs/basics/DataFlow.html
https://en.wikipedia.org/wiki/Persistent_data_structure

Maximális létszám: 3 fő