🕰

Flutterの歴史をちょっとだけ調べてみた

2021/12/22に公開

こんにちはこんばんわ、すぎっと ٩( ᐛ )و です
今日のテーマは歴史です。

この記事は Qiita Advent Calendar 2021 Flutter 22 日目の記事です。

Flutter の歴史

ちょっとした遊び心で Flutter の歴史について調べてみました。歴史を知ることで見えてくるものがあったり、また単純に好きになれたりするかもしれないと思ったからです。

最初のコミット

歴史について調べるにあたり、まず GitHub の Flutter リポジトリの一番初めのコミットを調べてみました。コミットハッシュは 7b0bbdbe66067295c4503eebde53b2ebf82e1764 でした。もし気になる方はこのハッシュ値を頼りに調べてみてください。

さて、せっかく最初のコミットハッシュが手に入りましたので、当時のリポジトリを見てみましょう。

https://github.com/flutter/flutter/tree/7b0bbdbe66067295c4503eebde53b2ebf82e1764

最初はたった 3 つのファイルからスタートしたようですね。

  • AUTHORS
  • LICENSE
  • README.md

AUTHORS にはこんな一文がありました。

below is a list of people and organizations that have contributed to the Sky project.

Google Inc.
Jim Simon

Jim さんのおかげで Flutter が楽しいです。ありがとうございます。

Sky Project ??

Sky プロジェクト

Flutter は最初は Sky project と呼ばれていたようですね。Sky project について調べてみると、次の動画を見つけることができました。

https://youtu.be/PnIWl33YMwA

これは Flutter が日の目を見た最初のプレゼンなのかもしれないですね。(知らんけど)

動画の概要欄には以下の記述がありました。

Sky is an experimental open-source framework for writing mobile applications in Dart. Sky brings continuous deployment, fast development cycles, and designed-for-small-screen 60Hz user experiences to Dart developers on mobile. Presented by Eric Seidel.

Sky プロジェクトは Dart を使ってモバイルアプリケーションを開発するためのフレームワークとして開発がスタートしたようですね。動画を見るとわかるのですがこの時点ですでにかなり実用的な画面がデモで発表されています。Sky プロジェクトはこの発表の時点で Android, iOS のマルチプラットフォーム開発に言及しています。

Sky のアーキテクチャが紹介されていました。

SkyArchitecture

これはいまの Flutter のアーキテクチャとあまり変わっていないですね。

続いて、Sky の HelloWorld がデモされていました。最初はこんな感じの書き方だったんですね。Dart が AltJS であることが垣間見えておもしろいです。



そのままデモの続きを見て見ます。

Scaffold Widget が出てきました!! Widget の考え方などのいまの Flutter を支える基本的なところはこのときすでにできていたんですね。

そして最後にこんな紹介がありました。

https://github.com/domokit/sky_sdk にアクセスしてみてください。flutter にリダイレクトされます。歴史に触れた感じがしますね。

メジャーリリース

Flutter のメジャーリリースは 3 年後の 2018 年 12 月です。Flutter Live 2018 の中でメジャーバージョンが発表されたようです。それまでは beta でした。

https://developers.google.com/events/flutter-live

こちらが Flutter Live 2018 の映像です。

https://youtu.be/NQ5HVyqg1Qc

そしてさらに 2 年後の 2021 年 3 月 に Flutter 2.0 がリリースされました。

https://youtu.be/zSbsIiluixw

Flutter 2.0 では Flutter Web の Stable 対応が発表され、Flutter がモバイル向けのフレームワークからまたさらに飛躍することが示されました。

Flutter のこれから

Flutter は バージョン 2 系統から、 Android・iOS・Web の 3 つのプラットフォーム対応を Stable としてリリースしています。

そして今後はさらにそのプラットフォームを拡大することがすでにアナウンスされています。

Fuchsia

