У меня есть продукт, который собирает и отображает измерения всех видов (не буду вдаваться в него). Часть отображения, как и следовало ожидать, представляет собой базу данных + веб-сайт, построенный поверх него (с Symfony).
Тем не менее, мы, вероятно, создадим API для предоставления данных третьим сторонам.
Теперь у нас есть выбор: и веб-сайт, и API-интерфейс поверх базы данных, или просто построить API-интерфейс сверху, и веб-сайт должен реализовывать API.
Я бы предпочел последнее, поскольку в противном случае мне придется адаптировать оба слоя модели для API и веб-сайта каждый раз, когда изменяется схема (что может быть несколько раз).
Если у меня есть последнее, у меня, очевидно, есть преимущество только в адаптации модели API. Если контракт API остается прежним, веб-сайт не нуждается в адаптации.
Однако, очевидно, есть недостатки в производительности.
С базой данных веб-сайта <-> и базой данных веб-сайта <-> API <-> очевидно, что первая будет самой быстрой.
Мой вопрос: как вы относитесь к этому компромиссу?
Я надеюсь, что производительность может быть практически выровнена, так как все машины будут в одной локальной сети + будет кеширование. Если это так, то простота разработки наверняка облегчит мне жизнь: -)
Ждем ваших мнений и опыта!