Вы заказали сайт с личными кабинетами. Прошёл год, нужно поменять форму заказа. Вы звоните разработчику, а он уволился, и его никто не может заменить, потому что код написан «на коленке», на редком фреймворке, без документации. Вас берут в заложники. Знакомая ситуация?
В Falcon Space мы решили эту проблему кардинально: вся ваша бизнес-логика — это SQL-процедуры, которые может читать любой SQL-специалист. Исходный код ядра закрыт, но вы с ним не работаете. Ваше приложение — это процедуры и таблицы. Их можно выгрузить и перенести куда угодно.
Расскажу, почему увольнение программиста — не катастрофа для проектов на Falcon Space.
Когда сайт пишут с нуля на PHP или Java, используются фреймворки (Laravel, Symfony, Spring). Каждый программист пишет код по-своему. Один любит короткие методы, другой — длинные. Один использует один ORM, другой — другой. Через год после разработки даже сам автор может не вспомнить, как работает какой-нибудь сложный контроллер.
Документация почти никогда не пишется. Тесты — редкость. В итоге вы привязаны к конкретному человеку или команде. Если они уходят, вы либо платите новому разработчику за «разбор кода» (несколько недель), либо заказываете переписывание с нуля.
В Falcon Space такого нет.
Ваше приложение — это:
Всё это стандартные технологии. Любой SQL-специалист, даже не знакомый с Falcon Space, прочитает ваши процедуры и поймёт, что они делают: INSERT в таблицу orders, UPDATE статуса, SELECT с JOIN.
Ядро платформы закрыто, но вы его не трогаете. Вы не пишете код на C#. Поэтому потерять программиста, который писал ваши процедуры, не страшно: другой специалист быстро разберётся.
Эксперимент: мы наняли фрилансера, который никогда не работал с Falcon Space, и дали ему задачу добавить новое поле в форму заказа. Он справился за 40 минут (плюс 20 минут на чтение документации). В классической разработке на незнакомом проекте ему потребовалась бы неделя.
Всё. Никакого «кода, который никто не понимает».
Если специалист не может разобраться — значит, ваши процедуры плохо названы или неструктурированы. Но это проблема качества, а не платформы.
Посмотрите на эту процедуру (выдуманную, но реальную по структуре):
-- Процедура: изменить статус заказа и отправить уведомление
CREATE PROCEDURE [app].[order_change_status]
@order_id int,
@new_status nvarchar(50),
@username nvarchar(100)
AS
BEGIN
UPDATE orders SET status = @new_status, updated_at = GETDATE()
WHERE order_id = @order_id;
-- Отправить письмо клиенту
SELECT 'send_email' AS action,
(SELECT email FROM clients WHERE client_id = (SELECT client_id FROM orders WHERE order_id = @order_id)) AS to,
'Статус вашего заказа изменён' AS subject,
'Новый статус: ' + @new_status AS body;
END
Что здесь не понятно? Даже менеджер, знающий SQL, прочитает. Никакой магии.
Falcon Space — коммерческая платформа, но вы не привязаны к нам навечно:
Вы не обязаны заказывать доработки у нас. Если вы решите перейти на другую платформу, вы можете выгрузить данные и (частично) бизнес-логику. Мы не блокируем, не шифруем, не привязываем к нашему облаку.
Единственное, что закрыто — это код ядра (C#). Но он вам и не нужен. На практике никто не пытался заменить ядро — проще остаться на Falcon Space.
Увольнение программиста — это всегда стресс. Но в проектах на Falcon Space этот стресс намного меньше, чем в классической разработке. SQL стандартизирован, документация есть, специалистов на рынке достаточно. Ваш бизнес не остановится из-за ухода одного человека.