2018年11月19日月曜日

「DevFest 2018 GDG神戸 Flutterハッカソン&コードラボ@さくらインターネット大阪本社」を開催しました


こんにちは。 GDG神戸の中谷です。

11/19に「DevFest 2018 GDG神戸 Flutterハッカソン&コードラボ @さくらインターネット大阪本社」を開催しました。
 本イベントの会場はさくらインターネット株式会社様にご提供頂きました

 今回の勉強会はハッカソンとCodelabの2トラック制で行いました。

まずはCodelabの様子から
司会進行はGDG神戸の夜子ままさんに行っていただきました
Flutter概要〜Codelabを2つ行いました
今回Flutterはじめての方ばかりで、まずはDart言語の理解
そして、Flutterの使い方、書き方を学びました。
言語と、Frameworkとを同時に学ばなくてはいけないこともあり、みなさん中々苦労されながらやっていたように思います

Codelabが終われば、短い時間でしたが、2チームに分けアイデア出しと開発と、ミニハッカソンのような形で初心者チームもハッカソンを行いました
アイデア出し

さて、ハッカソンチームはというと。。。
今回はハッカソンの参加者が少なかったこともあり、1チームだけでした
朝から、いくつかのネタ出しを行って、初心者チームがハッカソンを始めた頃には
開発は佳境に差し掛かっていました。みなさん必死ですね。
今回は画面ごとに役割分担をされていたようです

終了後は、最後皆さんで発表し、ハッカソンした内容を共有しました。


初心者チーム1
初心者チーム2

ハッカソンチーム



初心者チーム1はGCPのBigQueryをモバイルアプリで操作したいというようなものを考えていて、構想しながら、少し表示されるアプリまでというところまで。

初心者チーム2は待ち合わせのときに使える位置情報アプリを考えて、GoogleMapのAPIから位置情報を取得できるようなところまで試すことが出来ていました。

本命のハッカソンチームですが、自分の現在地から、特定の範囲内のIT勉強会を表示させるようなアプリを作っていましたが、この短時間でもしっかり動作はしており、Flutterの力を見せつけられたような気がします。


さて、今回はFlutterの勉強会を行いましたが、個人的にKotlinでAndroidを書いていることもあり、非常に興味深い勉強会になりました。
私が注目した点としては、HotReloadの速さ、またFlutterのコンポーネント数の多さ、簡単にマテリアルなレイアウトになることなど良かったと感じています。
しかし、デザイン周りのネストするコードや、レイアウトエディターがやっぱりほしい!など思う部分もありました。
Flutterはまだベータです。これからどんどん良くなることが期待されます。
今回なかなか参加人数が集まらなかったように、関西ではまだまだFlutter自体が認知されていない部分もあるとおもいます。しかし今後皆さんにもっと情報発信をし、みなさんと一緒に輪を広げて関西でもっとFlutterを使う人が多くなれば嬉しいなと思います。

最後になりますが改めて場所をご提供頂きましたさくらインターネット株式会社様ありがとうございました。

2018年10月9日火曜日

「Flutter勉強会(9/29)」を開催しました

こんにちは。
GDG神戸オーガナイザーの野田です。

9/29(土)に「Flutter勉強会(9/29)」を開催しました。
会場は今回も「キッズプログラミングスクール8x9」様にお借りしました。

FlutterはDart言語によるモバイルアプリ(Android、iOS)の開発フレームワークのことです。
画面に配置するUIを記述するだけで、マテリアルデザインが適用されたアプリが構築できます。しかもAndroidとiOSのどちらでも動作します。
従来のマルチプラットフォーム用フレームワークと異なり、UIをAndroid用、iOS用と別に用意する必要がなく、シンプルな実装で素晴らしいUIが作れるのが特徴です。
また、パッケージ(ライブラリ)も豊富で、従来のネイティブコード(Java、Swift等)で実装するよりも楽に書ける(しかもどっちも動く)のも特徴の一つです。

