目標
BeeWare 專案的最終目標:能夠為行動和 軟體所做的事情一樣。 軟件所做的事情一樣 - 為用戶提供一套工具和庫 讓使用者能夠開發豐富的原生使用者介面,並部署到他們的裝置上。 部署到他們的設備上。這包括
- 讓 Python 可以在不同裝置上執行的工具、
- 打包 Python 專案使其能在這些裝置上執行的工具、
- 存取裝置原生 widget 與功能的函式庫、
- 協助開發、除錯、分析這些專案的工具。
我們的目標是讓這套工具簡單易用,讓新手也能在類似 Django Girls 的環境中使用。 新手在類似 Django Girls 的環境中使用;但功能又夠強大,可以用來推動下一個 Instagram、Pinterest 或 強大到可以用來推動下一個 Instagram、Pinterest 或 Disqus。
最重要的是,它的目標是以開放原始碼社群的方式完成這一切。 開放原始碼開發程序已證明是開發強大且可靠軟體的最 開放原始碼開發程序已被證明是開發強大且可靠軟體的最可靠方式,而且 任何人都可以存取軟體,這意味著每個人都可以從同一套優異的工具開始。 任何人都可以存取軟體的事實,意味著每個人都可以從同一套優異的工具開始,不論是專家或熱情的業餘人士。
Python 無處不在
現代運算專案不能忽略過去 10 年來運算領域最大的發展。 的發展。Python 以自己是一種 跨平台語言而自豪。10 年前,跨平台意味著 適用於 Windows、macOS 和 Linux。如今,行動運算 更加重要。儘管如此,在行動平台上的 Python 程式設計在行動平台上並沒有太多好的選擇,而且跨平台的行動編碼 仍然難以實現。
BeeWare 將行動和其他新興平台(如手錶和機頂盒)視為計算生態系統中的一等公民。 機頂盒)作為計算生態系統中的一等公民--因為如果人們擁有這些設備,為什麼他們不可以使用BeeWare呢? 因為如果人們擁有這些裝置,為什麼他們不可以 用 Python 寫軟體。
各地的原住民
使用主題很容易實現跨平台。但是,很容易 發現使用主題建立的應用程式 - 這些應用程式的 它們的行為與其他應用程式不太一樣。小工具看起來不太*對、 或者在 OS X 應用程式的視窗上有菜單列。主題可以很 但總會有一些蛛絲馬跡。
除此之外,原生的 widget 總是比主題通用的 widget 更快。畢竟,您使用的是經過調整和最佳化的原生系統功能,而不是在其上層疊加的繪圖引擎。 經過調整和最佳化的原生系統能力,而不是在一般 widget 上層疊的繪圖引擎。 通用 widget 之上的繪圖引擎。
主題也錯過了許多原生平台的無障礙優點。 現代作業系統的作者花了很多時間為行動不便、視力或認知能力受損的人調整功能。 行動不便、視力或認知能力受損的人。如果您使用原生小工具 通常可以免費獲得這些功能。如果您使用 主題,您也必須重新實作負擔能力。
BeeWare 使用原生小工具和原生功能,而不是使用 基於主題的應用程式開發方法。
Python 本機
BeeWare 也是一個不折不扣的「Python 第一」架構。我們喜歡 Python。我們喜歡它的外觀和工作方式。如果 Python 在特定的平台上作為第一流的選項,我們會盡一切所需讓 Python 我們會盡一切所需讓 Python 成為一種開發語言。 語言。當我們有機會將 Python 成語用於 API 或設計時,我們就會這樣做。這意味著我們要 使用產生器、上下文管理器、yield from 異步呼叫等等,以提供最好的 跨平台應用程式開發的 Python-native API。
我們也放眼未來 - 這表示我們完全支援 Python 3。 完全支援。
原生經驗
任何工具的使用體驗都是從安裝過程開始的。 BeeWare 「原生無處不在 」理念的一部分就是採用適當的 原生機制進行安裝。如果您使用的是用戶空間工具、 如果您使用的是用戶空間工具,它應該作為一個安裝包呈現給您。 安裝任何其他工具的方式一樣 - 無論是透過應用程式商店、安裝程式或 商店、安裝程式或簡單的可執行套件。終端使用者不應該 知道您是用 Python 寫的應用程式。
但如果您使用的是開發者工具或函式庫,那麼它應該 與您的開發環境整合。既然我們使用 Python,這表示您應該可以使用 pip install 將它安裝到您的虛擬 使用 pip install 將其安裝到您的虛擬環境中,僅此而已。 更多。不需要 C 擴充套件、不需要編譯器、不需要設定系統路徑或 環境變數 - 只要安裝它,匯入它,然後開始編寫 (或執行)程式碼。