Какво е всичко това разговор за Rack приложения?

Много се говори багажник, но освен ако сами не сте рамков автор, рядко го виждате. И така, какво е Rack? И защо като разработчик на приложения трябва да се интересувате от това?

Основи на стелажите

Rack е вид междинен софтуер. Той се намира между вашето уеб приложение и уеб сървъра. Той обработва всички специфични за сървъра обаждания за API, предава HTTP заявката и всички параметри на средата в хеш и връща отговора на приложението ви към сървъра. С други думи, приложението ви не е необходимо да знае как да говори с HTTP сървър, то трябва да знае как да говори с Rack.

Предимства на Rack

Това има редица предимства. Първо, да говорите със Rack е лесно (както ще видите по-долу). Второ, тъй като трябва само да знаете как да говорите със Rack и Rack знае как да разговаря с много различни HTTP сървъри, вашето приложение ще работи на всеки от тези HTTP сървъри. Rack е като универсален адаптер за уеб приложения.

Самите приложения на Rack не са нищо особено. Всъщност API на Rack е толкова мъртъв прост, че може да бъде описан с едно изречение:

instagram viewer
Rack приложение е всеки обект Ruby, който отговаря на обадете се метод, взема един хеш параметър и връща масив, съдържащ код на състоянието на отговора, HTTP заглавки на отговори и тяло на отговора като масив от низове.

Това е почти всичко. Звучи твърде просто, за да е вярно или поне твърде просто, за да бъде полезно, но когато наистина се свежда до това, това е всичко, което наистина правите, когато разговаряте с HTTP сървърите.

Защо багажникът е важен?

Но относно истинския въпрос: Защо като програмист на приложения трябва да се интересувате от Rack? Първо, винаги има просветление, за да разбереш как работи рамката ти. Но по-важното е, че има полезни неща, които можете да направите със Rack. Най-важното: междинен софтуер.

Това звучи малко странно. Но допълнителен слой между вашето приложение и Rack може да бъде добро нещо и да приложите функции, които само ще затрупат приложението ви. Това, което прави този междинен софтуер, е просто да вземете заявката от Rack, да я предадете на приложението си, да я получите отговор, добавете нещо към него или го филтрирайте или нещо по тези линии и след това предайте отговора обратно към Rack. Това може да се използва за реализиране на много интересни малки функции като сървър-агностичен логър или заявка разумна проверка или малко междинен софтуер, който изпраща имейл на всеки администратор всеки път, когато приложението ви се върне с 404. Нито една от тези функции не трябва да затруднява вашето приложение, те могат да бъдат реализирани като междинен софтуер с Rack.