Cikkünk célja, hogy a fontosabb alapfogalmak általános leírása és illusztrációja mentén segítsen fejlesztői szféra megismerésében a laikus vagy kezdő közönségnek. Mivel a programozás és fejlesztés egy elképesztő sebességgel fejlődő és megfoghatatlanul komplex szakma, így szinte lehetetlen teljesen általános megállapításokat tenni vele kapcsolatban. Az alábbiakban arra törekszünk, hogy a leginkább általános példákon keresztül mutassuk be azokat a szakmai alapfogalmakat, amikkel minden weboldal tulajdonos nap mint nap összefuthat mégsem tekinthetjük őket az alapműveltség részének.
Gyakran hallani fejlesztőktől, egy-egy webes probléma megoldása során, hogy telepítsünk egy plugint vagy éppen azt, hogy egy-egy problémáért egy plugin felel. A plugin kifejezést a webes világban elsősoran egyes weboldalszerkesztők, webshopok, egyéb szoftverek kiegészítőire szoktuk használni. Annak ellenére azonban, hogy a kifejezés kezdetben csak bővítményekre vonatkozott, mára egész weboldalak és webshopok épülnek fel egy vagy több pluginre. Mindeközben azonban a weboldal tulajdonosok problémái: vírusok, lassuló vagy hibás oldalak, is egyre többször vezethetők vissza egy-egy pluginre. De mi is az a plugin, miért van, és áldás vagy átok-e inkább?
Tartalom
Számos alaprendszer használ plugineket, bár nem minden esetben ez a hivatalos nevük, például:
néven hivatkozik a kiegészítőire. Mivel tartalomkezelők és alaprendszerek célja jellemzően a letisztult egyszerű felhasználói felület, amely minél szélesebb körben megtalálja a közönségét értelemszerű, hogy nincs értelme ezeket egyedi funkciókkal és csak egyes rétegek számára fontos céleszközökkel teletűzdelni. Az ilyen rendszerekről itt írtunk részletesebben.
Itt jönnek képbe a pluginek, appok és extensionök: ezek a céleszközök, funkciók, amikre csak a felhasználók egy szűkebb rétegének van szüksége. Ezek az alkalmazások eredendően egyszerű bővítmények voltak. Ha egy WordPress blogon akart a tulajdonos egy szavazást, telepített egy plugint. Ha fel akart tenni egy galériát, telepített egy plugint és így tovább. Mostanra azonban ezt bőven túlnőtte a kiegészítők piaca, akár egy teljes webshopmotor is telepíthető plugin formában, elég csak a világ egyik legnépszerűbb típusára, a WooCommerce-re gondolni.
Ez az azóta is folyamtosan bűvülő plugin piac tette az eredendően egyszerű blogolásra szánt WordPress motort a világ legnépszerűbb és legjobban elterjedt weboldalszerkesztő alkalmazásává. Azonban ez az átmenet nem zajlott teljesen fájdalommentesen, sőt egyebek mellett ez lett a lassú, átláthatatlan, bizonytalan, lefagyó vagy éppen feltörhető admin felületek melegágya is. Mondhatjuk, hogy számos CMSt a pluginek tettek naggyá és azok döntik is romba. De hogy lehet ez?
Két alapszabályt kell megértenünk ahhoz, hogy a végére járjunk ennek:
Itt már érezhető is a szembenállás. Míg a weboldal tulajdonosok problémái jellemzően specifikusak a plugin fejlesztők célja, hogy egyetlen alkalmazással minél több igényt tudjanak kielégíteni. Ez természetesen érthető, egy plugin fejlesztése idő és energia, ami csak akkor tud megtérülni, ha minél többen használják. Viszont egy olyan korlátok nélküli környezetben, mint a web minden problémára ezernyi megoldás jut. Így aki plugint fejleszt megpróbálja mind az ezret beépíteni a programjába. Ha sikerrel jár az eredmény sokrétű és még olcsó is, hiszen rengeteg felhasználóhoz eljut és rengeteg problémát megoldhat. Hol itt a gond?
A második pontnál. Ugyanis egy problémára hiába van ezer megoldás, ha a végén úgyis csak egyet használunk belőle. Mégpedig a weboldalak túlnyomó többségében ez a végeredmény. Egy-egy probléma, mindre ezernyi megoldás, de a végén mindig csak egy marad. Ettől a pillanattól fogva viszont a maradék 999 megoldás felesleges.
Például, szeretnék időről-időre egy szavazást megjeleníteni az oldalamon. Tudom mit akarok, egy kérdést, 5-6 válaszlehetőséget és a végén egy anonim eredményt, hogy mire hány válasz érkezett. Ennyire egyszerű. A dizájn fix, egyszer megtervezem utána újra és újra használhatom, hiszen az oldalam megjelenése sem változik hetente. Igenám, de aki plugint fejleszt annak ennél jóval több lehetőségre fel kell készülnie: több kérdés egymás után, egy vagy több választós kérdések, szöveges válaszok, kérdések logikai sorrendje, eredmény kimutatások, eredmény exportok, anonim vagy név szerinti eredmények és még sok más, nem is beszélve a végtelen dizájnlehetőségről.
Hiába akarok tehát egyetlen kérdést pár hetente kitenni a weboldalamra, ha erre plugint használok nagy az esélyem rá, hogy több száz, több ezer sor felesleges kódot kell telepítsek az oldalamba. Egyetlen funkcióért.
A fenti problémák ellenére a pluginek népszerűsége töretlen, a felhasználók lelkesedése sem csökken a válasz pedig ugyanaz, mint mindig az ilyen esetekben. A pluginek népszerűségét az adja, hogy olcsók. Sőt! A pluginek alapverziója számos esetben teljesen ingyenes, sok esetben csak a terméktámogatásért és a frissítésekért kell fizetni, miközben a telepítés ingyen van. Ezek a rejtett költségek persze sokszor sosem kerülnek kifizetésre, de erről később.
A pluginek tehát olcsó és gyors megoldást szolgálnak a problémákra, a hátulütőiket pedig sokáig könnyű szem elől téveszteni vagy éppen szemet hunyni felettük. A szakma egyik megválaszolhatatlan kérdése, hogy mennyibe kerül egy weboldal. A másik, hogy hogy lehet egy weboldal 50 000 Ft és egy látszólag hasonló 5 000 000 Ft. Az első véglet alapját képzi a végtelen plugin használata. Bármit is szeretne az oldal tulajdonosa telepítünk rá egy plugint és máris meg van oldva a probléma. A probléma ezzel a megoldással csupán annyi, hogy minden probléma megoldása mellé 999 felesleges „megoldás” is települ, ezek pedig idővel jelentkeznek az alábbi tünetekkel:
De miért történik mindez?
Először szedjük ízekre a fenti problémákat. Miért lassul az oldal? Nyilván nem létezik erre egyértelmű válasz, ahogy nem létezne egy autó vagy egy telefon esetében sem. Jellemző probléma azonban, hogy a felhalmozott felesleges megoldások okozzák a problémát. Ahogy korábban kifejtettem minden felhasznált plugin megoldással jön egy halom felhasználatlan is. Minden felhasználatlan megoldás ott marad a szerveren, jelentős hányaduk minden lépésnél lefut az admin felületen, hiszen papíron a maradék 999 megoldásnak is elérhetőnek kell lennie. Arról nem is beszélve, hogy számos közülük a böngészőben is lefut. Talán nem kell külön kitérni arra, hogy miért nem ideális, ha 5 probléma megoldására 5000 lehetőségnek kell minden esetben lefutnia. Egy plugin pedig részben önálló szoftver, így persze meg lehet próbálni szétcincálni, kitörölni a felesleges elemeket, de ennek jellemzően már magasabb a költsége, mint egy problémaspecifikus megoldás fejlesztése.
Miért esik szét az oldal? Ahogy a bevezetőben írtuk ezek alapvetően kiegészítő programok. A megírásuk során a fő szempont, hogy minél pontosabban együttműködjenek azzal az alaprendszerrel (pl.: WordPress), amit kiegészítenek. Ami viszont nem szempont, hiszen lehetetlen is lenne megoldani, hogy ezek a pluginek hogyan működnek együtt egymással. Itt szoktak előkerülni a problémák. Ha egy weboldalra telepítünk
Hiába működik mind együtt a alaprendszerrel, semmi és senki nem garantálja, hogy egymással is együtt fognak működni. Ennek a vége jellemzően a szétesett oldal, az ablakból kilógó elemek, a dizán beállításokat figyelmen kívül hagyó elemek és így tovább.
Miért vírusos és miért zaklat állandóan frissítésekkel? A rövid válasz mindkét kérdésre az, hogy a frissítések fontosak. A frissítések fontosak, mert akár a tartalomkezelők, akár a pluginek, akár az egyedi szoftverek fejlesztői rengeteg időt és energiát fektetnek abba, hogy az általuk kiadott szoftverek egyre jobbak és jobbak legyenek. Ez az optimista elgondolás. Azonban ezzel párhuzamosan sajnos számos ember dolgozik azon is, hogy oldalakat törjön fel, vírusokat, zsaroló és kémprogramokat terjesszen. Ez a kettő egy állandó macskaegér harc, minden biztonsági résre és vírusra jön egy frissítés, ami befoltozza a rést és minden frissítésre jön egy új hibalehetőség.
A fejlesztők eszköze a védelemre a folyamatos frissítés. Ám hiába nincs ennél hatékonyabb védekezés tele az internet frissítésre szoruló oldalak frissítésre szoruló pluginjeivel. Ez részben visszavezethető arra is, amiről már szót ejtettünk. Semmi és senki nem garantálja, hogy az 5-10 plugin, ami épp működik az oldalamon, akkor is működni fog, ha frissítettem őket. Bármelyikbe kerülhetett olyan frissítés, egy mappa áthelyezése, pár fájl átnevezése, ami megborítja az ingatag egyensúlyt. Arról nem is beszélve, hogy amint korábban írtuk a plugineknek jellemzően az első telepítése ingyenes a frissítéseikért viszont már havi vagy éves díjat, esetleg egyszeri összeget kell fizetni. Ezt a lépést pedig sokan kihagyják, sőt sokan nem is tudnak róla, hogy amikor átvették a kész weboldalukat, annak valójában jelentős része nem lett előfizetve.
“Túl sok, lassú, veszélyes, minek az egész?” merülhet fel ezen a ponton, és itt érdemes visszatérni a bevezetőre: hogyan tettek naggyá CMSeket a pluginek. Úgy, hogy vannak nagyon jók és úgy, hogy tudatos és okos használat mellett remek szolgálatot tehetnek. Egy jó plugin könnyen felismerhető az értékelések és letöltések aránya, a frissítések gyakorisága és persze akár a szöveges visszajelzések alapján. A jó plugin egyetlen cél tökéletes és átfogó megoldását kínálja az összes probléma egyszerre való megoldása helyett.
Az jó plugin mellé az okos és tudatos használat alapja pedig annyi, hogy el kell kerülni minden buktatót, amiről eddig szó volt.
Ha ezeket a szabályokat betartjuk a kiegészítők valóban segíteni és gyorsítani fogják az oldal használatát mind a tulajdonos, mind a felhasználó oldalán.
Vegyünk egy élő példát, mit használunk mi és mit nem:
Nem használunk plugint
Miért nem? Mert a fentiek mind egyszerű és egyértelmű funkciókat szolgálnak, nincs szükség egyik esetében sem széleskörű alakíthatóságra vagy éppen számos verzió elérésére. A fentiek mind egyetlen, minden platformon jól működő, megoldást igényelnek, bármilyen plugin csak feleslegesen bonyolítaná az oldalt.
Használunk plugint
Miért? Mert a fentiek mind komplex, az egész rendszeren átívelő tételek. A fentiek a rendszer minden elemét érintik, a céljuk pedig nem csak egy-egy funkcióra, hanem az oldal egészére vonatkozik. Mivel az egész rendszerre hatnak így valóban ki tudjuk használni a teljes funkcionalitásukat, anélkül, hogy felesleg maradna az oldal kódjában. Nem mellékes, hogy a pluginek amiket használunk sokéves múlttal rendelkező megbízható fejlesztői stúdiók munkái, nem mulasztjuk el a frissítéseiket és folyamatosan figyelemmel kísérjük a fejlesztésüket.
Itt térünk vissza bevezetőben felvetett problémára, hogyan lehet, hogy a pluginek egyszerre emelnek naggyá egy alaprendszert vagy épp döntik romba azt. Úgy, hogy a helyzet tehát korántsem fekete vagy fehér, a plugineknek és bővítményeknek meg van a maga helye és szerepe a weboldalak és portálok világában és körültekintő használat mellett rengeteget nyújthatnak a tulajdonos és a felhasználó számára is.
Ha azonban egy oldal minden elemét kiegészítőkre építjük és minden problémát egy újabb kiegészítővel oldunk meg könnyedén kerülhetünk kellemetlen helyzetbe egy lassú, átláthatatlan örökké toldozott foltozott weboldallal a kezünkben.
A tanulság mint mindig, kérjen szakértői segítséget, mielőtt dönt az oldaláról.
képek: 123rf