Интеграция одного веб-фреймворка с другим

Я новичок в Интернете в целом, а также в django (веб-фреймворк Python).

Мне проще работать с python, но большинство моих коллег предпочитают java.

Можно ли смешать их в веб-приложении?
Было бы проще, если бы я просто сбросил django и начал использовать play?

Кто-то в Интеграция Django и Rails упомянул "обмен сообщениями", и мне интересно, что он имел в виду под этим.


person eugene    schedule 20.11.2012    source источник
comment
Я полагаю, что под обменом сообщениями он просто имел в виду общение через какую-то произвольную среду - способ (в вашем случае) Django и Java/Play Framework для общения. Возможно, RESTful API? По моему опыту, установление эффективной и действенной связи между двумя фреймворками требует больше усилий, чем пользы, если только это не является абсолютно необходимым.   -  person WilHall    schedule 20.11.2012


Ответы (2)


Определенно лучше прыгнуть в Play (или django), а затем смешивать оба решения. Причина одна, основная. Хотя можно смешивать один фреймворк с другим или даже смешивать фреймворки из разных языков, во-первых... вам нужно как минимум очень хорошо знать все элементы. Затем вы можете искать наиболее оптимальные способы их соединения и использовать лучшие части каждого, чтобы получить наилучший возможный результат.

Поскольку де-факто подходы Play и djangos очень похожи, я не вижу веских причин пытаться их соединить, тем более, когда большая часть команды использует одно решение, лучший вариант — следовать им.

Хотя, как вы написали, вы также новичок в django, этот переключатель не должен быть проблемой. Вы можете просто в будущем написать аналогичный проект на django и сравнить производительность, производительность и т. д. Может быть, тогда вы убедите своих коллег попробовать что-то еще.

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

Другими словами, если вы будете писать ContenteManager на django, убедитесь, что ребята из Play подключаются к БД как к клиенту, или наоборот, не пытайтесь смешивать ответственность между двумя решениями (даже если они написаны на одном языке). /framework), потому что вы потерпите неудачу.

person biesior    schedule 20.11.2012

Я думаю, что обмен сообщениями между двумя отдельными фреймворками возможен несколькими способами:

  • интенсивный обмен файлами данных (мы вернулись во времена DOS...)
  • совместное использование одной и той же базы данных (в книгах не описано, но я это видел)
  • общение через хранилище ключей и значений в качестве общего источника данных

Все эти решения одинаковы, если вы заправляете свой Ferrari дизельным топливом.

В любом случае, если вы наступите на фреймворк, который вам не нравится, возможно, у него есть какая-то база данных, которую вы можете использовать. Мой совет — отказаться от старого и уродливого фреймворка, вместо того, чтобы учиться с ним работать — ноша в ваших руках (soundgarden).

person R Milushev    schedule 20.11.2012