在Google的推廣下,很多人知道了Flutter在前端的戰(zhàn)斗力。
Flutter是一個開源的UI工具包,可以用于構建跨平臺的移動應用程序、Web應用程序和桌面應用程序。與許多其他跨平臺解決方案不同,F(xiàn)lutter不使用WebView或本機UI組件來實現(xiàn)跨平臺的功能,而是使用其自己的設計風格來構建自定義的用戶界面。
但在Google主推的技術棧中,Dart是Flutter的主力編程語言。
Dart具有許多現(xiàn)代編程語言的特性,例如靜態(tài)類型檢查、異步編程和擴展方法,可以在Flutter中廣泛使用。
如果大家懂Dart當然最好,但如果一個Python開發(fā)者想用Flutter做好看的界面,他要怎么做呢?
Flet就是在Python中構建Flutter應用最快的方法。
它使開發(fā)人員可以用Python輕松構建實時網(wǎng)絡,移動和桌面應用程序,無需前端經(jīng)驗。
本教程用Flet+Python創(chuàng)建了現(xiàn)代登錄表單??梢宰尨蠹乙桓QPython在Flet的加持下能有怎樣的發(fā)揮。其中的字段陰影、動畫和狀態(tài)控制……都使UI和UX更具吸引力。

之前的Flet 桌面應用程序的架構

在桌面上運行 Flet 程序涉及三個進程協(xié)同工作:
Python runtime()—運行 Python 腳本的解釋器。這是從命令行開始的,Python 啟動 Fletd 服務器并通過 WebSockets 連接它。(Python3)
Fletd server() —用 Go 編寫的 Flet Web 服務器,偵聽 TCP 端口。Fletd 保存所有用戶會話的狀態(tài)(對于桌面應用程序,只有一個會話),并在 Python 程序和 Flet 客戶端之間調度頁面更新和用戶生成的事件。(fletd)
Flet client()—用 Flutter 編寫并在本機操作系統(tǒng)窗口中顯示 UI 的桌面應用程序。Flet 客戶端通過 WebSockets 連接到 Fletd 服務器。(flet)
新的 Flet 桌面架構
Flet桌面應用架構可以通過用Python編寫的“存根”替換Fletd并通過套接字(Windows)和命名管道(macOS和Linux)與Flet桌面客戶端通信。

Flet 移動架構
移動應用程序在非常嚴格的環(huán)境中運行,存在許多限制。例如,在 iOS 上,應用無法生成新進程。換句話說,F(xiàn)let Flutter應用程序不能只是啟動“python.exe”并將腳本作為參數(shù)傳遞。
幸運的是,Python 可以作為 C 庫嵌入到另一個應用程序中,而 Dart(編寫 Flutter 應用程序的語言)允許通過FFI(外部函數(shù)接口)調用 C 庫。
此外,雖然Android允許加載動態(tài)鏈接的庫,但iOS需要將所有庫靜態(tài)鏈接到應用程序可執(zhí)行文件中。
Flet 移動架構如圖所示:

Python 運行時將與 Flutter 客戶端應用程序靜態(tài)或動態(tài)鏈接,并通過 FFI 和命名管道調用。
不過,在移動設備上運行Python會有一些限制。比如要求使用“純”Python模塊,或專門為移動ARM64架構編譯的本機代碼模塊。
你只需要打開命令行,然后輸入:
pip install flet
就可以擁有這個精美的前端框架了。
審核編輯 :李倩
-
編程語言
+關注
關注
10文章
1965瀏覽量
39892 -
應用程序
+關注
關注
38文章
3346瀏覽量
60428 -
python
+關注
關注
58文章
4889瀏覽量
90330
原文標題:用Flet+Python寫個美觀的登錄程序
文章出處:【微信號:IoT前哨站,微信公眾號:IoT前哨站】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
用Verilog HDL寫個蜂鳴器小程序
用Shell或者Python寫個立體三角形
labview中用python節(jié)點實現(xiàn)登錄微信獲取好友列表,登錄怎么掃碼?
用TensorFlow寫個簡單的神經(jīng)網(wǎng)絡
Python可以應用的地方有哪些
使用python開發(fā)windows的應用程序詳細說明
用Python完成鴻蒙開發(fā)板外設控制
用Python寫SecureCRT批量登錄/巡檢網(wǎng)絡設備腳本
如何在Windows下使用 Supervisor 重新拉起崩潰的Python程序
如何快速開發(fā)出功能強大、界面美觀的GUI 應用程序
用Flet+Python寫個美觀的登錄程序
評論