A GraphQL egy következő generációs API-technológia, amely átalakítja az ügyfélalkalmazások kommunikációját a kiszolgálóval és hatással van a kiszolgáló kialakítására is.
A mobil alkalmazások teljesítményének és a szervezeti agilitásnak egyre növekvő fontossága erős lökést adott a GraphQL-nek a modern vállalati architektúrák csúcsán az emelkedéséhez.
Az a mód, amellyel különféle ügyfélalkalmazások csak a szükséges adatok kérdezik le a GraphQL-ről, alternatív REST megközelítéseket eredményeznek, és valós alkalmazás-teljesítménynövekedést biztosítanak. A hagyományos REST API esetében az ügyfélalkalmazások lekérdezik egy szerver erőforrást, és a kapott válasz tartalmazza a kérésnek megfelelő összes adatot. Ha a REST API végpontból származó sikeres válasz 20 mezőt ad vissza, akkor az ügyfélalkalmazás 20 mezőt kap
A REST API-k hagyományosan nem biztosítanak tiszta módot arra, hogy az ügyfélalkalmazások csak az általuk érdekelt adatokat töltsék le vagy frissítsék. Ezt gyakran „túlérkezés” problémaként írják le. A mobil alkalmazások esetében a felhasználókra jelentős hatással van a mobil adatforgalom. A lassabb adatkapcsolatú felhasználókat különösen érinti a nem optimális API-tervezés. Azok az ügyfelek, akik a mobil alkalmazások használata során rossz teljesítményt tapasztalnak, nagyobb valószínűséggel nem vásárolnak termékeket és használnak szolgáltatásokat újra. A nem hatékony API-tervezés ezáltal a cégek pénzbe kerül.
A Facebook számára a GraphQL volt a válasz a Facebook (2012-ig használt) HTML5-alapú verziója során megtanult tapasztalatokra. A Facebook mérnökei megértették, hogy a javított teljesítmény kiemelkedően fontos, ezért a csúcsteljesítmény biztosítása érdekében új technológiára van szükség.
Mivel gyakran egyetlen GraphQL végpont van, a GraphQL lekérdezési nyelven keresztül az ügyfélalkalmazások jelentősen csökkenthetik a szükséges hálózati hívások számát, és biztosíthatják, hogy csak a szükséges adatokat szerezzék be.
A GraphQL-kompatibilis szervezeti agilitás növekedése általában a következőknek tulajdonítható:
Ahelyett, hogy új végpontokat hozunk létre, amikor az ügyfélnek legalább egy vagy több új mezőre van szükség, a GraphQL API tervezői és fejlesztői képesek beépíteni ezeket a mezőket a meglévő gráf implementációkba, új képességeket tárva fel, amelyek kevesebb fejlesztési erőfeszítést igényelnek és kevesebb változást igényelnek az alkalmazási rendszerek között.
A GraphQL a vállalatok általi elfogadása az almúlt években felgyorsult azáltal, hogy növeli mind a teljesítményt, mind pedig a szervezeti rugalmasságot. A GraphQL további nagy előnye, hogy nem csak az alternatív API-megoldások nagybani helyettesítésére tervezték, hanem kiválló választás a már meglévő API-k kiegészítésére vagy továbbfejlesztésére is.
Saját elvárásunk, hogy a lehető legmodernebb technikák és eszközök felhasználásával építsük alkalmazásainkat. Folyamatosan követjük és használjuk a fejlesztői konferenciákon bemutatott újdonságokat, implementáljuk, vagyis alkalmazzuk a gyakorlatban a legújabb fejlesztői módszereket és 'Best Practice' megoldásokat.
Általunk használt technológiai megoldások a teljesség igénye nélkül:
A ReactJS a legnépszerűbb JavaScript könyvtár, modern felhasználói felületek létrehozására.
A Node.js egy erőteljes JavaScript alapú technologia, tetszőlegesen méretezhető hálózati alkalmazások számára.
A GraphQL a modern API-k lekérdezési nyelve. Megkönnyíti a fejlesztését, és lehetővé teszi a hatékony fejlesztői eszközöket.