Flutterの歴史をちょっとだけ調べてみた
こんにちはこんばんわ、すぎっと ٩( ᐛ )و です
今日のテーマは歴史です。
この記事は Qiita Advent Calendar 2021 Flutter 22 日目の記事です。
Flutter の歴史
ちょっとした遊び心で Flutter の歴史について調べてみました。歴史を知ることで見えてくるものがあったり、また単純に好きになれたりするかもしれないと思ったからです。
最初のコミット
歴史について調べるにあたり、まず GitHub の Flutter リポジトリの一番初めのコミットを調べてみました。コミットハッシュは 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 について調べてみると、次の動画を見つけることができました。
これは 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 のアーキテクチャが紹介されていました。
これはいまの Flutter のアーキテクチャとあまり変わっていないですね。
続いて、Sky の HelloWorld がデモされていました。最初はこんな感じの書き方だったんですね。Dart が AltJS であることが垣間見えておもしろいです。
そのままデモの続きを見て見ます。
Scaffold Widget が出てきました!! Widget の考え方などのいまの Flutter を支える基本的なところはこのときすでにできていたんですね。
そして最後にこんな紹介がありました。
https://github.com/domokit/sky_sdk にアクセスしてみてください。flutter にリダイレクトされます。歴史に触れた感じがしますね。
メジャーリリース
Flutter のメジャーリリースは 3 年後の 2018 年 12 月です。Flutter Live 2018 の中でメジャーバージョンが発表されたようです。それまでは beta でした。
こちらが Flutter Live 2018 の映像です。
そしてさらに 2 年後の 2021 年 3 月 に Flutter 2.0 がリリースされました。
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 年時点で以下のプロジェクトが進行中のようです。これからが楽しみですね。
Embedded
「Embedded: 組み込み」です。組み込みとは主にハードウェアデバイスを制御するためのプログラムのことです。以下の Flutter の公式の説明では、自動車の制御や冷蔵庫などの家電機器などが挙げられています。
この Embedded Flutter はあの Sony が関わっていることが話題になっています。実際、GitHub にある Sony のリポジトリにこんなものがあります。
そして、 Embedded Linux Conference にて以下の発表が行われました。
すごいなぁという感想しか出てきません。こちらもとても楽しみですね。
Desktop
次に Stable になると思われるのがこの Desktop 対応ですね。
Flutter Desktop は、Linux・MacOS・Windows のデスクトップアプリケーションを指します。Flutter Desktop はもうすでにある程度動いており、Codelab も提供されているので、実際に試してみることができます。
また、Flutter 2.0 が発表されたときに gSkinner からマルチプラットフォームのでもアプリケーションが公開されました。Flutter Folio です。
ソースコードはこちらからみることができます。
デスクトップ対応ではマウス操作を意識した実装(右クリックなど)があったり、Web のレスポンシブ対応があったりととても学びの多いサンプルだと思います。
2022 年は・・・?
さて、2022 年はどうなるのでしょうか。
Flutter 公式から、2021 年の振り返りと、2022 年の抱負が出ています。
この中に
We’re going to complete our stable desktop support and further expand our work on the web.
という一文がありました。Desktop、Web がどんどんパワーアップしてくれることに期待しています。
そろそろ Ver.3.0 が見えてきているような気がしますね!!
まとめ
Flutter の歴史から今後の展望まで、これまでに発表された情報を並べて見ました。Flutter を勉強しようというモチベーションアップにつながれば幸いです。
ではでは。
すぎっと ٩( ᐛ )و
Discussion