9月中旬にRelease Preview 2が公開され、次のアップデートではFlutter 1.0がリリースされるとのことです。
扱いやすさから、今後はどんどん広がっていくのではないかと期待できるフレームワークです。

GDG神戸は今年からFlutterに注目しており、今回はFlutterを扱う勉強会の3回目となります。
関西圏では珍しく、今後も積極的に勉強会を実施していこうと思ってますので、良かったら今後のGDG神戸の勉強会をチェックしてみてください。



さて、今回の勉強では、Flutter初心者を対象に、登壇者の実装ノウハウを共有することで、少しステップアップする感じのものとなりました。

最初は毎回やっていますが、GDG神戸のやこままさんにFlutterの概要説明をしていただきました。翻訳スライドはこちらです。元スライドはこちらになります。
毎回わかりやすい説明で、Flutterを知らない人がFlutterがどういうのものかを知るには、ちょうど良い内容でした。
Flutter公式資料の翻訳

そのまま引き続き、やこままさんがFlutterでレイアウトを構築するときに、どういう風に考えているかを、分かりやすく説明していただきました。
Flutterでのレイアウト構築の考え方

次はスーパー小学生のアリサさん。「RemindMe」という位置情報(場所)と紐づくTODO管理アプリを作成され、そのアプリについての実装ノウハウを発表していただきました。
また、このアプリで「Tech kids grand prix」の決勝大会まで進んだとのことで、惜しくも優勝は逃しましたが、今後の活躍が楽しみな子です。
位置情報と紐づくTODO管理アプリと
「Tech kids grand prix」決勝大会について

そして、Flutterについて非常に豊富な知識を持つ、株式会社tech vein(テックベイン)の河本さんです。「AndroidやiOSのアプリ開発でいつも私がやっていることをFlutterでやってみた」というタイトルで、Clean Architectureで設計する方法や、本番とテストで設定を切り替える方法、CI/CDツールの選定について、Flutterの場合どうすればいいかを発表していただきました。
モバイルアプリ開発者向けの、Flutterに移行する場合に気になるノウハウで、かなり濃い内容でした。
モバイルアプリ開発者向けの、
Flutterに移行する場合に気になるノウハウ

最後は僕、GDG神戸オーガナイザーの野田です。※毎度のことながら写真はありません…。
Easy Video Bucket」という、ストレージ内の動画再生、Youtubeの検索とお気に入りリストの作成が簡単にできるアプリをFlutterで作り、そのアプリでAdmobを実装したため、FlutterでAdmobを実装する方法について話をしました。
資料はこちらになります。


回を重ねるにつれ、かなりノウハウもたまって来ているので、もっと皆さんと共有できたらと思っています。
なにより、Flutterでアプリを作るのはすごく楽しいので、ぜひ触ってもらいたいですし、ハッカソンとかもやっていきたいなと思っています。
引き続きよろしくお願いいたします。

2018年8月16日木曜日

「Flutter勉強会」を開催しました

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

8/12日(日)に「Flutter勉強会」を開催しました。
会場は前回と同じく「キッズプログラミングスクール8x9」の教室をお借りしました。

FlutterはAndroidとiOS両アプリのUIを同時に作ることができ、Material Designの美しい見た目とアニメーション付きの画面を簡単に作成できます。
Reactと考え方や書き方が似ているため、Webフロントエンジニアの方でもとっつきやすいのではないでしょうか。
今後が楽しみな開発フレームワークです。

さて、そんなFlutterの勉強会ということでまずはGDG神戸のやこままさんよりFlutterの概要説明をしていただきました。


やこままさんの Flutter公式資料の翻訳スライド
スライド (オリジナルは こちら )




続いて環境構築 & Dartコードラボを行いました。
半数ぐらいの方はすでに環境構築を済ませて参加されていたので、
他の方が環境構築をしている間、Dartコードラボをもくもくとこなしていきます。


