Python 基于浏览器的应用程序还是独立的GUI应用程序?
我肯定以前有人问过这个问题,但我找不到 与使用普通GUI框架相比,为独立应用程序使用基于浏览器的界面有哪些好处/限制 我正在开发一个Python程序,该程序目前使用wxPython为GUI实现。应用程序只是用户输入表单和对话框。我正在考虑迁移到PyQt,因为它有很多小部件(用于将来的扩展),然后我意识到我可能只需要使用浏览器就可以完成很多相同的事情 该应用程序目前不需要互联网接入,但将来也有可能。如果我选择基于浏览器的方式,我会考虑将其用于web框架Python 基于浏览器的应用程序还是独立的GUI应用程序?,python,user-interface,browser,Python,User Interface,Browser,我肯定以前有人问过这个问题,但我找不到 与使用普通GUI框架相比,为独立应用程序使用基于浏览器的界面有哪些好处/限制 我正在开发一个Python程序,该程序目前使用wxPython为GUI实现。应用程序只是用户输入表单和对话框。我正在考虑迁移到PyQt,因为它有很多小部件(用于将来的扩展),然后我意识到我可能只需要使用浏览器就可以完成很多相同的事情 该应用程序目前不需要互联网接入,但将来也有可能。如果我选择基于浏览器的方式,我会考虑将其用于web框架 编辑澄清一下,从现在起,该应用程序将基于浏
编辑澄清一下,从现在起,该应用程序将基于浏览器,而不是基于web。所有信息都将本地存储在客户端计算机上;不需要进行服务器调用,也不需要访问Internet(不过可能会在稍后进行)。它将只是一个浏览器GUI,而不是wxPython/PyQt GUI。希望这是有意义的。基于浏览器的明显优势:
- 无论平台如何,都可以呈现相同的UI
- 您可以轻松升级应用程序,并且所有用户都可以运行相同版本的应用程序
- 您知道应用程序将运行的环境(服务器硬件/操作系统),与GUI应用程序将安装在的众多操作系统/硬件配置相比,这使得测试和支持更加容易
- 有些应用程序(例如:图像编辑)在本机GUI应用程序中工作得更好
- 不需要网络访问
我刚才有一个想法:你还需要考虑你的应用程序操纵的数据类型以及存储在哪里,以及用户会如何感觉。人们显然可以将他们的facebook个人资料数据存储在Web服务器上,但如果您正在编写一个像MYOB这样的财务应用程序,并且希望将他们所有的个人财务详细信息存储在您的服务器上,他们可能会有不同的感觉。您可能能够实现这一点,但要实现所需的安全性并确保用户群的数据是安全的,需要付出大量的努力。在这种情况下,如果使用本机GUI应用程序,您可能会认为总体工作量较低。
浏览器可以通过internet访问任何地方,并部署到服务器上。桌面应用程序必须部署到他们的计算机上,每台计算机都有自己的独特性,即使使用相同的操作系统和版本。这会给你带来很多麻烦。选择web。当涉及到使用用户输入表单的简单数据输入时,我认为使用基于浏览器的解决方案可能更容易、更快地开发 除非您的核心功能是界面本身(“如果它是一个核心业务功能——不管怎样,您自己动手吧。”,请参见),否则我觉得浏览器能够更好地执行表单呈现和处理,而不必从头开发GUI。此外,更不用说编写GUI代码需要更长的时间,而不是在浏览器发布HTML表单后生成并处理它们 我过去发现,一位朋友让我写一个应用程序,输入调查结果。起初,我正在编写一个Java小程序来显示调查本身以及所有的广播框,这时我突然想到,最好编写一个简单的HTTP服务器来生成表单并对其进行处理 真正的问题在于你是否正在发展:
如果您正在制作数据输入应用程序,则将用户界面留给浏览器,并将重点放在您的核心功能上。基于浏览器的界面的好处:
- 易于管理:无需在用户计算机上安装,升级只需在服务器端执行,所有用户均可立即使用。数据备份可以在一台机器上执行,因为数据不会分散到多个客户端
- 应用程序可以通过浏览器从任何机器访问
- 可以轻松一致地支持多个平台
- 由于可以在服务器上执行密集操作,因此客户端的内存和CPU需求可能会大大减少
- 提高了安全性:数据存储在一台服务器上,而不是多台客户机上,并且可以更好地控制访问
- 集中式环境的许多其他好处,包括日志记录、从多个源输入的数据可以立即从其他客户端获得,等等
- 根据我的经验,调试通常更容易,开发基于web的解决方案则更快
- 可能更容易设计出更灵敏、更流畅的界面
- 可以利用浏览器可能无法提供的特定于操作系统的功能
- 不一定需要网络访问
- 别胡闹