Skip to content

Варианты задействовать свой бэкенд для фронтендера

Как протестировать фронт на данных с бэка?

Есть много сервисов, предлагающих свой API с различными данными для тестирования либо полноценной работы

Например, jsonplaceholder.typicode.com

Гуглить по "json placeholder"

Есть ли бесплатные открытые API с реальными данными?

Полно. Например, тут

Гуглить по "public api"

Также можно похакать релевантные сайты в DevTools / Network на предмет эндпойнтов с данными в подходящем формате

Как сделать свой бэкенд?

Если уже знаете JavaScript, поставить и запустить Node.js с HTTP сервером проблем вызвать не должно.

Node.js далеко не очень популярный сервер для интернета, но для небольшого проекта пойдет.

В абсолютном значении проще всего установить и начать работать с Nginx и PHP

Большинство крупных облачных провайдеров (Amazon, Google, Oracle, Microsoft) предоставляет бесплатные планы с возможностью запустить виртуальный сервер. Поставив туда что требуется, можно захостить и бэк, и бандл фронта.

Что такое BaaS (Backend as a service)?

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

Например, NoSQL базу данных и доступ к ней предоставляет Google с помощью своего сервиcа Firebase

Альтернатива с PostgreSQL - Supabase

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

Оба сервиса предоставляют возможность сделать аутентификацию на сайте. Таким образом, фронтэндер может написать приложение используя подобный сервис без написания своего бэкенд кода и без размещения его где-то на сервере в интернете.

У данных сервисов есть бесплатные планы с довольно большими ресурсами.

Бизнес логика на BaaS

Большинство BaaS сервисов предоставляет не только CRUD доступ к своей базе данных, но и возможность написать кастомную логику в виде Cloud Functions у Firebase, Edge Functions у Supabase, AWS Lambda у Amazon и т.д.

Данные функции являются кодом на каком-то языке программирования, который будет вызываться при обращении к определенному эндпойнту бэкенда.

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

Как работают Edge/Cloud/Lamda функции

По сути, это бэкенд в миниатюре

Твой фронт обращаешься к заданному эндпойнту (через API gateway сервиса BaaS провайдера) - например, /api/somefunc

Там лежит написанный тобой скрипт на js или другом языке программирования который выполняется, имеет доступ к базе данных и может делать другие вещи (грузить данные из инета например)

Затем скрипт формирует результат и возвращает его твоему фронту