もくもく

はじめてDart言語を触りましたが、書きやすくていい言語という印象でした。
環境構築も終わり、次はFlutterコードラボです。


Flutterコードラボの登壇者はありささん、最近はFlutterで位置情報を利用したアプリを作っているというスーパー小学生です。アプリの前はロボットを使ったプログラミングをやっていたそうです。プレゼンまでこなしてしまうとは末恐ろしいですね。ちなみに英語もできるそうです。。!!

ありささんの説明で進行していくFlutterコードラボ

Flutterコードラボではお気に入りボタン付きリストとお気に入りフィルタリストへの画面遷移までを作成しました。
その後はもくもくタイム、コードラボの続きをやる人もいれば開発環境をより快適にする人も。それぞれ楽しんでいました。

最後にLTです。


Ebineさんからセブ島に行ったときにGDG Cebuに参加したときのお話をいただきました。セブ島にもGDGがあるんですね!


株式会社tech veinの河本さんより、実際にFlutterで作ったチャットアプリのお話をいただきました。

写真を撮り忘れていたのですが、このあとGDG神戸オーガナイザーの野田さんより、GDG神戸の紹介LTもありました。
仕方がないので別の写真を貼っておきます。


GDG神戸では引き続きFlutterをテーマにした勉強会などを開催する予定です!
他にもVRやTensorFlowなどさまざまな技術を扱う予定ですので、ご興味のある方はぜひDoorKeeperにご登録ください。
イベントが公開されたときにメールでお知らせを受け取ることができます。

最後になりますが、会場を提供いただきましたキッズプログラミングスクール8x9様、ありがとうございました。

2018年7月18日水曜日

Flutter codelabを開催しました

Flatter勉強会のレポート
こんにちは GDG神戸のやこままです
7月の三連休の真ん中の日曜日、7月15日に、キッズプログラミングスクール8x9の教室をお借りして「Flutter codelab」を開催しました。

Flutterは、2015年にGoogleにより発表された、Dartで実装できるiOS/Android向けのアプリケーションフレームワークです。
Flutterは、エンジンがC++で書かれており、Googleが開発している高速なグラフィックライブラリSkiaを採用し、ほかにもChromeの技術を流用していたりということで、発表当時は話題になっていました。
私は、その頃はちょうどモバイル開発からちょっと離れていたので、詳しいことを知らないのですが、最近少しづつモバイル開発もやるようなってきて、情報をキャッチしだしたところ、ちょうど、FlutterのCodelabをやっているという話をきいて、興味を持ちました。
それで、Flutterに関しては、まだかなりにわかな私ですが、せっかく学んだことなので、GDG神戸のほうでcodelabをやってきました。

こじんまりした感じでやる予定だったので、会場は10人ぐらいがはいればちょうどいいかなというところです。

昼過ぎの12:30に開場ということなので、野田さんとはやめのランチをとって、12時ちょっとすぎ会場で待機していると、ちらほらと集まってきました。


今回初参加の二人
 今回、都合があわなくて、いつものGDG神戸のメンバーの参加がなくちょっとさみしいですが、京都から来られた方や、東京に現在住んでいて、大阪にたまにかえってこれれる方がわざわざ調整して参加してくれて、お二人とも、とても久しぶりに会えたので嬉しかったです。それと、うれしいことに、GDG神戸の勉強会参加がはじめての方が二人もいました! トータルで僕をいれて6人の参加です。もうちょっと集まってほしかったところもありますが、codelabをやるという名目の勉強会を考えればまずまずです。
といっても、じつは、数名遅刻もあり、開始時間になっても3人しか集まっていないときにはさすがに、開催していいんやろかとちょっと不安になってました。

 勉強会では、codelabをやるだけではちょっとおもしろくないので、最初に、Flutterの概要について、スライドをもちいてセッションをしました。


