kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 20.10 その92 - Ubuntu/CanonicalがFlutterの積極的なサポートへ

UbuntuがFlutterの積極的なサポートへ

「Ubuntu(Canonical)」が「Flutter」の積極的なサポートを表明しました。


  • Flutter and Ubuntu so far

Flutter

「Flutter」は「Google」よって開発されたUIツールキットです。
言い換えればGUIアプリを開発するためのフレームワーク(SDK)です。
現在は「Google」及びコミュニティーによって開発されています。

  • Flutter

「Ubuntu」で著名なUIツールキットと言えば「GTK」や「Qt」ですね。
GUIアプリの開発者から見れば、これらのUIツールキットが競合するUIツールキットになるでしょう。

クロスプラットフォーム

「Flutter」はクロスプラットフォームに対応したフレームワークであり、単一のコードベースから様々なプラットフォーム上で動作するアプリを開発できます。
Webアプリケーションやモバイル向けOS(Android/iOS)だけでなく、デスクトップ向けOS(Linux/macOS/Windows)上で動作するGUIアプリも開発できます。

CanonicalとFlutterの連携

「Google」が「Flutter」でデスクトップアプリのサポートをアナウンスした際、「Canonical」はLinuxデスクトップアプリをサポートし、アプリの開発者が「Flutter」上で動作するアプリを開発できるよう「Google」と連携して取り組んできました。

  • Canonical enables Linux desktop app support with Flutter

この結果アプリの開発者は「Flutter」を利用してアプリを開発し、「Snap Store」を通じてSnapアプリを配布できるようになりました。



アプリの開発者に新たな選択肢を

GUIアプリの開発者は「GTK」や「Qt」など著名なUIツールキットを選択する機会が多いかと思います。
そこに新たに「Flutter」が選択肢として追加されました。

Canonicalが継続的にサポートしていく

新しい仕組みや十分に普及していない仕組みは、持続可能性や将来性含め選択する側からはリスクを感じるかとおもいます。
しかし今後も「Canonical」は継続的に「Google」と連携し、Linuxデスクトップアプリの開発に不足している機能や機能の改善など、「Flutter」のサポートを改善する取り組みを行っていきます。

UIツールキットが異なるとアプリが動作する環境と統一感のないUIが表示されるケースがありますが、この取り組みには「Ubuntu」のデフォルトのアイコンテーマである「Yaru」のサポートなど、アプリが動作する環境と適合するUXを提供するための取り組みも含まれています。

  • yaru

アプリ開発の第一候補に

「Canonical」が開発するモバイル及びデスクトップ向けアプリでは、「Flutter」が第一候補になります。
実際現在開発中の新しいUbuntu Desktopインストーラーでは、「Flutter」が採用されています。

  • 新しいUbuntu Desktopインストーラーのデザイン公開と協力の呼びかけ

Flutterで作られたアプリ

すでにLinux上で動作する「Flutter」で作られたアプリが紹介されています。

Flokk Contacts

「Flokk Contacts」は「Google Contacts」と連携して連絡先を管理するクライアントアプリです。


  • Flokk Contacts

実際に「Flokk Contacts」が「Ubuntu」上で動作する様子は、以下の動画を参照してください。


Photo Search app

「Photo Search app」はオンラインで写真を検索するシンプルなアプリです。


以下でソースコードを参照できます。

  • Photo Search app

Flutter Gallery

「Flutter Gallery」は「Flutter」で作られたアプリの振る舞いやウィジェットのデザインを紹介するデモンストレーションアプリです。


  • Flutter Gallery

batufo

「batufo」は2Dのスペースバトルゲームです。


  • batufo

Flutterを利用してアプリを開発するには

「Flutter」を利用してGUIアプリを開発し「Snap Store」で配布する方法は、以下のリンク先を参照してください。

  • Canonical enables Linux desktop app support with Flutter

Easy install of Flutter on Linux

この項目では「Flutter SDK」とIDEの「Visual Studio Code」をインストール方法が紹介されています。

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

いわゆる事前準備ですね。

Flutter for Linux desktop

この項目では「Flutter」でLinuxデスクトップのサポートを有効にする方法が紹介されています。

flutter channel dev
flutter upgrade
flutter config --enable-linux-desktop

また「Flutter」で新規にプロジェクトを作成し、実行する方法が紹介されています。

flutter create counter
cd counter
flutter run -d linux


Accessing native code in Linux from Flutter

この項目では「Flutter(Dart)」からLinuxのネイティブコードにアクセスする方法が紹介されています。

  • Writing custom platform-specific code
  • C interop using dart:ffi

また「Dart」及び「Flutter」のパッケージ管理サイトから、再利用可能なコードを探し出すことも可能です。

  • pub.dev

「pub.dev」に登録されているパッケージのほとんどは「Dart」のみで実装されており、その多くはそのままLinuxアプリから利用できます。
プラグインと呼ばれる一部のパッケージは特定のプラットフォーム固有のネイティブコードを含んでいます。
「Canonical」はLinuxネイティブの機能を提供する以下の3種類のプラグインを公開しています。

  • url_launcher(指定されたURLをデフォルトのブラウザーで開く)
  • shared_preferences(アプリセッション間でユーザー設定を共有する)
  • path_provider(ダウンロードやピクチャなど特別なフォルダーのパス情報)

Deploying to the Snap Store

この項目では「Snap Store」にアプリを登録・公開する方法が紹介されています。
アプリはSnapパッケージで登録します。

  • Snap Store

Ubuntu
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 24.04 その96 - Ubuntu 24.04.5 LTS のリリース日変更
    Ubuntu 24.04.5 LTS のリリース日変更 Ubuntu 24.04.5 LTS のリリース日が変更されました。
  • Linux その426 - GNOME 向けアプリとアップデートの紹介・AI アシスタントアプリやメールスイートなど
    GNOME 向けアプリとアップデートの紹介 GNOME 向けアプリとアップデートの紹介です。
  • Linux その429 - GNOME 向けアプリとアップデートの紹介・ RSS リーダーのインポート機能や映画マトリックスのデスクトップ効果など
    GNOME 向けアプリとアップデートの紹介 GNOME 向けアプリとアップデートの紹介です。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
  • Ubuntu 26.10 その24 - Ubuntu 26.10 の公式壁紙と壁紙コンペの結果発表
    Ubuntu 26.10 の公式壁紙と壁紙コンペの結果発表 Ubuntu 26.10 の公式壁紙と壁紙コンペの結果が発表されました。
  • Linux その428 - KDE Plasma で実装予定の新機能や改善・マウスの中央ボタンの機能改善やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Ubuntu Cinnamon その14 - Cinnamon Spices がダウンロードできない不具合の修正
    Cinnamon Spices がダウンロードできない不具合の修正 Ubuntu Cinnamon 26.04.1 LTS で Cinnamon Spices がダウンロードできない不具合が修正されました。
記事のピックアップ
オプション