2019年6月17日月曜日

「Google I/O Extended 2019 Kobe - Flutterコードラボ -」を開催しました

こんにちは。GDG神戸の嘉多です。

6/16(日)に「Google I/O Extended 2019 Kobe - Flutterコードラボ -」を開催しました。
会場は今回も「キッズプログラミングスクール8x9」様にお借りしました。
今回はGDG神戸のオーガナイザー野田さんによるFlutterの概要説明から始まり、コードラボをこなしていくイベントでした。

第一部はFlutterの概要セッションです。
FlutterはMaterial DesignやCupertino Widgetに対応していて、美しい見た目のAndroidアプリやiOSアプリを出力することができるそうです。
また、静的型付けで型安全であり、ロックレスGCという完全停止する瞬間のないGCを実現しているそうです。



第二部はIntro to Dart for Java Developers、Java開発者向けのDartコードラボです。
Intro to Dart for Java Developers
こちらの公式コードラボサイトを参考に、クラスを作っていくコードラボでした。
ここでは自転車クラスや図形クラスを作っていき、Dartの便利な書き方を学んでいく内容になっていました。
factoryパターンも言語仕様レベルで利用を想定されており、予約ワードで明示的にファクトリメソッドを定義できるようです。


第三部はWrite Your First Flutter App, part 1、はじめてのFlutterアプリです。
Write Your First Flutter App, part 1
こちらの公式コードラボサイトを参考に、Flutterアプリを作っていくコードラボでした。
このコードラボでは実際にAndroid/iOSアプリを作り、エミュレータや実機で実行してみる内容でした。
Flutterフレームワークを使ってDartで実装し、ウィジェットなどを配置してアプリで表示してみました。
このコードラボでは最終的に無限スクロールのリストを作成しました。
ネイティブAndroidだとAdapterを書いたりして結構複雑な処理を書かなければなりませんでしたが、Flutterだと簡単に書けました。ここはDartの言語仕様がいろいろと機能を持っているからだと思いますが、APIを呼んだりしてリモートからデータを取ってくる場合にどの程度簡潔になるのかが気になるところでした。


第四部はFirebase for Flutter、FlutterでのFirebaseの使い方です。
Firebase for Flutter
こちらの公式コードラボサイトを参考に、FlutterアプリでFirebaseを使うコードラボでした。
赤ちゃんの名前を投票するアプリで、Firebase Databaseで設定したデータをリスト表示して、タップするとFirebase側のデータを更新するというものでした。

簡単にFirebaseに接続することができるので、サーバレスなオンラインアプリなども気軽に作ることができそうです。

Androidでは意外と面倒なMaterialDesignの実装をさらっとやってのけ、コードも簡潔に書けるFlutterの今後の進化に期待です!

Flutterピンズの争奪戦に燃える一同

コードラボが終わったら飲み会


GDG神戸では今後もFlutterをキャッチアップしていきますので、ご興味のある方はぜひDoorKeeperにご登録ください。GDG神戸のイベントのお知らせなどを受け取ることができます。
最後になりますが、会場をご提供いただきましたキッズプログラミングスクール8x9様、ありがとうございました。