Google の 謎の OS として話題になっている OS です。Google 製の OS といえば、Android がまず浮かぶと思います。次に Chrome OS でしょうか。そして、次に来ると言われているのが Fuchsia です。今後 Fuchsia を搭載したデバイスが徐々に出るのではないかといわれており、実際に Google の Nest Hub に搭載されているとかなんだとか。そんな Fuchsia ではその OS 上で動く GUI を Flutter で開発すると言われています。ということは、Fuchsia が搭載されたデバイスであればどれであっても Flutter が使えるということになると思って良いのかもしれません。これはこれまでのマルチプラットフォームという概念には収まらないように感じてしまいます。

Fuchsia と Flutter は 2021 年時点で以下のプロジェクトが進行中のようです。これからが楽しみですね。
https://fuchsia.dev/fuchsia-src/contribute/roadmap/2021/flutter_on_fuchsia_velocity

Embedded

「Embedded: 組み込み」です。組み込みとは主にハードウェアデバイスを制御するためのプログラムのことです。以下の Flutter の公式の説明では、自動車の制御や冷蔵庫などの家電機器などが挙げられています。

https://flutter.dev/embedded

この Embedded Flutter はあの Sony が関わっていることが話題になっています。実際、GitHub にある Sony のリポジトリにこんなものがあります。

https://github.com/sony/flutter-embedded-linux

そして、 Embedded Linux Conference にて以下の発表が行われました。

https://elinux.org/images/6/61/Oct_27_Graphical_User_Interface_Using_Flutter_in_Embedded_Systems_Hidenori_Matsubayashi.pdf

https://youtu.be/KN-ileJvorg

すごいなぁという感想しか出てきません。こちらもとても楽しみですね。

Desktop

次に Stable になると思われるのがこの Desktop 対応ですね。

https://flutter.dev/desktop

Flutter Desktop は、Linux・MacOS・Windows のデスクトップアプリケーションを指します。Flutter Desktop はもうすでにある程度動いており、Codelab も提供されているので、実際に試してみることができます。

https://codelabs.developers.google.com/codelabs/flutter-github-graphql-client/index.html

また、Flutter 2.0 が発表されたときに gSkinner からマルチプラットフォームのでもアプリケーションが公開されました。Flutter Folio です。

https://youtu.be/2eTY2QrNrAQ

ソースコードはこちらからみることができます。

デスクトップ対応ではマウス操作を意識した実装(右クリックなど)があったり、Web のレスポンシブ対応があったりととても学びの多いサンプルだと思います。

https://github.com/gskinnerTeam/flutter-folio

2022 年は・・・?

さて、2022 年はどうなるのでしょうか。

https://notifications.google.com/g/vib/AD-FnExFFDtUis-qimfNXVZ61Z3VB46rn2YC9AadCKVfMui12a6saWJQaxqEFFc6bj7GaSH0U6GdBCUkzfCoQQRqebIIlHfacymT1DfjFVPKSMQNGDgOTBJM8FAvSqL1kbXuDBWiIVyYFTqmH-Tn7K13qd-xmP_g8KbX5zkL2Thx_0xBGJ6F7fnM1Jx57CnnoBPucLBgQS6aIKOfNQRixWHUUobaSVdo7uD98CuMyCmmVjkT6NSeYssKPm4lnRz3PDtEaiQZrz53Yro9KResjTCF9c_xjto

Flutter 公式から、2021 年の振り返りと、2022 年の抱負が出ています。

この中に

We’re going to complete our stable desktop support and further expand our work on the web.

という一文がありました。Desktop、Web がどんどんパワーアップしてくれることに期待しています。

https://docs.flutter.dev/development/tools/sdk/releases

そろそろ Ver.3.0 が見えてきているような気がしますね!!

まとめ

Flutter の歴史から今後の展望まで、これまでに発表された情報を並べて見ました。Flutter を勉強しようというモチベーションアップにつながれば幸いです。

ではでは。

すぎっと ٩( ᐛ )و

GitHubで編集を提案

Discussion