С какой стороны апи пропасть? - PullRequest
0 голосов
/ 09 ноября 2009

Я разрываюсь между СУХОЙ и слабой связью: (

У меня есть два сайта, на которых вы можете связать свою учетную запись, а затем сайты могут обмениваться данными (через RESTful API ...)

один сайт - это сайт агрегации медиа, а другой - медиа-магазин, где люди могут покупать цифровые медиа (музыка / фото / видео).

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

У меня есть 99% шаблонов и представлений (django), написанных для сайта магазина, которые мне понадобятся для отображения контента на сайте СМИ.

Должен ли я просто рендерить шаблоны и доставлять предварительно обработанный html (через api) на сайт мультимедиа (агрегации) (и подчиняться DRY) или мне следует доставлять json, чтобы избежать тесно связанных пользовательских шаблонов на стороне магазина?

Или, может быть, гибридный дизайн будет работать лучше? доставить предварительно обработанные фрагменты html (например, топ-10 продуктов в <ol>) и позволить медиа-сайту запрашивать необходимые фрагменты?

Гибридный дизайн кажется мне наиболее перспективным (сейчас), но, вероятно, в результате будет гораздо больше вызовов API (и, следовательно, больше запросов к базе данных)

Что вы думаете?

edit - Новая идея: (как видно из комментария) Что вы думаете о загрузке сайта магазина с некоторыми пользовательскими CSS в iframe?

Я думаю, что это должно устранить путаницу, уменьшить объем тесно связанного кода до 2 из 3 дюжин строк или около того, и избавить меня от огромной головной боли от поддержки двух наборов шаблонов, которые практически идентичны.

1 Ответ

2 голосов
/ 09 ноября 2009

Веб-дизайнеры убьют вас, когда вы распространите HTML-код на два сайта, поэтому один сайт должен предоставлять (необработанные) данные, а другой сайт должен решать, как их отображать. Кроме того, это станет кошмаром обслуживания. Представьте, что вам нужно исправить ошибку, взглянув на какой-то HTML: как часто вы будете спрашивать себя, какой из двух сайтов генерировал какую часть HTML?

Итак, пусть магазин отображает структуры данных, которые он получает с медиа-сайта. Медиа-сайт должен отправлять целые структуры данных (т. Е. Список из топ-10, только описание, может быть как JSON, без форматирования). Это позволяет избежать ненужных поездок туда и обратно.

...