見出し画像

クロスプラットフォーム開発 Flutter x React NativeーTECH STANDイベントサマリー

この記事は1月21日(木)に株式会社stand.fmが主催した「TECH STAND #3 クロスプラットフォーム開発 Flutter x React Native」のイベントレポートです。
登壇者さまのスライドとアフタートークでの視聴者からの質問や回答についてまとめました。
各社Flutter, React Nativeの採用理由、運用面でのメリット・デメリット等はスライドで紹介されています。ぜひご覧ください!
当日のYoutube Liveアーカイブ動画はこちらです。

Flutter

① AppBrewの新規事業部でFlutterを採用するまで

株式会社AppBrew 新規事業部 開発責任者 吉野克基 @ysn514
AppBrewの新規事業部として3つアプリを作り、うち後半2つをFlutterで作りました。チーム体制などからFlutter導入の経緯や良かった点などの振り返りについてお話できればと思います

② ChompyでFlutter採用した_振り返り

SYN, Inc. CTO 八木達也 @yagitatsu3
Chompyで提供する4アプリでFlutterを採用した背景、導入の流れ、使ってみて良かったこと、ハマったことについてお話しします。

10X と Flutter

株式会社10X Software Engineer 久田 一輝 @hisaichi5518
Flutterを使ってStailerを作るうえでよかったこと、悩んだこと、困ったこと、やめたこと、反省していることを話します。

React Native

① KitchHike式
React Native 設計チェックポイント

株式会社キッチハイク CTO 藤崎 祥見 @shoken0x
食文化・食体験を軸にしたサービス、キッチハイクのCTO / 共同創業者。React Nativeアプリをプロダクションで運用して4年目。キッチハイクエンジニアチームで月刊 RN Featuresを連載中。

発表内容
キッチハイクのアプリをReact Nativeで開発・運用した経験を元に、設計チェックポイントを紹介します。

stand.fmにおける開発体験とパフォーマンスの向上

株式会社stand.fm エンジニア 古川 亘 @kfurumiya
アプリケーションの開発においては、単にただ動くだけでなく開発のやりやすさやパフォーマンス等も重要となります。この発表ではstand.fmで最近行った開発の工夫について紹介します。

React Nativeと共に歩んだ3年間

ユタマこたろう @YutamaKotaro
airClosetにReact Nativeを導入して3年が経ちました。運用を続けてみて、チーム開発における課題感やよかった点など、いろいろと節目なので集大成としてお話しさせていただきます。

Flutter x React Native について

アフタートークにて視聴者からの質問に答えたり、ディスカッションをしました。非常に沢山のご質問をいただき、議論が白熱した有意義な時間となりました。ここでは、その中でも質問の多かったトピックをあげて、まとめました。

Flutter / React Nativeのどちらを選べばいいのか?(選定方法)

観点①:各プラットフォームでの見た目・描画(UI/UX)

Flutter
・公式でiOSデザインとMaterial DesignのUIが提供されている
・ネイティブアプリぽくない動きや見た目("偽物感")がある. ネイティブぽさを求めるなら、自分でプラットフォームごとにWidgetを出し分ける実装が必要
・アニメーションの実装が複雑(煩雑なアニメーションにはlottieが使用可能)

React Native
・各プラットフォームに合わせて描画できるところにこだわりがある. React Nativeはそういう思想で作られている
・アニメーション系ライブラリが充実(lottie-react-native, react-native-reanimated

観点②:チームメンバーのスキル / チーム体制

Flutter
・ネイティブでのiOS/Android開発知見・経験が豊富なエンジニアにとっては、Flutterを選択するのは大いにアリ
・チーム編成例:チームにAndroidエンジニアが多く、 iOS向けにアプリ開発したい場合はFlutterやKotlin Multiplatformを選択すると開発しやすいかもしれない

React Native

・Web開発知見・経験が豊富なエンジニアにとっては、React Nativeを選択するのは大いにアリ
・チーム編成例:JavasScript書けるエンジニアが多い場合や、既にReactでWeb開発していてiOS/Androidアプリ開発を始める場合は、React Nativeでアプリ開発しやすい
・また、Web開発者のスキルを持ち合わせているエンジニアが市場には多いため、人員確保(採用)・教育がしやすい

まとめ
チームのエンジニアの属性(スキル)によって選択するのが良い

Flutter, React Nativeで実運用していて辛い所は?

技術的仕様面

Flutter
・Dart: null safetyじゃない(近々null-safeがstableになる予定)
・新しい技術のためエコシステムがまだ未成熟(公式ライブラリにバグがあったり、書き方にデファクトが決まっていない)
・しかし、新しい発展中の技術であるがゆえに新しいpluginの開発が盛ん. ライブラリにバグがあっても、わりと早く修正されることが多い

React Native

・ステート管理、型など技術的選択肢が多い
・バージョンのアップデートが辛い(大体ビルドが通らなくなり苦しめられる)

React Native for Web, Flutter for Webは使っているか?

Flutter採用している各社(10X, AppBrew, SYN)
現時点(2021年1月)では、Flutter for Webは未採用。10X社では採用するか検討中。

React Native採用している各社(stand.fm, KitchHike, airCloset)
stand.fm社ではReact Native for Webを採用している。componentの共通化が主な使用用途。

最後に次回 Developers Night! イベント告知

画像1

2月26日 19:00 Developers Night!を開催します😆🎊

共同代表2名のKeynoteをはじめ、エンジニア/デザイナーのセッション、エンジニア総勢10名程との交流の場も設けています!
この夜限りの盛り沢山イベント🚀 ぜひご参加ください!!


この記事が気に入ったらサポートをしてみませんか?