こちらの資料は、Googleの公式の資料を翻訳しただけなので、スライドシェアはしていませんので、上記リンクからご覧ください。(オリジナルはこちら)

そして、そのあと、Dartのレクチャーをしました、Dartのレクチャーは、Dartのcodelabをやりますが、せっかくなので、モブプログラミングでやってみることにしました。

DartのCodelab Intro to Dart for Java Developers

モブプログラミングは、ドライバーというコードを書く人と、それに対してナビゲータという意見を出す人が複数の構成でプログラミングをする手法です。ペアプログラミングという似た言葉もありますが、あれの複数版だと考えれば想像しやすいです。
今回、人数が6人だったので、ちょうどいいと思いやってみました。

モブプログラミングをしているところ

実際にやってみて、とてもよかったとおもいます。Dartという、知らない言語に対して通常なら一人でcodelabをやる場合、些細な疑問があったとしてもわからないまま進めてしまうことが多いです。モブプログラミングではそのような疑問も随時質問をし、みんなでそれに対して調べ、また詳しい人がいればその人に説明をしてもらう、ということができるので、深く理解をすることができました。
とくにDartのコンストラクタやオーバーロードなどの理解が深くできたので個人的な収穫も大きかったです。
ただ、モブプログラミングの欠点として、脱線が非常に多いので、決まった内容をするときは、想定より多く時間がかかってしまいます。

そのため、Dartのcodelabはモブプログラミングをしましたが、flutterのcodelabは、各自でやることにしました。


Flutterのcodelabをやっているところ
Flutterのcodelabは Write Your First Flutter App, part 1

こちらをしました。
codelabは他にもいろいろありますが、内容がしっかりしていて、進めやすかったのでこれにしてます。

トータルで、4時間のcodelabですが、蓋をあけたらもくもくの時間が足りないぐらい皆集中をしていました。
僕自身は、ymlファイルを、自動翻訳するアプリを作ってましたが、時間がたりなくて間に合わなかったです。 次回の勉強会で発表できたらなとおもっています。


野田さんが、北海道で捕獲してきた、本場の白いやつ









今回の勉強会で、Flutterはとても面白いというご意見を参加者からいただきました、 そこで、次回の勉強会もFlutterをやろう思っています。
 おそらく、8月の中旬頃の予定です。 今回参加できなかった人も是非参加してみてください。 
 しばらくは、初心者むけの内容になる予定なので、モバイルアプリの開発がはじめての方でも参加しやすいとおもいます。
 とくにFlutterは、面倒な手続きが少ないので、モバイルプログラミングを一度もしたことがない人にとって、とってもはいりやすいフレームワークです。
 かくゆう私もiOSやAndoridをしばらくやってないので、いまさら、勉強するのは面倒でやりたくないなと思っていましたが、Flutterなら簡単なのでやりたいなとおもっています。 

 次回をお楽しみに 
 やこまま

2018年6月25日月曜日

「Osaka Mix Leap Study #16 - Android Jetpack 勉強会」を開催しました


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

6/14に「Osaka Mix Leap Study #16 - Android Jetpack 勉強会」を開催しました。
本イベントはヤフー株式会社様GDG神戸と共催で行い、会場はヤフー株式会社様にご提供いただきました。

今回の勉強会は先月のGoogle I/O 2018で発表されたAndroid Jetpackについていち早く情報をつかむべく、セッション形式で行いました。
スピーカーにはGDG神戸中谷 克紀さん株式会社tech vein(テックベイン)河本 泰孝さんヤフー株式会社Android黒帯である森 洋之さんをお招きしました。

まずはGDG神戸中谷さんより、Android Jetpackの概要についてお話をいただきました。

インフラ屋さんなのになぜかAndroidも詳しい中谷さん

これまでのAndroid開発の歴史や問題点を振り返りながら、Android Jetpackの概要とLiveDataViewModelRoomにフォーカスしたお話をいただきました。
これからAndroid Jetpackを使ってみようと思われる方にこれがいったい何をしてくれるものなのか、よくわかる内容でした。

