首页 > 代码库 > c# winform UI + python底层的一点尝试

c# winform UI + python底层的一点尝试

鉴于python做winform之类的UI比较弱。于是想结合C#的winform 和 python的底层开发(windows平台)。

 

尝试做了一个RSS阅读器。在这里:http://download.csdn.net/detail/lion_awake/8240713。

主要从一些网站抓取rss,然后解析rss,并在界面上显示。

结构

这是一个c/s架构。

server端,用python编写,负责抓取rss并解析。

client端,从server端拿到数据然后显示。

client端和server端通过socket进行通讯。

 

掉进去过的坑

1. c# 正则表达式匹配中文的问题。

json_str = "\\u4e00"Regex = new Regex("[\\u4e00-\\u9fa5‘]+")//不起作用Regex = new Regex("[\\\\u4e00-\\\\u9fa5‘]+")//ok

  c# \\转换为\的问题,前一篇帖子已经提过。

2. c# socket发送数据问题:

帖子这里:http://bbs.csdn.net/topics/390949473

总结了下,问题的根源在于,服务器端用python-twisted中的LineReceiver这个Protocol,也就是说发送消息以"\r\n"为结束符(windows上)

 

感受

  或许是对c#的语法不熟,相同的东西,用python实现可能只需要1~3h,用C#折腾了两天。主要是出了问题,google不好找答案,其次,很多东西底层调试不进去,最后问问c#同行,基本没有几个能够答个所以然。

或许为了他的界面而是用C#,但需要权衡下,你是否能够驾驭各种兼容问题以及时间成本。

  虽然python有很多优秀的底层,以及web的ui都不错,但对于desktop ui来说,有所欠缺,特别是游戏。这块短板的弥补,暂时木有神马好的方案。优先级排行:成熟的开源方案 > 成熟的闭源方案> 不咋成熟的开源方案 > 不咋成熟的闭源方案。

其次还要考虑技能的熟练程度。也许结合这个以后的优先级可能是:成熟的开源方案 > 不咋成熟的开源方案 >  成熟的闭源方案> 不咋成熟的闭源方案。

 

c# winform UI + python底层的一点尝试