Translate

用beeware開發現跨平台python Flask +webview APP

BeeWare主張是Write Python. Run Anywhere. 提供了一係列工具帮助大家方便地用python寫出跨平台APP!
這裡主要是分享我在Windows 11下用Beeware 的工具Briefcase的使用心得。
首先Briefcase必須左python 3.8 下才能够正常工作,建議是在虛擬環境中運行。過程自己去看 Tutorial
跟著做很快就做出了[Hello World],也能成功地在Android 和Windows 上安裝和執行!但不要以為已經成功了,只是証明了你會copy & paste ,play商店上已經有一個BeeWare Hello World 了🤣。
首先要探索一下他的可能性,過程也是重新打包了超過10次,大部份時間都浪費在等待上。最後決定只使用Toga中的webview功能,在手機上把flask的部份完成,再打包一次就完成開發,效率高很多。
經過初步探索,發現大部份的想法都有可能實現,他已經都你解決了90%以上的問題,剩下的還是要靠自己去看手冊研究一下,如果你安全不明白他是如何運作,出了問題也是很難解決。
想要各種權限的話就要去看各平台的手冊,android在AndroidManifest.xml 先做聲明,然後引導使用者去授權介面,建議還是先看手冊,搞不掂再上網找提示----Android 中的權限
只是加了pandas,flask两個庫,打包一次要8分鐘😭
requirements 要自己在pyproject.toml中手動添加,他會帮你自動下載和打包😘
把代碼直接放進去不一定可以以運作,在能工作的基礎上研究一下他的內部機制,向想法靠近。
python部分首先執行的是__main__.py,不用管他內部如何工作了,先在子進程中運行Flask中的app1,再在運行Toga 的webview .
經過一段時間的探索,做出了初步成品,打包進去的flask,pandas 庫可以以常運作,字典的資料db文件超過700MB,沒有打包進app ,而是通過在 AndroidManifest.xml中添加管理所有檔案權限再訪問sdcard中的db文件。
能夠取得手機各種權限,又有萬能的python+Html+javasctipt ,各種有趣的想都有可能高效率地在手機上開發出來。人工智能的包也是可能加進去.
現在搞開發的不須要精通所有語言,但必須有一門語言是熟練的,那是你整合各種資源的必要工具,然後就是不要害怕遇到問題,真正有用的知識大都是在解決實際問題中學到的。
介面也美化了一下,用HTML+javasctipt+Flask也是很容易做出想要的介面
字典數據是簡體中文的,再做一次修改,重新打包,用opencc庫將輸出資料轉成繁體中文😉
icon也不是小蜜蜂了

沒有留言:

發佈留言