自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flet-基于Flutter的Python跨平臺(tái)框架

開發(fā) 前端
Flet是一個(gè)框架,允許用你喜歡的語(yǔ)言構(gòu)建交互式多用戶Web,桌面和移動(dòng)應(yīng)用程序,而無(wú)需擁有前端開發(fā)的經(jīng)驗(yàn)。

昨天剛發(fā)了一篇Python桌面開發(fā)庫(kù)大全的微頭條,就被同事安利了Flet這個(gè)庫(kù)。這是一個(gè)非常新的庫(kù),今年6月份才發(fā)布的第一個(gè)版本,雖然很新,但是它背靠巨人-Flutter,可以讓我們使用Python開發(fā)全平臺(tái)軟件,雖然目前還不支持全平臺(tái),但是根據(jù)作者的計(jì)劃,F(xiàn)lutter支持的,它以后都會(huì)支持的,昨天簡(jiǎn)單學(xué)習(xí)了一下,真的非常棒,把它推薦給大家。后面我們可以用它做一系列東西。

什么是Flet

Flet是一個(gè)框架,允許用你喜歡的語(yǔ)言構(gòu)建交互式多用戶Web,桌面和移動(dòng)應(yīng)用程序,而無(wú)需擁有前端開發(fā)的經(jīng)驗(yàn)。

主要特點(diǎn)

在幾分鐘內(nèi)從想法到應(yīng)用程序

為您的團(tuán)隊(duì),周末項(xiàng)目,數(shù)據(jù)輸入表單,kiosk應(yīng)用程序或高保真原型提供的內(nèi)部工具或儀表板 - Flet是一個(gè)理想的框架,可以快速破解一個(gè)美觀的交互式應(yīng)用程序,為一組用戶提供服務(wù)。

簡(jiǎn)單的架構(gòu)

沒有更復(fù)雜的架構(gòu)與JavaScript前端,REST API后端,數(shù)據(jù)庫(kù),緩存等。使用Flet,您只需在Python中編寫一個(gè)整體式有狀態(tài)應(yīng)用程序,即可獲得多用戶實(shí)時(shí)單頁(yè)應(yīng)用程序(SPA)。

包括電池

要開始使用 Flet 進(jìn)行開發(fā),您只需要自己喜歡的 IDE 或文本編輯器。沒有 SDK,沒有成千上萬(wàn)的依賴項(xiàng),沒有復(fù)雜的工具 - Flet 具有內(nèi)置的 Web 服務(wù)器,其中包含托管資產(chǎn)和桌面客戶端。

由Flutter提供動(dòng)力

Flet UI是用Flutter構(gòu)建的,所以你的應(yīng)用程序看起來(lái)很專業(yè),可以交付到任何平臺(tái)。Flet通過將較小的“小部件”組合成具有命令式編程模型的即用型“控件”來(lái)簡(jiǎn)化Flutter模型。

語(yǔ)言無(wú)關(guān)

Flet 與語(yǔ)言無(wú)關(guān),因此團(tuán)隊(duì)中的任何人都可以用自己喜歡的語(yǔ)言開發(fā) Flet 應(yīng)用程序。Python已經(jīng)得到支持,Go,C#和其他產(chǎn)品緊隨其后。

交付到任何設(shè)備

將 Flet 應(yīng)用部署為 Web 應(yīng)用,并在瀏覽器中查看它。將其打包為適用于Windows,macOS和Linux的獨(dú)立桌面應(yīng)用程序。將其作為PWA安裝在移動(dòng)設(shè)備上,或通過適用于iOS和Android的Flet應(yīng)用程序查看。

安裝使用

pip install flet

一個(gè)簡(jiǎn)單的計(jì)數(shù)示例

import flet
from flet import IconButton, Page, Row, TextField, icons
def main(page: Page):
page.title = "Flet counter example"
page.vertical_alignment = "center"

txt_number = TextField(value="0", text_align="right", width=100)

def minus_click(e):
txt_number.value = int(txt_number.value) - 1
page.update()

def plus_click(e):
txt_number.value = int(txt_number.value) + 1
page.update()

page.add(
Row(
[
IconButton(icons.REMOVE, on_click=minus_click),
txt_number,
IconButton(icons.ADD, on_click=plus_click),
],
alignment="center",
)
)

flet.app(target=main)

運(yùn)行程序:

python counter.py

如何我們希望它只運(yùn)行在瀏覽器端,可以如下配置:

flet.app(target=main, view=flet.WEB_BROWSER)

默認(rèn)是運(yùn)行桌面端的,但是在我們啟動(dòng)的時(shí)候,會(huì)在隨機(jī)端口啟動(dòng)一個(gè)web服務(wù)器,也可以在web端進(jìn)行訪問

這是官方給的簡(jiǎn)單示例,我們來(lái)寫一個(gè)稍微復(fù)雜一點(diǎn)的:計(jì)算器。

頁(yè)面代碼比較多,但是挺簡(jiǎn)單的,就不貼了,可以看到即使用原生的控件拼出來(lái)頁(yè)面效果也還不錯(cuò),比其他的Python桌面開發(fā)庫(kù)要好看的多。雖然它沒有QT那種界面設(shè)計(jì)器,通過拖拖拽拽就能生成頁(yè)面,但是它的布局方式與前端一樣,因此對(duì)于會(huì)前端的開發(fā)人員來(lái)說(shuō)非常熟悉,使用起來(lái)也很方便。

總結(jié)

目前這個(gè)項(xiàng)目還只是一個(gè)BETA版的,官方文檔也不夠完善,但是用來(lái)開發(fā)一些基礎(chǔ)的軟件還是沒問題的。尤其是基于Flutter,不需要像Electron一樣打包c(diǎn)hromium內(nèi)核進(jìn)去。等后期接入多種語(yǔ)言后,將會(huì)給很多程序員提供一個(gè)優(yōu)秀的跨平臺(tái)開發(fā)方式,不用像Electron和Flutter一樣需要特定的開發(fā)語(yǔ)言才能上手,期待它更加完善。后面我們可以多嘗試一些小工具來(lái)練練手。

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2023-02-09 07:15:52

開發(fā)FlutterReact

2011-07-06 11:16:32

Unity3DCocos2dSparrow Fra

2025-02-18 10:30:59

2024-05-22 09:54:19

2011-08-22 10:00:13

HTML 5

2019-10-25 10:42:51

框架Web開發(fā)

2014-07-08 09:37:28

跨平臺(tái)Webhtml5

2021-02-01 17:29:19

FlutterHello World開發(fā)

2009-11-12 16:17:13

.NET

2012-03-16 13:43:29

2010-10-09 15:01:27

PhoneGapiPhoneAndroid

2012-01-12 15:36:12

響應(yīng)式Web設(shè)計(jì)

2011-08-25 08:59:58

HTML 5

2011-09-05 11:27:17

Sencha Touc框架HTML5

2024-12-06 15:07:42

Python開發(fā)

2023-03-29 09:52:29

FlutterUI 工具包

2019-03-25 15:14:19

Flutter馬蜂窩開發(fā)

2025-01-22 10:27:53

開發(fā)框架

2025-02-17 07:20:00

Flutter 3Flutter開發(fā)

2021-06-14 09:54:46

框架開發(fā)應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)