続いて株式会社tech vein(テックベイン)河本さんより、Navigation Architecture Componentについてお話をいただきました。

Navigationを掘り下げてお話いただきました
これまでのFragment管理やDeepLinkなどの問題点を指摘することから始まり、Navigationがそれをどのように解決するのか、詳しく解説いただきました。
Navigation GraphNavigation Editor型安全なデータの受け渡し方など、非常に有益なお話を聞かせていただきました。

最後はヤフー株式会社Android黒帯である森さんより、Sliceについてかなり深掘りしたお話をいただきました。

ご登壇いただくため、東京からお越しくださいました
Google検索アプリの検索結果として表示できるSliceの基本的な使い方から、サードパーティアプリ間で使うために自前実装してみるというお話まで、Sliceがどういった実装になっているのか、どうやって使えばいいのかを詳しくお話しいただきました。

素敵な看板を作っていただきました
ほぼ満席となりました
LTトップバッターのがおまるさん、Googleホームのお話
LT2番手のradiocatさん、ML Kitのお話
ラスト(オチ)はGDG神戸オーガナイザーの野田さん、
Standalone VRのお話
卓球ラケットには
ヤフー公式キャラクターのけんさくとえんじんが
入口でもお出迎え
いつものVR
懇親会では食べ物や飲み物をご用意いただきました

今後Android開発をますます加速するJetpack、楽しみですね!
GDG神戸ではGoogleの技術を扱った勉強会やハッカソンなど、年間を通してさまざまなイベントを開催しています。
ご興味のある方はぜひDoorKeeperにご登録ください。イベントが登録されたときにメールでお知らせを受け取ることができます。

最後になりますが、会場運営やお食事のご提供をいただきましたヤフー株式会社様、ありがとうございました。

2018年6月13日水曜日

「Google I/O 2018 報告会 関西 in 京都」を開催しました

こんにちは。 GDG神戸の中谷です。

5/19に「「Google I/O 2018 報告会 関西 in 京都」を開催しました。
 本イベントはGDG京都とGDG神戸と共催で行い、会場はNISSHA株式会社様、mui Lab, Inc様、そして、スピーカー(ノベルティなども)Google様にご提供頂きました

 今回の勉強会は、5/8-10にアメリカで行われた、Google IO 2018の振り返りとしてセッション形式で行いました。
 スピーカーとして、Googleの山口 能迪様、Khanh LeViet様、GDEの中村 悟様をお招きしてのイベントとなりました。
その他4名の地元スピーカーの方にご登壇いただきました。

まずは全体俯瞰として、GDGTokyoから中継で、Googleの鈴木様より、全体の概要の話をしていただきました。
全体俯瞰は中継で行いました

盛り上がる関西会場!
終了後、各ローカル会場に戻ってセッションをスタートします 。
まずはGDG京都の久保田さんよりIOT Thingsの話がありました。
今回1.0で正式リリースされたことでAndroidThingsの管理コンソールや実際の製造に関わるSOMの考え方などの話がありました。


信州と接続しながらのセッション

京都の質問に信州のproppyさんに回答もらったりしました

次はKhanhさんからFirebase Updateの話
今回MLKitがFirebaseに入ったのが個人的にはすごく興味深く、
楽しいセッションでした。

主に6つの機能についてご説明していただきました
次に、山口さんから、GoogleAssistant、AR/VRのセッションです
今回のユーザーにとってのGoogleAssistantのアップデート内容をより細かく噛み砕いてご説明頂きました。
今までAndroidやWEB開発者はAssistantをあまり気にしなくても良かったのが、AMPやAppActionなどを利用して流入できたりするので、しっかり今後は対応を考えていく必要がありそうです
Assistantの後は、ARCoreのアップデートの話、CloudAnchorなど興味深い話が有りました
凄いボリュームで話をしていただきました
次に中村さんから、GoogleIOで使用した機械学習のDemoを作った裏話として
MLやIoTCoreやGCPの話をしていただきました。
文化の違いや、データの収集など苦労された話をされていました。



