Python/Sqlite程序,写为浏览器应用程序或桌面应用程序?

Chr*_*isC 5 python browser sqlite

我正处于计划阶段,重写几年前我在一个完整的程序中写的Access数据库.我有很少的编码经验,但还不足以称自己为程序员.我一定会像往常一样学习,所以我想尽量保持一切尽可能简单.我已经为我的程序决定使用Python和SQLite,但是我的下一个决定需要帮助.

这是我的情况

1)它将在每台机器上本地运行,所有Windows计算机

2)我真的很喜欢带有颜色,漂亮屏幕,菜单,列表等的漂亮GUI

3)我正在考虑使用浏览器界面,因为(a)根据我的阅读,浏览器应用程序看起来非常棒,(b)我知道有很多免费工具可以帮助设置GUI/GUI使用拖放工具的代码,这有助于我"保持简单"的目标.

4)我希望程序完全可移植,因此它可以完全从用户PC上的一个文件夹运行,无需安装即可运行

(如果我将其作为浏览器应用程序执行,那么用户的浏览器设置可能无法影响或破坏应用程序.这有多大可能?)

对于我的情况,我应该/可以将其设为浏览器应用吗?对我的情况有什么利弊?

Eva*_*ske 5

将桌面应用程序编写为本地托管的 Web 应用程序通常不是一个好主意。虽然可以使用 HTML、CSS 和 Javascript 创建出色的用户界面,但使用传统 GUI 框架创建界面要容易得多。

使用 Web 技术创建桌面 GUI 会给您的应用程序带来大量不必要的复杂性。

  • 使用 HTML 和 CSS 创建用户界面既困难又耗时。HTML是一种文档标记语言,CSS是一种文档格式化语言;两者都不太适合创建 GUI。
  • 使用 Web 技术使您的应用程序依赖于用户的 Web 浏览器。太多人仍在使用旧的、有缺陷的浏览器,例如不遵循现代标准的 IE 6 和 7。您将花费数小时甚至数天的时间来尝试追踪仅在某些浏览器上发生的界面错误。
  • 您需要使用 Web 服务器来为您的应用程序提供服务,从而引入另一层复杂性。您的应用程序必须通过受限的 Web 技术与您的界面进行通信,而没有真正的 Web 应用程序的任何好处。

我建议改用桌面 GUI 框架。特别是,我认为wxPython将是最适合您使用的 GUI 框架;它稳定、使用广泛、文档齐全且高度可移植。此外,您可以使用基于 GUI 的界面构建器(例如Boa Constructor或可能的wxGlade)来设计应用程序的用户界面。总之,使用几乎任何桌面 GUI 框架创建应用程序都比使用 Web 技术更容易。