我用wxPython做了两年多的小科研项目,分发给很多同事。我喜欢wxPython,我已经非常熟悉它了,但是很少有东西让我发疯(不是因为wxPython,实际上我想继续使用它):
1)我在不同的操作系统上有很多用户。我知道wxPython是跨平台的,但我已经没有勇气和时间将我所有的小软件(还会有更多的)每次移植到不同的操作系统上。尤其是我没有使用其中的一些(Windows7,Mac),所以我很难解决问题和用户请求。在
2)我们更新了很多软件(因为新的想法总是来自用户和我们自己),这意味着我可以再次生成所有的标准,上传它们,然后用户可以卸载并重新安装。讨厌的。。。在
我已经在考虑切换到Web框架,但是有一些问题。首先,许多用户喜欢离线使用我的软件,例如当他们旅行或没有互联网时。第二,我们在一些数据库中有一些数据,这些数据不应该放在服务器上。这一切都是关于专利的,而且永远都是一个讨论,所以我更喜欢我的程序有一个独立的桌面应用程序来简化事情。其他人可以上网,没问题。在
所以,总的来说,我喜欢基于浏览器的解决方案,因为每个人都有一个浏览器。我看到有些人将Django项目作为一个独立的桌面应用程序进行移植,我发现这是个不错的主意。我对Camelot也很担心,但我认为这是数据库的问题。Camelot只对我的一些工具有用,这些工具是一个数据库搜索和提取程序。但其他人根本不使用数据库。在
有人能建议我,我的工具有什么好的解决方案吗?在
在Python中使用Flex如何?您的接口是可移植的(因为Flex创建flash文件);您可以使用Python连接接口。在
此外,您可以决定(根据您的应用程序)将它们部署到web上,或者使用Flex将它们包装为本机可执行文件。在
您唯一的挑战是,如果您决定为Windows打包应用程序,确保Python和它一起正确地打包(如果需要的话)。在
这可能不适合您的用户如何使用您的应用程序,但一个选择是制作一个Linux虚拟机(Virtualbox支持最常见的操作系统作为主机),并分发它。在
这将为您提供一个单独的目标进行开发,并且,作为一个额外的奖励,如果您查看了您选择的发行版(Apt,Yum等)的更新机制,您应该能够添加自己的服务器作为源,并让VM保持更新,而无需您的用户做任何事情。在
您可以使用flask来提供UI。在
所以只需像平常一样编写应用程序,但是没有GUI(通常您应该将逻辑和GUI分开)。然后使用Flask(我真的很喜欢这个微框架,但也有其他类似的Bottle)以网站的形式编写UI。您可以在本地运行此网站(这是一行代码:
app.run()
,然后在具有URLhttp://localhost:5000
的web服务器中打开它),也可以在web服务器上运行,例如使用apache或nginx。在相关问题 更多 >
编程相关推荐