2009-10-26 48 views
1

我有一些非常好的Python代碼來做我需要做的事情。雖然我不特別喜歡Python GUI的任何選擇。 wxPython很好,但是對於我所需要的,調整大小,刷新和動態添加控件的速度並不那麼簡單。我想在VB.NET中創建GUI。我想我可以使用IronPython將兩者聯繫起來,但這會對相當大的第三方產品產生依賴性。我在Windows IPC上仔細閱讀了MSDN文檔,並得到了使用套接字的想法。我從Python文檔中複製了Python回顯服務器代碼,並且在5分鐘內就能夠在VB.NET中創建客戶端,甚至不需要閱讀System.Net.Sockets文檔,所以這當然不會太難。使用套接字將VB.NET前端連接到Python後端會是個好主意還是壞主意?

我的問題是......這是一個可怕的想法?如果是這樣,我應該怎麼做呢?

如果這是一個好主意,我該怎麼做呢?

回答

1

這不是一個可怕的想法。事實上,如果你編寫Python代碼來創建一個RESTful接口,然後從VB.NET訪問它,這是一個非常好的主意。稍後,您可以從Python或VB.NET或其他應用程序中重新使用該Python服務器。由於REST是標準且易於測試的,因此人們甚至可以從瀏覽器執行GET操作,也許這對本身很有用。

這裏是一個雅虎頁面,給你code examples to do REST GET, POST and so on, in VB.NET

如果您認爲REST開銷太大,需要更輕量級的東西,請不要嘗試創建自己的協議。考慮類似Google's Protocol Buffers這也可以be used from VB.NET

+0

+1 for REST API。這很簡單,因此很容易得到正確。您可以在任何Web瀏覽器中測試它。後端和前端之間鬆散的耦合,所以如果您決定轉換前端,將很容易。 – steveha

+0

REST似乎不適合用於此目的。後端代碼會根據用戶輸入進行一系列計算。沒有任何類型的存儲數據。 –

0

我認爲這是一個很好的主意。我將繼續邁克爾狄龍的REST API建議,並且我會進一步建議您使用Django來實現您的REST服務器。

我用Django編寫了一個REST Web服務,Django使它非常簡單和有趣。 Django非常簡單地以我想要的方式設置URL,運行任何需要URL的代碼,並根據需要與數據庫進行交互。我的網絡服務非常穩定可靠,我只需使用Web瀏覽器即可測試它的調試情況。

如果你已經有了你的代碼在Python中工作,並且想要在膠水界面上打耳光,並且如果REST看起來不像你想要的,你可以看看Twisted網絡框架。 Here是一篇關於如何在Python中使用標準Python模塊和Twisted進行網絡連接的好文章。

相關問題