その後は、関西からGoogleIOに参加された、河本さん、兼高さん、藏野さん、そしてLTと
流れていきました。
特にGoogleIOに参加された方のスライドは現地での空気感が非常に伝わり、皆様の刺激になったのではないでしょうか。

GDG神戸ではgoogleIOのLiveViewingも開催していますので、もしご興味を持たれましたらぜひDoorKeeperの方へご登録ください

最後になりますが改めて場所や飲料をご提供頂きましたNISSHA株式会社様ありがとうございました。

2018年5月13日日曜日

「Google I/O Extended 2018 Kobe - Livestream -」を開催しました

こんにちは。野田です。

5/8の夜から5/9の朝まで「Google I/O Extended 2018 Kobe - Livestream -」を開催しました。
Googleがマウンテンビューで毎年開催しているGoogle I/Oは、リアルタイムでストリーミング配信されています。
今回は、その基調講演をみんなで集まって一緒に見たり、新しい技術について意見交換したりしましょうというイベントです。
会場は今年も「キッズプログラミングスクール8x9」様にお借りしました。

Google I/Oは日本時間で9日2時頃からです。それまでは軽食をつまみながら、LTをしたり、もくもくしたり、今年のI/O予測みたいな雑談をしたりして待ちます。
軽食は、ピザやスナック菓子などです。お酒は寝てしまうので控えめに。
軽食の用意
良い笑顔いただきました!

最初に自己紹介を兼ねたLTをしました。今興味があって色々試していることや、学生さんもいたので、現在どういう研究をしているかなどの話をされていました。
スキージャンプの360度動画と
その時のセンサー情報とを合わせて、
VR上で体験して得られる効果の研究
AndroidのSnackbarをハックして、
自分の好きな位置や幅を指定する方法
メイドカフェについて満面の笑みで語るやこままさん

今回、Google I/Oに参加された河本さんが現地から中継してくれて、現地の様子や僕らの質問に色々答えてくれました。
河本さんが現地から中継
河本さんは5/19(土)に開催される「Google I/O 2018 報告会 関西 in 京都」でも発表されます。

そうこうしているうちに、Google I/Oの基調講演が始まりました。
サンダー・ピチャイ登場!

Google I/Oの基調講演は去年から前半と後半に分かれるようになりました。
前半は新サービスやプロダクトの発表、後半はデベロッパー向けの技術的な内容になっています。
新サービスやプロダクトの発表
今年の内容はML(Machine Learning)一色でした。各サービスにはMLで学習した結果を用いて、機能向上や画期的な仕組みを取り入れたものになっていました。

前半の基調講演から後半までは1時間くらい空きがあるので、前半の基調講演について話したり、もくもくしながら待ちます。
もくもくしながら待つ

そして基調講演の後半が始まりました。後半はAndroid(AndroidStudio)、Dialogflow、PWA、Material Design、CloudAutoML、そしてARCoreについてでした。
後半の基調講演
僕は今回、ARCoreの発表を楽しみにしていました。発表されたのは、Cloud Anchorsというマルチプレイのような他者と情報を共有する仕組みについてでした。(ちゃんと聞き取れていないですが、どちらかというとデータを補完するためのもののような事を言ってた気がします)
マルチプレイ用ライブラリは色々ありますが、より手軽に扱えるなら良いなと思えるものでした。

詳しい内容はYouTubeで公開されているので、そちらを見ていただくか、5/19(土)のI/O報告会にいらしてくださればと思います。

会場提供いただいた「キッズプログラミングスクール8x9」様と、翌朝から仕事がありつつも、会場管理者として朝まで付き合っていただいたやこままさん、ありがとうございました!
やこままさん、ありがとうございました!