Mi ez az összes beszélgetés a Rack alkalmazásokról?

Sokat beszélünk Rack, de ha ön nem egy keretek szerzője, ritkán látja. Tehát mi a Rack? És miért, mint alkalmazásfejlesztő, törődne vele?

Rack alapjai

A Rack egyfajta köztes szoftver. A webes alkalmazás és a webszerver között helyezkedik el. Az összes kiszolgáló-specifikus API-hívást kezeli, kivonaton továbbítja a HTTP-kérést és a környezeti paramétereket, és visszaadja az alkalmazás válaszát a szervernek. Más szavakkal, az alkalmazásnak nem kell tudnia, hogyan kell beszélni egy HTTP szerverrel, és tudnia kell, hogyan kell beszélni a Rack-kel.

A Rack előnyei

Ennek számos előnye van. Először is, könnyen beszélhet Rack-kel (amint látni fogja alább). Másodszor, mivel csak akkor kell tudnia, hogyan kell beszélni a Rack-kel, és mivel a Rack tudja, hogyan kell beszélni sok különböző HTTP-szerverrel, az alkalmazás ezen a HTTP-kiszolgálón bármelyikén fut. A Rack olyan, mint egy univerzális adapter a webes alkalmazásokhoz.

A Rack alkalmazások semmi különlegesek. Valójában a Rack API annyira halott, hogy egyetlen mondatban leírható:

instagram viewer
A Rack alkalmazás bármely Ruby objektum, amely reagál a hívás módszer, egyetlen hash paramétert vesz, és egy tömböt ad vissza, amely tartalmazza a válasz állapotkódját, a HTTP válaszfejléceket és a választestet karakterláncok tömbjeként.

Nagyon sok ez. Túl egyszerűnek tűnik, hogy igaz legyen, vagy legalábbis túl egyszerűnek, hogy hasznosak legyenek, de amikor valójában rájön, erre számít, amit tényleg csinálsz, amikor HTTP-kiszolgálókkal beszélsz.

Miért fontos a Rack?

De az igazi kérdésnél: Miért érdekli Önnek, mint alkalmazás-programozónak a Rack? Nos, először is, mindig van megvilágosodás annak megértésében, hogy a keret működik. De ami még fontosabb, vannak olyan hasznos dolgok is, amelyeket a Rack-szel tehetünk. A legfontosabb: köztes szoftver.

Ez kissé furcsának hangzik. De egy extra réteg az alkalmazás és a Rack között jó lehet, és olyan funkciókat valósíthat meg, amelyek csak az alkalmazást zavarják. Ez a köztes szoftver egyszerűen csak átveszi a Rack kérését, továbbadja azt az alkalmazásának, megkapja válasz, adjon hozzá valamit, szűrje le, vagy ilyesmit, és utána adja vissza a választ Rack. Ez felhasználható nagyon érdekes apró funkciók, például szerver-agnosztikai naplózó vagy kérés megvalósítására józanság-ellenőrző, vagy egy kis köztes szoftver, amely e-mailt küld az adminnak minden alkalommal, amikor az alkalmazás visszatér a 404. Ezen szolgáltatások egyikének sem kell zavarnia az alkalmazást, ezek köztes szoftverként is megvalósíthatók a Rack segítségével.

instagram story viewer