Взаимодействие между Java и C # - PullRequest
4 голосов
/ 24 ноября 2008

Можно ли написать пользовательский интерфейс на Java для приложения, написанного на C #?

Я работаю над пользовательским интерфейсом проекта, написанного на C #, но у меня нет опыта работы с C #, и я заядлый пользователь Java. Можно ли построить пользовательский интерфейс в Java с использованием библиотек Java Swing и AWT, которые управляют приложением, написанным в первую очередь на C #.

Если это звучит как очень глупый вопрос, заранее прошу прощения.

Ответы [ 5 ]

3 голосов
/ 24 ноября 2008

Возможно, вы сможете использовать некоторые функции взаимодействия, которые интегрированы в Mono 2.0

http://www.mono -project.com / Main_Page

JNBridge - еще одно возможное решение для взаимодействия:

http://www.jnbridge.com/

Тем не менее, более оптимальным подходом может быть предоставление вашего кода .NET в качестве служб, а затем доступ к ним из клиента Java (или через облегченный ESB).

Конечно, время, бюджет, ресурсы - это ограничения, которые вы должны учитывать.

1 голос
/ 31 октября 2009

Я являюсь автором jni4net , межпроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на основе JNI и PInvoke. Код C / C ++ не требуется. Я надеюсь, что это поможет вам.

1 голос
/ 16 декабря 2008

Кроме того, для решения, которое выполняет кросс-компиляцию Java для запуска в CLR: http://www.ikvm.net/

1 голос
/ 24 ноября 2008

В дополнение к http://www.jnbridge.com (проприетарный) вы можете попробовать http://www.janetdev.org, - реализация с открытым исходным кодом среды Java 5 SE JDK для платформы .NET. В настоящее время он поддерживает только .Net 3.5 (не Mono).

1 голос
/ 24 ноября 2008

Мы сделали это недавно и пошли по пути использования сокетного соединения низкого уровня, но проталкивали через него xml. C # был серверной стороной, и мы использовали инструмент Microsoft 'xsd', чтобы сгенерировать схему XSD для объектов, а затем использовали JAXB на стороне Java, чтобы сгенерировать код Java для анализа и хранения тех же объектов.

Как упоминает Барри, большая часть работы / проблем была связана с сокетным соединением - но это зависит от того, насколько вам удобно с этим.

...