Google 對(duì) Flutter 的目標(biāo)一直是提供一個(gè)可移植的工具包,以構(gòu)建媲美本機(jī)速度運(yùn)行的精美UI,無論您使用的是哪個(gè)平臺(tái)。為了驗(yàn)證該功能,我們首先關(guān)注于Android和iOS移動(dòng)平臺(tái),我們已經(jīng)在Google Play上看到了8萬多個(gè)快速,精美的Flutter應(yīng)用程序。
為了獲得成功,一年多來,我們一直將重點(diǎn)擴(kuò)展到包括桌面級(jí)體驗(yàn),包括針對(duì)Web和桌面操作系統(tǒng)(macOS,Windows和Linux)的體驗(yàn)。這項(xiàng)工作包括對(duì)引擎進(jìn)行廣泛的重構(gòu),以支持桌面樣式的鼠標(biāo)和鍵盤輸入,以及可調(diào)整大小的頂級(jí)窗口。它還包括新的UI功能,可以很好地適應(yīng)桌面,例如Material Density支持和NavigationRail,還可以通過Dart:FFI中的實(shí)驗(yàn)與基礎(chǔ)桌面OS進(jìn)行深度集成,并可以訪問系統(tǒng)菜單欄和標(biāo)準(zhǔn)對(duì)話框。所有這些工作是為了確保除了適合移動(dòng)樣式的體驗(yàn)之外,F(xiàn)lutter還準(zhǔn)備處理功能齊全的全尺寸桌面應(yīng)用程序。
為Flutter平臺(tái)提供動(dòng)力是我們長(zhǎng)期的愿景。我們已經(jīng)在Google上看到了帶有Assistant等產(chǎn)品的清單,所以現(xiàn)在我們很高興看到其他人利用Flutter來支持更多平臺(tái)。今天,我們很高興與全球最流行的臺(tái)式機(jī)Linux發(fā)行版Ubuntu的發(fā)行商Canonical共同宣布Flutter的Linux alpha版本。
為什么要在Linux上使用Flutter?
去年,當(dāng)Google宣布對(duì)Flutter提供桌面級(jí)應(yīng)用程序支持時(shí),Canonical看到了一個(gè)令人振奮的機(jī)會(huì)來進(jìn)行Linux發(fā)行,包括Ubuntu,這是Flutter應(yīng)用程序開發(fā)人員的有吸引力的目標(biāo)平臺(tái)。 Flutter的原生跨平臺(tái)故事正在迅速發(fā)展,Canonical希望成為先鋒。通過在Flutter中啟用桌面Linux支持,Canonical使得應(yīng)用程序開發(fā)人員可以非常輕松地通過Snap Store(Linux應(yīng)用程序商店)為L(zhǎng)inux用戶發(fā)布他們的應(yīng)用程序。通過使Linux成為一流的Flutter平臺(tái),Canonical邀請(qǐng)應(yīng)用程序開發(fā)人員將其應(yīng)用程序發(fā)布給數(shù)百萬Linux用戶,并擴(kuò)大可供他們使用的高質(zhì)量應(yīng)用程序的可用性。
有關(guān)Flutter的許多事情對(duì)于Canonical來說是令人興奮的:
Google最初宣布的Flutter桌面支持宣布是從支持macOS的Alpha版本以及針對(duì)Linux和Windows的計(jì)劃開始的。Canonical 通過組建一支開發(fā)人員團(tuán)隊(duì)與Google的開發(fā)人員合作,將Flutter的最佳體驗(yàn)帶給大多數(shù)Linux發(fā)行版,從而對(duì)Flutter進(jìn)行了重大投資。 Canonical將繼續(xù)與Google合作,以進(jìn)一步改善Linux支持并保持與其他受支持平臺(tái)的功能對(duì)等。
Flokk:證明Flutter已為臺(tái)式機(jī)做好準(zhǔn)備
為了證明Flutter已為臺(tái)式機(jī)做好了準(zhǔn)備,我們與gskinner的設(shè)計(jì)師和開發(fā)人員合作,創(chuàng)建了創(chuàng)新的,精美的Flutter臺(tái)式機(jī)應(yīng)用程序。 Flokk是一個(gè)真實(shí)世界的應(yīng)用程序,可處理真實(shí)世界的數(shù)據(jù),尤其是您的Google聯(lián)系人列表。
此視頻地址:https://www.youtube.com/watch?time_continue=120&v=cTFJcq7UTRY&feature=emb_logo
除了能夠管理您的聯(lián)系人(包括搜索聯(lián)系人,添加新聯(lián)系人和編輯現(xiàn)有聯(lián)系人)之外,F(xiàn)lokk還使您可以將GitHub和Twitter處理與您的聯(lián)系人信息。
GitHub和Twitter通知的顯示將您的聯(lián)系人變成您自己的個(gè)人社交網(wǎng)絡(luò)。而且,如果您在Flokk Contacts中沒有看到您喜歡的社交網(wǎng)絡(luò),那么好消息是Flokk是完全開源的,因此您可以提交PR來添加您喜歡的。
除了在社交空間中進(jìn)行創(chuàng)新外,F(xiàn)lokk還使用Flutter功能使外觀看起來很棒。僅作為一個(gè)示例,深色主題不僅可以切換顏色,還可以對(duì)更改進(jìn)行動(dòng)畫處理。
Flokk Contacts應(yīng)用程序背后的創(chuàng)意團(tuán)隊(duì)由Grant Skinner領(lǐng)導(dǎo),他以出色的設(shè)計(jì)和實(shí)施創(chuàng)新的用戶體驗(yàn)而聞名。 Grant曾說過關(guān)于在Linux上使用Flutter:
“構(gòu)建Flokk Contacts應(yīng)用程序非常容易!我們幾乎無需進(jìn)行任何調(diào)整就可以將我們?cè)贔lutter上的所有專業(yè)知識(shí)應(yīng)用于目標(biāo)Linux,并且該應(yīng)用程序運(yùn)行出色。與Canonical團(tuán)隊(duì)合作是一次很棒的經(jīng)歷。他們熱心,投入并熱衷于使Flutter不僅針對(duì)Linux,而且針對(duì)每個(gè)平臺(tái)都變得更好。這是一個(gè)了不起的項(xiàng)目,我很高興能夠使用Flutter定位另一個(gè)主要的操作系統(tǒng)?!?—Grant Skinner
如果您想在Linux機(jī)器上使用Flokk應(yīng)用,則可以在GitHub上下載最新版本。或者,如果您正在快速運(yùn)行,則可以從Snap Store下載Flokk應(yīng)用。
在Linux上輕松安裝Flutter
現(xiàn)在,您已經(jīng)了解了Flutter在桌面類應(yīng)用程序(尤其是Linux)上的運(yùn)行情況,您將希望使其在自己的Linux機(jī)器上運(yùn)行。為使操作盡可能簡(jiǎn)單,我們很高興在Snap Store中提供Linux版Flutter SDK。 Flutter SDK快照提供了在您喜歡的Linux發(fā)行版上開發(fā)Flutter應(yīng)用程序所需的一切。無需安裝大量開發(fā)依賴項(xiàng);只需安裝Flutter SDK快照和您最喜歡的IDE,便擁有了創(chuàng)建,構(gòu)建和發(fā)布Linux應(yīng)用程序所需的一切。
例如,如果您想開始為L(zhǎng)inux開發(fā)Flutter應(yīng)用程序,并且您選擇的IDE是Visual Studio Code,那么這就是您在Linux終端上需要做的一切:
$ snap install --classic flutter $ snap install --classic code $ code --install-extension dart-code.flutter
如果您還想使用Linux開發(fā)移動(dòng)應(yīng)用程序,則可以通過安裝Android SDK或Android Studio(包括Android SDK)來實(shí)現(xiàn)。有關(guān)Flutter SDK的更多信息,請(qǐng)?jiān)L問https://snapcraft.io/flutter
適用于Linux桌面的Flutter
在Linux機(jī)器上安裝Flutter SDK之后,要構(gòu)建桌面應(yīng)用程序,您需要升級(jí)到Flutter開發(fā)人員或主渠道。然后啟用Linux桌面支持:
$ flutter channel dev $ flutter upgrade $ flutter config --enable-linux-desktop
現(xiàn)在,當(dāng)您創(chuàng)建一個(gè)新的Flutter項(xiàng)目時(shí),您將獲得一個(gè)linux子目錄,該目錄可讓您在Linux桌面上運(yùn)行該應(yīng)用程序:
$ flutter create counter $ cd counter $ flutter run -d linux
您將獲得一個(gè)運(yùn)行在Flutter上且運(yùn)行于最新穩(wěn)定版本GTK +上的閃亮的Linux新應(yīng)用程序。如果您有一個(gè)現(xiàn)有的Flutter項(xiàng)目,并且希望在啟用Linux之后向其添加Linux支持,則可以添加linux子目錄,如下所示:
$ cd my_flutter_app $ flutter create .
這將使用需要在Linux桌面上構(gòu)建和運(yùn)行Flutter應(yīng)用程序的Runner項(xiàng)目創(chuàng)建linux子目錄。
從Flutter訪問Linux中的本機(jī)代碼
除了通過編寫Dart來創(chuàng)建Flutter小部件來支持桌面之外,您的Linux桌面應(yīng)用還可以使用平臺(tái)渠道或C / C ++的Dart外部功能接口訪問所有本機(jī)Linux?;蛘撸绻胫貜?fù)使用現(xiàn)有代碼,則可以在pub.dev,Dart和Flutter的程序包管理器網(wǎng)站上找到該代碼。在pub.dev上可以找到的大多數(shù)軟件包都是純Dart的,大多數(shù)都可以在Linux應(yīng)用程序中正常工作。有些軟件包(稱為插件)中包含特定于一個(gè)或多個(gè)平臺(tái)的本機(jī)代碼。作為此版本的一部分,我們?cè)趐ub.dev上發(fā)布了三個(gè)使用Linux本機(jī)功能的插件:
您可以在應(yīng)用程序中使用這些插件中的每個(gè)插件,并作為如何從Flutter代碼本地訪問Linux的示例,例如 Linux implementation of url_launcher。
部署到 Snap Store
要將Flutter應(yīng)用程序部署到Snap Store,首先需要安裝Snapcraft,該工具將用于快速構(gòu)建和發(fā)布應(yīng)用程序:
$ sudo snap install snapcraft --classic
要驅(qū)動(dòng)Snapcraft工具,您需要在應(yīng)用程序的項(xiàng)目目錄中創(chuàng)建一個(gè)snapcraft.yaml文件。例如,這是Flokk的snapcraft.yaml文件:
name: flokk-contacts
version: 1.0.1
summary: Flokk Contacts
description: A fresh and modern Google Contacts manager that integrates with GitHub and Twitter.
confinement: strict
base: core18
grade: stable
apps:
flokk-contacts:
command: flokk-contacts
extensions: [flutter-master]
plugs:
- network
parts:
flokk-contacts:
source: .
plugin: flutter
flutter-target: lib/main.dart # app's main entry-point file
現(xiàn)在,在帶有snapcraft.yaml文件的目錄中,您可以運(yùn)行snapcraft來構(gòu)建應(yīng)用程序的快照。
$ snapcraft
如果一切順利,這將在您當(dāng)前的工作目錄中生成一個(gè)文件,例如flokk-contacts_1.0.1_amd64.snap。
設(shè)置好要在Snap Store中發(fā)布的帳戶后,即可發(fā)布snap:
$ snapcraft login
$ snapcraft register flokk-contacts
$ snapcraft upload flokk-contacts_1.0.1_amd64.snap --release edge
此命令會(huì)將應(yīng)用程序上載到Snap Store,并嘗試將其發(fā)布到邊緣通道。在邊緣通道中發(fā)布應(yīng)用程序后,可以通過Snap Store Desktop客戶端或使用命令行來安裝它:
$ snap install --edge flokk-contacts
有關(guān)構(gòu)建第一個(gè)快照并將其發(fā)布在Snap Store中的更多詳細(xì)信息,請(qǐng)參閱 https://snapcraft.io/first-snap 以獲取指導(dǎo)教程。
Flutter Linux桌面案例
Flokk應(yīng)用程序是針對(duì)Linux桌面的真實(shí)Flutter應(yīng)用程序的絕佳示例。對(duì)于更簡(jiǎn)單的示例,您可以查看照片搜索應(yīng)用程序,該應(yīng)用程序還專門用于展示桌面功能。
Photo Search是一個(gè)簡(jiǎn)單的在線照片搜索應(yīng)用程序,它使用多個(gè)插件來訪問本機(jī)平臺(tái)功能,同時(shí)支持macOS和Linux。
對(duì)于帶有分步說明的示例Linux桌面應(yīng)用程序,我建議編寫Write Flutter桌面應(yīng)用程序代碼實(shí)驗(yàn)室,該教程將指導(dǎo)您使用OAuth和GraphQL在Flutter中構(gòu)建GitHub客戶端。
對(duì)于一個(gè)功能更全面的應(yīng)用程序,該應(yīng)用程序可以使用Flutter的更多表面積并提供幾個(gè)小程序,我推薦Flutter Gallery,該軟件去年進(jìn)行了重新設(shè)計(jì),以支持臺(tái)式機(jī)和移動(dòng)設(shè)備。如果您希望看到它的實(shí)際效果,也可以在Snap Store中查看。
Thorsten Lorenz制作的一款名為batufo的多人游戲是另一個(gè)展示Flutter有趣之處的桌面應(yīng)用程序。游戲以美麗的背景為背景,使來自世界各地的玩家可以實(shí)時(shí)相互競(jìng)爭(zhēng)。
Thorsten一直在開發(fā)該游戲,以支持多個(gè)Flutter平臺(tái),包括Linux,macOS,Android和iOS。如果您想了解他的工作方式并了解未來的更新,那么他可以將他的編碼會(huì)議作為視頻提供,而將代碼提供給GitHub。要從Linux安裝游戲,您可以從Snap Store中將其下拉。
摘要
通過此Alpha版本以及Google與Canonical之間的緊密合作,Linux開發(fā)人員可以為其選擇的操作系統(tǒng)獲得Flutter支持。通過快照安裝Flutter SDK。使用Visual Studio Code或Android Studio在Linux上構(gòu)建和測(cè)試您的桌面應(yīng)用程序。將您的應(yīng)用程序部署到Snap Store。有關(guān)最新詳細(xì)信息,請(qǐng)參見flutter.dev上的桌面頁面。最重要的是,確保提供反饋,以便我們能夠繼續(xù)努力為每個(gè)受支持的Flutter平臺(tái)做最好的Flutter。
來自Canonical團(tuán)隊(duì)的Linux Flutter,對(duì)于我們的夢(mèng)想是向前邁出了一大步,無論您將目標(biāo)對(duì)準(zhǔn)哪個(gè)平臺(tái),F(xiàn)lutter都是構(gòu)建應(yīng)用程序的最佳方法。針對(duì)臺(tái)式機(jī)的定位使得Flutter引擎更加適應(yīng)Google本身無法直接支持的長(zhǎng)尾設(shè)備,但我們計(jì)劃為此繼續(xù)建立合作伙伴關(guān)系并實(shí)現(xiàn)生態(tài)系統(tǒng)。
無論哪里的設(shè)備都需要快速,精美的應(yīng)用程序,這就是我們希望Flutter成為的地方。
標(biāo)簽:96 鹽城 棗莊 常州 渭南 東莞 日照 克拉瑪依
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Canonical通過Flutter啟用Linux桌面應(yīng)用程序(推薦)》,本文關(guān)鍵詞 Canonical,通過,Flutter,啟用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。