Mono - общий код на клиенте и сервере. ,

Мы пытаемся придумать наш стандарт клиента и сервера, и сейчас идет большая дискуссия. Одной из идей является клиент C # и серверы Java, использующие какую-то проприетарную библиотеку сообщений для обмена объектами данных (представьте, что XML похож на структуру.)

Проблема с этой моделью заключается в том, что существует много кода, который необходимо дублировать (проверка, анализ), который можно просто использовать повторно, если вы также используете C # на сервере. Если есть большой толчок для использования машины Linux, то моно не поддержит вашу цель. ,

У кого-нибудь еще есть эта дилемма?

14.12.2008 13:46:10
4 ОТВЕТА
РЕШЕНИЕ

Для этого есть рамки. ICE (ZeroC), «буферы протокола» и т. Д.

Например, моя реализация буферов протокола (protobuf-net) работает на моно, MS .NET, CF, Silverlight и т. Д., А двоичный формат совместим с рядом языков (Java и т. Д.). Если вы начинаете с .proto (пользовательский язык определения), вы можете использовать его для создания слоя объектов на каждом языке, который вам нужен.

4
14.12.2008 16:08:44

Я бы попытался сохранить клиент и сервер во время выполнения (Java или CLR). Мы добились большого успеха, используя сочетание Mono и .Net клиент / сервер.

0
14.12.2008 13:59:30

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

Как только вы это сделаете, вы можете начать с C # на Mono. И затем, если это окажется неработоспособным, вы можете переключиться на другой язык.

1
14.12.2008 16:49:54

Я бы посоветовал вам использовать какой-то старый, но хороший стандарт для передачи данных между ними, например, SOAP и XML-RPC. Если что-то из этого возможно или возможно, вы можете попробовать JSON или написать свой собственный формат XML. В последнее время довольно часто упоминается о буферах протоколов, но я не рассматривал их, поэтому действительно ничего не могу сказать по этому поводу.

1
14.12.2008 16:56:46