濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序(推薦)

Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序(推薦)

熱門標(biāo)簽:網(wǎng)站上插入地圖標(biāo)注內(nèi)容 重慶營(yíng)銷外呼系統(tǒng)排名 地圖標(biāo)注企業(yè)名稱侵權(quán)案件 繽客網(wǎng)注冊(cè)時(shí)地圖標(biāo)注出不來(lái) 工廠位置地圖標(biāo)注 鶴壁電銷外呼系統(tǒng)怎么安裝 企業(yè)400電話辦理哪正規(guī) 400電話辦理哪家好廠商 地圖標(biāo)注需要現(xiàn)場(chǎng)嗎

Google 對(duì) Flutter 的目標(biāo)一直是提供一個(gè)可移植的工具包,以構(gòu)建媲美本機(jī)速度運(yùn)行的精美UI,無(wú)論您使用的是哪個(gè)平臺(tái)。為了驗(yàn)證該功能,我們首先關(guān)注于Android和iOS移動(dòng)平臺(tái),我們已經(jīng)在Google Play上看到了8萬(wàn)多個(gè)快速,精美的Flutter應(yīng)用程序。

為了獲得成功,一年多來(lái),我們一直將重點(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,還可以通過(guò)Dart:FFI中的實(shí)驗(yàn)與基礎(chǔ)桌面OS進(jìn)行深度集成,并可以訪問(wè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來(lái)支持更多平臺(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ì)來(lái)進(jìn)行Linux發(fā)行,包括Ubuntu,這是Flutter應(yīng)用程序開(kāi)發(fā)人員的有吸引力的目標(biāo)平臺(tái)。 Flutter的原生跨平臺(tái)故事正在迅速發(fā)展,Canonical希望成為先鋒。通過(guò)在Flutter中啟用桌面Linux支持,Canonical使得應(yīng)用程序開(kāi)發(fā)人員可以非常輕松地通過(guò)Snap Store(Linux應(yīng)用程序商店)為L(zhǎng)inux用戶發(fā)布他們的應(yīng)用程序。通過(guò)使Linux成為一流的Flutter平臺(tái),Canonical邀請(qǐng)應(yīng)用程序開(kāi)發(fā)人員將其應(yīng)用程序發(fā)布給數(shù)百萬(wàn)Linux用戶,并擴(kuò)大可供他們使用的高質(zhì)量應(yīng)用程序的可用性。

有關(guān)Flutter的許多事情對(duì)于Canonical來(lái)說(shuō)是令人興奮的:

  • 快速發(fā)展的應(yīng)用程序開(kāi)發(fā)人員生態(tài)系統(tǒng)
  • 多平臺(tái)支持
  • 高度優(yōu)化的本機(jī)應(yīng)用程序
  • 現(xiàn)代的UI框架,支持聲明式,反應(yīng)式和可組合的小部件
  • 使用Visual Studio Code,Android Studio和IntelliJ的豐富開(kāi)發(fā)平臺(tái)

Google最初宣布的Flutter桌面支持宣布是從支持macOS的Alpha版本以及針對(duì)Linux和Windows的計(jì)劃開(kāi)始的。Canonical 通過(guò)組建一支開(kāi)發(fā)人員團(tuán)隊(duì)與Google的開(kāi)發(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ì)師和開(kāi)發(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中沒(méi)有看到您喜歡的社交網(wǎng)絡(luò),那么好消息是Flokk是完全開(kāi)源的,因此您可以提交PR來(lái)添加您喜歡的。

除了在社交空間中進(jìn)行創(chuàng)新外,F(xiàn)lokk還使用Flutter功能使外觀看起來(lái)很棒。僅作為一個(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曾說(shuō)過(guò)關(guān)于在Linux上使用Flutter:

“構(gòu)建Flokk Contacts應(yīng)用程序非常容易!我們幾乎無(wú)需進(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ā)行版上開(kāi)發(fā)Flutter應(yīng)用程序所需的一切。無(wú)需安裝大量開(kāi)發(fā)依賴項(xiàng);只需安裝Flutter SDK快照和您最喜歡的IDE,便擁有了創(chuàng)建,構(gòu)建和發(fā)布Linux應(yīng)用程序所需的一切。

例如,如果您想開(kāi)始為L(zhǎng)inux開(kāi)發(fā)Flutter應(yīng)用程序,并且您選擇的IDE是Visual Studio Code,那么這就是您在Linux終端上需要做的一切:

$ snap install --classic flutter
$ snap install --classic code
$ code --install-extension dart-code.flutter

如果您還想使用Linux開(kāi)發(fā)移動(dòng)應(yīng)用程序,則可以通過(guò)安裝Android SDK或Android Studio(包括Android SDK)來(lái)實(shí)現(xiàn)。有關(guān)Flutter SDK的更多信息,請(qǐng)?jiān)L問(wèn)https://snapcraft.io/flutter

適用于Linux桌面的Flutter

在Linux機(jī)器上安裝Flutter SDK之后,要構(gòu)建桌面應(yīng)用程序,您需要升級(jí)到Flutter開(kāi)發(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訪問(wèn)Linux中的本機(jī)代碼

除了通過(guò)編寫Dart來(lái)創(chuàng)建Flutter小部件來(lái)支持桌面之外,您的Linux桌面應(yīng)用還可以使用平臺(tái)渠道或C / C ++的Dart外部功能接口訪問(wèn)所有本機(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ī)功能的插件:

  • url_launcher: 在提供的URL上啟動(dòng)默認(rèn)瀏覽器
  • shared_preferences: 應(yīng)用會(huì)話之間共享的用戶首選項(xiàng)
  • path_provider: 有關(guān)專用目錄的路徑信息,例如下載,圖片等

您可以在應(yīng)用程序中使用這些插件中的每個(gè)插件,并作為如何從Flutter代碼本地訪問(wèn)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來(lái)構(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)用程序后,可以通過(guò)Snap Store Desktop客戶端或使用命令行來(lái)安裝它:

$ 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è)插件來(lái)訪問(wèn)本機(jī)平臺(tái)功能,同時(shí)支持macOS和Linux。

對(duì)于帶有分步說(shuō)明的示例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)用程序。游戲以美麗的背景為背景,使來(lái)自世界各地的玩家可以實(shí)時(shí)相互競(jìng)爭(zhēng)。

Thorsten一直在開(kāi)發(fā)該游戲,以支持多個(gè)Flutter平臺(tái),包括Linux,macOS,Android和iOS。如果您想了解他的工作方式并了解未來(lái)的更新,那么他可以將他的編碼會(huì)議作為視頻提供,而將代碼提供給GitHub。要從Linux安裝游戲,您可以從Snap Store中將其下拉。

摘要

通過(guò)此Alpha版本以及Google與Canonical之間的緊密合作,Linux開(kāi)發(fā)人員可以為其選擇的操作系統(tǒng)獲得Flutter支持。通過(guò)快照安裝Flutter SDK。使用Visual Studio Code或Android Studio在Linux上構(gòu)建和測(cè)試您的桌面應(yīng)用程序。將您的應(yīng)用程序部署到Snap Store。有關(guān)最新詳細(xì)信息,請(qǐng)參見(jiàn)flutter.dev上的桌面頁(yè)面。最重要的是,確保提供反饋,以便我們能夠繼續(xù)努力為每個(gè)受支持的Flutter平臺(tái)做最好的Flutter。

來(lái)自Canonical團(tuán)隊(duì)的Linux Flutter,對(duì)于我們的夢(mèng)想是向前邁出了一大步,無(wú)論您將目標(biāo)對(duì)準(zhǔn)哪個(gè)平臺(tái),F(xiàn)lutter都是構(gòu)建應(yīng)用程序的最佳方法。針對(duì)臺(tái)式機(jī)的定位使得Flutter引擎更加適應(yīng)Google本身無(wú)法直接支持的長(zhǎng)尾設(shè)備,但我們計(jì)劃為此繼續(xù)建立合作伙伴關(guān)系并實(shí)現(xiàn)生態(tài)系統(tǒng)。

無(wú)論哪里的設(shè)備都需要快速,精美的應(yīng)用程序,這就是我們希望Flutter成為的地方。

到此這篇關(guān)于Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序的文章就介紹到這了,更多相關(guān)Flutter啟用Linux桌面應(yīng)用程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:96 鹽城 棗莊 常州 渭南 東莞 日照 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序(推薦)》,本文關(guān)鍵詞  Canonical,通過(guò),Flutter,啟用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序(推薦)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Canonical通過(guò)Flutter啟用Linux桌面應(yīng)用程序(推薦)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    澄迈县| 永丰县| 阿克苏市| 营山县| 泸州市| 桂东县| 平阴县| 象山县| 南华县| 万年县| 宜良县| 濉溪县| 岳普湖县| 潜江市| 天祝| 塔河县| 会同县| 安康市| 包头市| 象山县| 平潭县| 方城县| 平阳县| 海盐县| 清原| 呼图壁县| 巴中市| 博爱县| 瑞金市| 桐庐县| 荃湾区| 谢通门县| 榆树市| 那曲县| 大同县| 普格县| 清苑县| 潼南县| 日土县| 西乌珠穆沁旗| 疏附县|