こんにちは!Diverse広報担当です。
先日、Diverse Meetup #1となる『Cloud Functionsを開発担当が徹底解説!』の前半の模様を公開しました!
マッチングアプリHOPの開発に携わる村本 章憲さんがご登壇。Cloud Functionとは何かという基本的内容から、参加者からの高度な質問への回答まで、たっぷり1時間かけてお話いただきました。
こちらの記事では、そんなイベントの後半の模様、主に質疑応答パートを余すところなくお伝えします!
続きを読むこんにちは!Diverse広報担当です。
先日、Diverse Meetup #1となる『Cloud Functionsを開発担当が徹底解説!』の前半の模様を公開しました!
マッチングアプリHOPの開発に携わる村本 章憲さんがご登壇。Cloud Functionとは何かという基本的内容から、参加者からの高度な質問への回答まで、たっぷり1時間かけてお話いただきました。
こちらの記事では、そんなイベントの後半の模様、主に質疑応答パートを余すところなくお伝えします!
続きを読むこんにちは!Diverse広報担当です。
先日、Diverse Meetup #1となる『Cloud Functionsを開発担当が徹底解説!』を開催しました!
マッチングアプリHOPの開発に携わる村本章憲さんがご登壇。Cloud Functionとは何かという基本的内容から、参加者からの高度な質問への回答まで、たっぷり1時間かけてお話いただきました。
(開発の合間にご登壇頂いたので相当お疲れだったようです...お忙しいなか有難うございました!)脳が開発モードだと上手く喋れない😇
— nori 村本章憲 (@1amageek) January 18, 2021
メモリが開発に持ってかれてる。
ちなみに本題に入る前に、今回イベントに参加いただいた方から嬉しいコメントを頂いているので、ご紹介したいと思います。
疑問に思っていた部分など、
— 宮前優哉@人事/Reckoner/Relance (@yuyamiyamae) January 18, 2021
丁寧に説明していただきありがとうこざいました!
とても勉強になりました! https://t.co/ZWetUGW9xM
周りがエンジニアの方々なのでビビってしまって質問出来無かったけど、他の方が質問されていたことも含めて自分にとってめっちゃ勉強になった。
— きなこ (@kinako0626r) January 18, 2021
やっぱりこういう話を聞くのはすごく好きだ。
今回参加出来てよかった。
村本さん(@1amageek )ためになるお話していただき、ありがとうございました!
Diverse Meetupは第二回、第三回と続ける予定ですので、今回参加できなかった方も、次回ふるってご応募くださいませ!ちなみに第二回は現在募集を開始しています(2021/02/17開催予定) diverse.connpass.com
それでは、ここからはイベントの前半の模様、主にクラウドファンクションの基礎理解を余すところなくお伝えします!
続きを読むこんにちは。Flutterエンジニアの id:yukioya-dvs です。 この度、YYC アプリ内ライブ配信コンテンツとしてワイワイライブをリリースしました!
これまでのメッセージでのコミュニケーションではなく、ライブ配信しているユーザーとオンライン上でやりとりができるコンテンツになります。
※iOS/Androidのみ対応、Webサービスでは非対応
今回、ワイワイライブは既存のアプリ YYC の1つの機能として実装しました。 YYC アプリは、今まで Android/iOS 共にフルネイティブで開発を進めてきましたが、今回のワイワイライブではFlutterの Add-to-app を利用して開発しました。
既存のAndroid/iOSのgit リポジトリが存在してましたが、それとは別に Flutterのコードを新規でリポジトリを作成し、git の submodule として Android/iOSに追加する形で、3つのリポジトリで運用するようにしました。
しかし、このまま作業していくと Android/iOS側のリポジトリ側に差分が発生して、毎回コミットする必要が出てきてしまいます。 実に面倒です。
そこで今回 Flutter側のコードを変更しても、Android/iOS側のリポジトリ側には手を加えず Bitrise上でのみ Flutter リポジトリのHEADを参照するようにしました。
弊社では CIにBitrise を使用しており、そこでつまづいた2点についてお話します。
Invalid argument(s): Cannot find executable for /root/flutter-sdk/flutter/bin/cache/artifacts/engine/android-arm-release/linux-x64/gen_snapshot.
今までdebug ビルドはできてたのにreleaseになると、上記のエラーがでてビルドできなくなってしまいました。
Flutter Install Stepをそのまま使うと、 /root/flutter-sdk/flutter/bin/cache/artifacts/engine
配下には common
と linux-x64
しかありません。
そこで、みんな大好き $ flutter doctor
を実行するとあら不思議。
# /root/flutter-sdk/flutter/bin/flutter doctor Downloading android-arm-profile/linux-x64 tools... 1.7s Downloading android-arm-release/linux-x64 tools... 0.8s Downloading android-arm64-profile/linux-x64 tools... 0.8s Downloading android-arm64-release/linux-x64 tools... 0.4s Downloading android-x64-profile/linux-x64 tools... 0.4s Downloading android-x64-release/linux-x64 tools... 0.4s Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel unknown, 1.22.1, on Linux, locale en_US.UTF-8) [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0) [!] Android Studio (not installed) [!] Connected device ! No devices available ! Doctor found issues in 2 categories.
なんていうことでしょう。Androidに必要なtoolsがいっぱいdownloadしてくれるではないですか!
Flutter Install Stepで以下の設定がデフォルトでfalseですが、trueにしておきましょう。
上だと、 .ios/Flutter/engine/Flutter.framework
が存在しません。
そこで、Android/iOS側より前にFlutter 側のコードをビルドすることで上記のFrameworkが生成されます。
$ flutter build ios --no-codesiging
なんていうことでしょう。
いかがでしたでしょうか。 debugビルドだと何事もなく動いてたのに、releaseビルドになるとなにかしら問題が発生しやすいですね 😇 同じ問題に当たって困ってる一助になれば幸いです。
また、Flutterを導入する上でバイナリサイズがどれくらい増えるかについて公式FAQにありますが、
今回ワイワイライブをAdd-to-appで実装した結果、最終的にiOSは+5MB、Androidは+9MB近く増えました。 なかなかの量ですが、今後はこの資産を生かして、既存コードをFlutterに置き換えてスリムにしていこうと思います!
ワイワイライブも気になった方は、是非触ってみてください! We are hiring! \(^o^)/
id:kikuchy です。新型コロナウィルスが猛威を振るう中、様々なコミュニティが継続の方法を模索していますね。
先月、昨年12月にStampさんのイベント PORT Firebase × Flutter を弊社Diverseオフィスで開催 & heavenOSK、kikuchyが登壇いたしました。
何回かStampさんと一緒にイベントを開催させていただいておりますが、今回が初のオンラインイベントとなりました。 今回はFirebaseとFlutterの組み合わせに関して、知見を公開しました。 実はこの組み合わせは二回目です。
ちなみに前回はFirebase x Android
その前はFirebase x Flutterでした。
遅くなりましたが、各登壇者のLT内容が決定しました@1amageek
— ZONO - Stamp inc. (@goodHiZoon) 2020年12月2日
- Firebaseで仕様をどう実現するか@kikuchy
- FlutterでもFirebaseAnalyticsを活用しよう @heavenOSK
- Firestore x Flutter アーキテクチャ #PORTJPhttps://t.co/zO0uHUBEgr
また、今回のイベントはその模様をYoutubeで公開しております。 登壇者のコメントを見て気になった方はぜひこちらも御覧ください。チャンネル登録もお願いします!
へぶんは 「Flutter x Firebase アーキテクチャ」についてお話させていただきました。
Flutter に Cloud Firestore を組み込む設計について、私たちのプロダクトの事例を交えてご紹介させていただきました。
以下の内容です。
興味を持たれた方は、ぜひスライド・動画をご視聴ください。
当日、沢山の反響を頂き誠にありがとうございました。
#PORTJP #diverse_tech@heavenOSK へぶんさんの発表‼️
— あれっくす@一番下手っぴでいい (@MHTcode_Alex) 2020年12月2日
Firestore x Flutter アーキテクチャ
ヘブンさんのプレゼンとても勉強になりました。図がとても分かりやすかったです。
— おまつ🥕菜園(エン)ジニア💻 (@o_matsu555) 2020年12月2日
「Flutter × Firestore アーキテクチャ」
✏️勉強になったポイント
・よく使うデータ取得方法3種とその使い分け
・Snapchatを使った単一方向データフロー https://t.co/rJSTbvhqD3
kikuchyはFlutterでもFirebase Analyticsを活用しようというお話をさせていただきました。
FlutterでもFirebase Analyticsで画面遷移を記録できるよ、ということと、(あんまりFlutterと関係ないですが)記録しているイベントの管理はしっかりやった方がいいよ、ということをメインにお話させていただきました。
反響もいただきまして嬉しい限りです。
ほう、Flutter では iOS / Android のように画面遷移イベントを Firebase Analytics に自動記録されないのか。
— Kenichi Tatsuhama (@tatsuhama50) 2020年12月2日
仕組みを聞くと納得。#PORTJP #diverse_tech
どういうイベントの命名規則にしてるのかとかイベントの粒度とかプロパティの使い方とか気になる〜 #PORTJP
— moga🍳 (@_mogaming) 2020年12月2日
しかしイベントの管理はなかなか難しくて、大部分は私がいるチームでも発生した問題を元に気をつけたほうが良い点を説明していますが、解決には至っていないものも多く・・・ 解決したらば、また別の機会で解決のために行った施策などをお話できればいいなと思っています。
イベントではStampさんの@1amageekさんにも、様々な仕様を具体的に実装に落とし込む際のFirestoreのモデル設計の実例を紹介していただきました。
こんな感じのことを話します! pic.twitter.com/lWuA6isBUs
— nori 村本章憲 (@1amageek) 2020年12月2日
詳しい内容は上記のYoutube動画を御覧ください!
Diverseは自社のサービスの殆どでFlutterを使用しているという、Flutterに注力している会社でもあります。 Flutterアプリケーション開発の中で獲得した知見を公開していくことで、Flutterを使っている皆様の助けになれればと思います。
flutter面白すぎる#PORTJP #diverse_tech
— light-ai (@lightai3) 2020年12月2日
FirebaseとFlutterを使ってマッチングアプリの開発をしてみたい方は @heavenOSK、@kikuchy または他の弊社エンジニアへ、お気軽にDMやリプライをください!
はじめまして。Diverse のモバイルアプリ開発者のへぶん( id:heavenOSK )です。
このたび、技術的な発信を動画で行っていくために、弊社で YouTube の公式チャンネルを開設しました!🎉
www.youtube.com diverse-inc.co.jp
第1回として @kikuchy さんと私で、Flutter に関するトークをする動画をアップロードしています。
今回の動画では…
現場のエンジニア2人ならではのトークをしています!
実際に Flutter を取り入れている開発について踏み込んで話していますので、ご興味ある方ぜひご覧ください。
動画の公開後、記事でご紹介いただいたり、ご感想をいただきました。弊社として新たな取り組みなので、反響をいただけて有難いです。
勉強会がオンラインになって、懇親会とかが減ってしまって、他社の技術スタックの話とかを詳細に聞く機会が減ってしまっているので、とても参考になって、面白かった https://t.co/OwpgiDwrRr
— キクナントカ (@kikunantoka) 2020年9月24日
株式会社Diverse は、技術発信の一環として YouTube での動画配信も行っていきます。
動画を見て Flutter で開発してみたい、弊社で働きたいと思ってくださった方は、ぜひ @kikuchy や @heavenOSK または他の弊社エンジニアに、DMやリプライをください!
id:kikuchy です。新型コロナウィルスによって社会情勢が大きく変化しつつある中、いかがお過ごしでしょうか。
各種技術系イベントが開催場所をオンラインに移していく中、先日、GDG TokyoとFlutter Meetup Tokyoのコラボイベントが開催されました。
当日のアーカイブはこちらからご覧いただけます。
当日はFlutterのAdd-to-appという機能についてお話させていただきました。
「Flutterを既存のiOS/Androidアプリに導入する」というものです。
この機能は弊社のプロダクトでも使用されています。
FlutterはアプリケーションをDartで記述することになるため、既存のソースコードの使いまわしが妨げられてしまいます。
そのため、ソースコードのフルリプレイスができるタイミングでのFlutter採用を検討する方が多いのではないでしょうか。
しかし、フルリプレイスを行えるタイミングはそうそうあるものではありません。
(弊社のyoubrideは本当にタイミングが良かったのです!)
「既にあるコードベースを使いつつ、Flutterの開発体験の良さやクロスプラットフォームの利点を享受したい…」
そんなわがままを叶えてくれるのがAdd-to-Appです。
導入の仕方から、既存コードベースとの連携方法、実際に使ってコケた箇所の回避方法などを説明させていただきました。
発表後にタイムラインを覗かせていただきましたが、かなりの方がご興味を示してくださったようでした。
そっか、既存のiOS / AndroidアプリにFlutterで機能追加する っていう選択肢もあるのか(Add-to-app)https://t.co/TWEWpdcMeY#gdgtokyo
— orimomo / engineer📱 (@orimomo_147cm) 2020年7月14日
add-to-appすごい。もしプロジェクトをAndroid/iOS一緒しないといけないならチームでの導入ハードル高いと思っていたけど、それぞれのプロジェクトからFlutterのモジュールを取り込むだけなら導入ハードル低い。 #gdgtokyo #flutter_meetup_tokyo
— 高田晴彦 (@tfandkusu) 2020年7月14日
実はkikuchy自身初のオンラインでのトークでした。
初めてということで至らぬ点も多かったでした…ご容赦ください。
次回からは機材トラブルを起こさないように気をつけます。
(原因はわかっているので対策します)
また、オンラインイベントですと、普段の登壇とは異なる点が多々あります。
もちろん、主催側としても会場を心配する必要もないですし会場に入れられる人数を気にする必要もありません。参加される方も足を運ぶ必要がないなど、利点もいっぱいあります。
が、個人的にはやはり物理的に集まって、直接お話できる機会がまたいつかあると良いなと思っています。
こんにちは。Diverseではたらいてる @m_kumanomi です。
【Looker ユーザー限定】Looker User Meetup in Tokyo #3で登壇させていただきました。
Lookerとは?
https://looker.com/
次世代BIツール、データプラットフォームと注目されています
今回のMeetup#3は60人ほどのユーザーさんがいらっしゃっていて、回を増すごとに参加人数が増えていってるのが実感できました。
No. | 名前 | 登壇内容 |
---|---|---|
1 | 熊埜御堂 将隆(株式会社 Diverse) | 恋愛・婚活マッチングサービスを営むDiverseのマーケティングチームでのLooker活用事例みたいなものをお話しします |
2 | 下地 勇貴 (株式会社 SmartHR) | https://note.com/bunnyboy/n/n64fae4909e40 についてもう少し詳しく話します(予定) |
3 | 遠藤 司 (株式会社 ZOZO テクノロジーズ) | 「データガバナンスツールとしてのLooker」ZOZOテクノロジーズにおけるLooker導入事例とLooker運用時に意識するべきポイントを発表させていただきます。 |
4 | 永井 伸弥 (株式会社 メルカリ) | 「事例を通じて紹介するLookerによるダッシュボード構築の実際」メルカリ社内で、A/Bテスト結果の可視化を行うダッシュボードの構築を行った事例を通じて、Lookerの機能の具体的な使用例や細かいTipsを紹介します。 |
発表内容はDiverseでのマーケティングチーム、YYC、Youbride、Poiboyという事業での活用事例をお話しさせていただきました。
弊社とSmartHRさんはサービス寄りでZOZOテクノロジーズさんとメルカリさんが技術寄りだったのでバランスが良かったのではないかと思います。
会場にいらっしゃった方はエンジニアの方や営業、マーケターの方だったり様々で色んな職種の方がLookerを活用しようとしているんだなぁと感じました。
発表を聞いてくださった方、懇親会等でお話しさせていただいた方々ありがとうございました!
資料はこちらです。
弊社でLookerを導入してどうなったのかはこちらもご覧いただけると嬉しいです。 qiita.com