Было бы хорошей или плохой идеей соединить интерфейс VB.NET с бэкэндом Python с помощью сокетов? - PullRequest
1 голос
/ 26 октября 2009

У меня есть действительно хороший Python-код, который делает то, что мне нужно. Мне не особо нравится любой из вариантов Python GUI. wxPython хорош, но для того, что мне нужно, скорости изменения размера, обновления и динамического добавления элементов управления просто нет. Я хотел бы создать графический интерфейс в VB.NET. Я предполагаю, что мог бы использовать IronPython, чтобы связать их, но это создает зависимость от довольно большого стороннего продукта. Я просматривал документацию MSDN по Windows IPC и получил идею использовать сокеты. Я скопировал код эхо-сервера Python из документации Python и менее чем за 5 минут смог создать клиент в VB.NET, даже не читая документацию System.Net.Sockets, так что это, конечно, не кажется слишком сложным.

У меня вопрос ... это ужасная идея? Если так, что я должен делать вместо этого?

Если это хорошая идея, как мне это сделать?

Ответы [ 2 ]

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

Это не ужасная идея. На самом деле, если вы пишете код Python для интерфейса RESTful, а затем получаете доступ к нему из VB.NET, это просто хорошая идея. Позже вы можете повторно использовать этот сервер Python из любого другого приложения, написанного на Python или VB.NET или чего-то еще. Поскольку REST является стандартным и легко тестируемым, люди могут даже делать GET из браузера, и, возможно, это будет полезно само по себе.

Вот страница Yahoo, которая дает вам примеры кода для выполнения REST GET, POST и т. Д. В VB.NET .

Если вы считаете, что у REST слишком много накладных расходов и вам нужно что-то более легкое, не пытайтесь придумать свой собственный протокол. Рассмотрим что-то вроде протокольных буферов Google , которые также можно использовать из VB.NET .

0 голосов
/ 26 октября 2009

Я думаю, что это отличная идея. Я поддержу рекомендацию Майкла Диллона о API REST и еще рекомендую использовать Django для реализации своего сервера REST.

Я написал веб-сервис REST с использованием Django, и Django сделал его действительно простым и увлекательным. Django упростил настройку URL-адресов так, как я хотел, для запуска любого кода, к которому обращался URL-адрес, и для взаимодействия с базой данных по мере необходимости. Мой веб-сервис был исключительно надежным, и я смог протестировать его для отладки, просто используя веб-браузер.

Если у вас уже есть код, работающий на Python, и вы просто хотите добавить интерфейс клея, и если REST не похож на то, что вам нужно, вы можете взглянуть на сетевую среду Twisted . Здесь - хорошая статья о том, как создавать сети в Python как со стандартными модулями Python, так и с Twisted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...