Как мы создали серверную часть RESTful, привязанную непосредственно к нашей базе данных.

Часто, когда вашему внешнему веб-приложению или мобильному приложению требуются некоторые данные для отображения его элементов, вы делаете запрос на внутренний сервер. Обычный подход к проектированию заключается в создании REST API, который влечет за собой взаимодействие вашего клиента (внешнего интерфейса) с вашим сервером (бэкендом) с помощью таких глаголов, как GET (дайте мне что-нибудь) или POST (вот что-нибудь). Обычно вы можете использовать запросы GET для рендеринга страниц и получения информации, а также запросы POST для отправки информации (например, аутентификации или загрузки данных формы). Таким образом, ваш интерфейс будет связываться с определенными конечными точками на вашем сервере (например, myserver.com/homepage), которые будут возвращать некоторые данные.

Однако, поскольку внутренний сервер — это просто еще один компьютер, маловероятно, что вы будете пытаться постоянно хранить данные в оперативной памяти. Скорее, данные обычно хранятся в постоянной системе хранения, такой как база данных (например, Mongodb, MySQL и т. д.). Таким образом, когда ваш интерфейс делает запрос к вашему серверу, если требуется поиск данных, серверная часть будет запрашивать сервер базы данных, о котором знает только он, и, наконец, структурирует данные таким образом, чтобы их можно было усвоить для интерфейса.

Подключение всех этих соединений может занять некоторое время и часто требует настройки уровня абстракции на вашем сервере для связи с базой данных и преобразования данных в переменные, которые могут передаваться и использоваться вашим интерфейсом. В то же время вы захотите обрабатывать и настраивать маршрутизацию на своем сервере, чтобы определенные страницы, не требующие данных, работали должным образом.

Перья упрощают жизнь

Что, если вы хотите сделать все как можно проще и создать ощущение, что ваш интерфейс может почти напрямую общаться с вашей базой данных? Feathersjs — это библиотека, которая учитывает этот шаблон проектирования и делает жизнь фантастически простой. Используя перья, ваше мобильное приложение может сделать запрос к имени конечной точки после таблицы в вашей базе данных и напрямую получить то, что ему нужно, с необходимостью самостоятельного написания уровней абстракции и большого количества кода на стороне сервера (например, myserver.com/restaurants).

В TasteSpace мы используем Feathers для предоставления данных о пользователях, предпочтениях, ресторанах и многом другом, одновременно беспрепятственно считывая и записывая данные из базы данных Mongo.

Перья строятся на экспресс…

Начало работы с пакетом перьев npm…

Добавление новой конечной точки…

Возврат данных…

При переходе непосредственно к нашему бэкенду через Интернет, а не через наше приложение, мы видим административный интерфейс, созданный с использованием Svelte; Svelte — это фантастическая «инфраструктура» для дизайна внешнего интерфейса, которая гениально компилируется в ванильный javascript, значительно увеличивая скорость и уменьшая объем памяти. Мы обсудим Svelte в другом посте…