A webalkalmazás egy kliens-szerver alkalmazás, amelyben az ügyfél böngésző segítségével lép kapcsolatba a webszerverrel . A webalkalmazás logikája megoszlik a szerver és a kliens között, az adatok elsősorban a szerveren tárolódnak, az információcsere a hálózaton keresztül történik . Ennek a megközelítésnek az egyik előnye, hogy az ügyfelek függetlenek a felhasználó adott operációs rendszerétől , így a webalkalmazások többplatformos szolgáltatások.
A webalkalmazásokat az 1990-es évek végén és a 2000- es évek elején széles körben használták .
A szabványos böngészőfunkciókat támogató webalkalmazások készítésének jelentős előnye, hogy a funkcionalitásnak az adott kliens operációs rendszerétől függetlenül kell futnia. A Microsoft Windows , Mac OS X , GNU/Linux és más operációs rendszerek különböző verzióinak megírása helyett egyszer létrejön egy alkalmazás tetszőleges platformhoz, és telepíti azt. A böngészők eltérő implementációja, CSS , DOM és egyéb specifikációi azonban problémákat okozhatnak a webalkalmazások fejlesztésében és az azt követő támogatásban. Ezen túlmenően, ha a felhasználó konfigurálhat számos böngészőbeállítást (például betűméretet , színeket, letilthatja a szkriptek támogatását), az akadályozhatja az alkalmazás megfelelő működését.
Egy másik (kevésbé sokoldalú) megközelítés az Adobe Flash , Silverlight vagy Java kisalkalmazások használata a felhasználói felület egészének vagy egy részének megvalósításához. Mivel a legtöbb böngésző támogatja ezeket a technológiákat (általában beépülő modulokon keresztül ), a Flash vagy Java alkalmazások könnyedén futhatnak. Mivel a programozónak nagyobb irányítást biztosít az interfész felett, sok inkompatibilitást képesek kiküszöbölni a böngésző konfigurációjában, bár a kliensoldali Java vagy Flash implementációk közötti inkompatibilitás különféle bonyodalmakhoz vezethet.
2015-ben a Chrome, a Safari és más népszerű böngészők nem támogatják az Adobe Flash technológiát . [egy]
A hagyományos kliens-szerver alkalmazásokkal, bizonyos értelemben "vastag" kliensekkel való felépítési hasonlóság miatt viták vannak az ilyen rendszerek webalkalmazásokként való besorolásának helyességéről; az alternatív kifejezés a Rich Internet Applications .
A webalkalmazások [2] építészeti tervezésének megközelítéseit alkalmazzák . A webalkalmazások egy kliensből és egy szerverrészből állnak, így valósítják meg az „kliens-szerver” technológiát .
A kliens rész megvalósítja a felhasználói felületet [3] , kéréseket generál a szerver felé és feldolgozza az onnan érkező válaszokat.
A szerver rész kérést kap a klienstől, számításokat végez, majd létrehoz egy weboldalt és elküldi a kliensnek a hálózaton keresztül a HTTP protokoll használatával .
Maga a webalkalmazás kliensként működhet más szolgáltatásokhoz, például egy másik szerveren tárolt adatbázishoz vagy más webalkalmazáshoz. A webalkalmazások markáns példája a Wikipédia szócikk - tartalomkezelő rendszere : számos résztvevője részt vehet egy online enciklopédia létrehozásában az operációs rendszere (legyen az Microsoft Windows , GNU/Linux vagy bármilyen más operációs rendszer ) böngészője segítségével. ) és további végrehajtható modulok letöltése nélkül a cikkek adatbázisával való munkához.
A webes alkalmazások fejlesztésének új megközelítése, az Ajax jelenleg egyre népszerűbb . Az Ajax használatakor a webalkalmazás oldalai nem töltődnek be teljesen újra, hanem csak a szükséges adatokat töltik le a szerverről, ami interaktívabbá és produktívabbá teszi őket.
Szintén az utóbbi időben egyre nagyobb népszerűségnek örvend a WebSocket technológia , amely nem igényel állandó kéréseket a klienstől a szerver felé, hanem kétirányú kapcsolatot hoz létre, amelyben a szerver az utóbbi kérése nélkül tud adatokat küldeni a kliensnek. Így lehetővé válik a tartalom dinamikus, valós időben történő kezelése.
A szerveroldali webalkalmazások létrehozásához különféle technológiákat és bármilyen programozási nyelvet használnak :
Név | Engedély | web szerver |
---|---|---|
ÁSPISKÍGYÓ. | szabadalmazott | specializált |
ASP.NET | szabadalmazott | specializált |
C / C++ | ingyenes | szinte bármelyik |
Java [4] | ingyenes | sok, köztük ingyenes |
Perl | ingyenes | szinte bármelyik |
PHP | ingyenes | szinte bármelyik |
Piton | ingyenes | szinte bármelyik |
rubin | ingyenes | szinte bármelyik |
Nodejs | MIT licenc | saját |
ASP.NET vNext | Apache 2 | szinte minden [Szerk. egy] |
A kliens oldalon a következőket használják: