目标
BeeWare 项目的最终目标:能够为移动和 用户面对的软件,就像 Django 为网络软件所做的一样。 软件所做的事情一样,为用户提供一套工具和库 让他们能够开发丰富的本地用户界面,并将其部署到他们的设备上。 部署到他们的设备上。这包括
- 使 Python 能够在不同设备上运行的工具、
- 打包 Python 项目以便在这些设备上运行的工具、
- 用于访问设备本地 widget 和功能的库、
- 帮助开发、调试、分析这些项目的工具。
我们的目标是,这套工具将足够简单易用,适合 新手在类似 Django Girls 的环境中使用;但又足够强大,可以用来推动下一个 Instagram、Pinterest 或 强大到可以用来推动下一个 Instagram、Pinterest 或 Disqus。
最重要的是,它的目标是作为一个开源社区完成所有这些工作。 开放源代码开发流程已被证明是开发稳健可靠软件的最可靠方式。 的方式,而且任何人都可以访问该软件,这意味着每个人都可以从该软件开始。 任何人都可以访问该软件,这意味着每个人都可以从同一套优秀的工具开始 任何人都可以访问软件,这意味着每个人都可以从同一套优秀的工具开始,无论是专家还是热心的业余爱好者。
Python 无处不在
现代计算项目不能忽视过去 10 年计算领域的最大发展。 的发展。Python 以自己是一种 跨平台语言而自豪。10 年前,跨平台意味着 可用于 Windows、macOS 和 Linux。如今,移动计算 更为重要。尽管如此,在移动平台上进行 在移动平台上进行 Python 编程的好选择并不多,跨平台移动编码 仍然难以实现。
BeeWare 将移动平台和其他新兴平台(如手表和机顶盒)视为计算生态系统中的一等公民。 机顶盒)作为计算生态系统中的一等公民。 因为如果人们拥有了这些设备,为什么不能用 Python 用 Python 编写软件。
各地的原住民
使用主题实现跨平台很容易。不过,很容易 发现使用主题构建的应用程序--它们的 它们的行为与其他应用程序不太一样。小部件看起来不太对、 或者在 OS X 应用程序的窗口上有一个菜单栏。主题可以很 但总会有蛛丝马迹。
此外,本地部件总是比主题通用部件更快。 部件更快。毕竟,你使用的是经过调整和优化的本地系统功能,而不是在其上分层的绘图引擎。 经过调整和优化的本地系统能力,而不是在通用 widget 上分层的绘图引擎。 通用部件。
主题也错过了原生平台的许多可访问性优势。 现代操作系统的作者花费了大量时间为行动不便、视力或认知能力受损的人 现代操作系统的作者花费了大量时间为行动不便、视力或认知能力受损的用户调整功能。如果使用本地 widget 通常可以免费获得这些功能。如果使用 主题的小部件,也必须重新实现这些功能。
BeeWare使用本地部件和本地功能,而不是使用 基于主题的应用程序开发方法。
Python 本机
BeeWare 还是一个毫无保留的 "Python 优先 "框架。我们喜欢 Python我们喜欢它的外观和工作方式。如果 Python 在某一特定平台上作为一流的选项,我们将尽一切必要的努力使 我们会尽一切必要的努力,让 Python 成为一种开发语言。 语言。当我们有机会将 Python 习语用于 API 或设计时,我们就会这样做。这意味着我们将 使用生成器、上下文管理器、yield 从异步调用等等,以便提供最好的 Python-native API。
我们还着眼于未来--这意味着我们完全支持 Python 3 完全支持。
本地经验
任何工具的使用体验都始于安装过程。 BeeWare "原生无处不在 "理念的一部分就是采用适当的 原生机制。如果您使用的是用户空间工具、 则应将其作为一个软件包展示给您,并以与安装其他工具相同的方式进行安装。 安装任何其他工具的方式一样--无论是通过应用程序商店、安装程序 商店、安装程序或简单的可执行文件包。最终用户不应该 知道你是用 Python 编写应用程序的。
但如果您使用的是开发工具或库,那么它应该 集成到你的开发环境中。既然我们使用的是 Python,这意味着您应该能够使用 pip install 将其安装到您的虚拟 使用 pip install 将其安装到虚拟环境中,仅此而已。 更多。不需要 C 扩展,不需要编译器,不需要设置系统路径或 只需安装、导入,然后开始编写(或运行)代码。 (或运行)代码。