Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Flutterのすヽめ
Search
Yuto
October 04, 2023
Programming
37
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutterのすヽめ
社内勉強会用資料
Yuto
October 04, 2023
More Decks by Yuto
See All by Yuto
自分の言葉で伝える
tsukamoto1783
0
6
画像のリサイズ関数の裏側では何が起きている?
tsukamoto1783
0
31
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
34
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
360
【超入門】AR 技術の"さわり"だけ学んでみる
tsukamoto1783
0
34
MCPサーバーって結局何ができるの?
tsukamoto1783
0
43
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
88
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
93
アクセシビリティ対応について考えよう
tsukamoto1783
0
41
Other Decks in Programming
See All in Programming
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
220
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
210
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
130
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
370
LLM 101
dalinaum
0
470
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Event is what happens
moro
2
4k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
1
300
GraphQL の onError と Nullability のこれから
quramy
0
210
Performance Optimization With LLMs
xleitix
0
250
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
So, you think you're a good person
axbom
PRO
2
2.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
Discover your Explorer Soul
emna__ayadi
2
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
580
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
630
Transcript
Flutterのすゝめ 〜 新規モバイルアプリ開発 ≒ Flutter !? 〜 社内勉強会 2023/10/4
Flutterのすゝめ 〜 新規モバイルアプリ開発 ≒ Flutter !? 〜 社内勉強会 勉強会を実施する意図 •
勉強会で話すために内容整理することで、自身の理解が深まる。 • 間違っている部分があれば指摘いただけ認識修正できる。 • 他の人の考えや意見が得れるきっかけとなり、新たな気づきが得れる。 はじめに • 私はFlutterを主で開発している身なので、贔屓目に記載がある可能性があります。 • ここで言う「ネイティブ言語」とは、swift, kotolinのことを指します • コメント、質問、補足、指摘修正、ガヤ、等々ありましたらSlackのスレッドに書き込んでくれたら確認しま す。喜びます。(口頭でもOK)
目次 • Flutterとは? • Flutterの特徴 • 「Flutter」 vs 「React Native」
• Flutterの課題
目次 • Flutterとは? • Flutterの特徴 • 「Flutter」 vs 「React Native」
• Flutterの課題
Flutterとは? • Flutter(フラッター)とは、2018年にGoogleが正式リリースした、オープンソース のフレームワーク • 使用言語はDrat(Google製) • JavaScriptの代替言語として2011年にGoogleからリリース • クロスプラットフォーム
• iOSとAndroidの双方に対応したスマホアプリや、Webアプリ、 macOS/Windows/Linuxのクライアントアプリを同時に開発することができる
Flutterを使用している企業例 • Alibaba, BMW, Google, etc. • TOYOTA, CyberAgent, DNA,
etc.
目次 • Flutterとは? • Flutterの特徴 • 「Flutter」 vs 「React Native」
• Flutterの課題
Flutterの特徴 • iOSとAndroidの双方を同時に開発可能(クロスプラットフォーム) 単純工数が1/2に。 • ホットリロード機能 プログラムを変更したらすぐにUIに変更がかかるので、いちいち再buildする必要が ない。開発体験◎ • 必要なバックエンド周りは全てモバイル特化のミドルウェア(Firebase)で完結
Push通知、DBのデータは全てリアルタイム更新可能、cloud functions, Auth, etc. • 標準でマテリアルデザイン(Material3)に対応 • Material3 demo app • FigmaでFlutter向きのアプリデザインを簡単に作成する方法 • etc.
ホットリロード demo
None
目次 • Flutterとは? • Flutterの特徴 • 「Flutter」 vs 「React Native」
• Flutterの課題
「Flutter」 vs 「React Native」 • Flutter: • Google • ”一回書けば、全て(様々)のプラットフォームで動く”
• React Native • Facebook • “Write once, Run anywhere” ではなく、“Learn once, Write anywhere” • ≒”Reactを一度学べば、どのプラットフォームでも動く” 参考:React Native: Bringing modern web techniques to mobile / This is working
どちらの方が優れているとかではないが、トレンド的にはFlutterの方が勢いがある印象
備考:ネイティブ言語との比較
目次 • Flutterとは? • Flutterの特徴 • 「Flutter」 vs 「React Native」
• Flutterの課題
Flutterの課題 • 比較的新しいフレームワークで、アップデートが活発でキャッチアップが大変 • カメラやBluetoothなどデバイス固有機能や、最新のデバイス機能は苦手 • 人材確保が困難
Flutterの課題 • 比較的新しいフレームワークで、アップデートが活発でキャッチアップが大変 • カメラやBluetoothなどデバイス固有機能や、最新のデバイス機能は苦手 • 人材確保が困難
アップデートが活発でキャッチアップが大変 • 月1〜2ぐらいの頻度でバージョンアップが行われている 参考:Flutter SDK releases
Flutterの課題 • 比較的新しいフレームワークで、アップデートが活発でキャッチアップが大変 • カメラやBluetoothなどデバイス固有機能や、最新のデバイス機能は苦手 • 人材確保が困難
デバイス固有機能はやや苦手 • デバイスの最新機能 • ネイティブ言語(swift, kotlin)での実装が落ち着いてからFlutterへ持ち込まれる。 • ex.) FaceID, ワイヤレス充電
• カメラ(VR, AR)やBluetooth連携、など • 基本的な使用であればパッケージで対応できるが、細かい制御や特殊な仕様だと厳 しい印象 • 結局パッケージの中身は内部的にネイティブ言語を呼び出していることが多いの で、自作で機能をネイティブ言語で実装する必要あり。 • ≒逆に考えると、Flutterアプリで欲しい機能があればネイティブ言語で実装がで きるということ!
Flutterの課題 • 比較的新しいフレームワークで、アップデートが活発でキャッチアップが大変 • カメラやBluetoothなどデバイス固有機能や、最新のデバイス機能は苦手 • 人材確保が困難
人材確保が困難 • 新しいフレームワークなので、実務系経験者が少ない • そもそも求人数が少ない • Flutterだけの経験だけでなく、ネイティブ言語での開発経験が求められがち
Greenでの検索結果 検索キーワード 検索結果 Java 1684企業 5583求人 Python 1479企業 4449求人 Aws
2177企業 8248求人 Typescript 990企業 2620求人 React 1160企業 3154求人 Swift 597企業 1555求人 Kotlin 548企業 1583求人 Flutter 287企業 734求人 React Native 133企業 279求人 • Flutterの求人数は、Java求人の約 1 / 7 • 求人内容のほとんどが以下のどれかの印象 • ネイティブ言語で作られているアプリのFlutterリプレイス 人材 • 今後社内でFlutterを進めていくためのFlutterテックリード 募集 • 数名のスタートアップ企業 • どの条件でも基本はネイティブ言語の開発経験は重要視
RIZAPの事例 引用:https://fortee.jp/iosdc-japan-2023/proposal/4a8ef72b-9c0c-40ef-8e8f-084fd0199c49
まとめ • Flutterとは? • iOSとandroidを同時に開発できるGoogle製のクロスプラットフォーム • Flutterの特徴 • iOSとandroidを同時に開発できる •
開発体験が良い • バックエンドツールも充実 • 標準デザインはMaterial3 • Flutter vs React Native • 思想の違いです。どちらもクロスプラットフォームとして優秀 • Google Trends的にはFlutterの方やや人気そう • Flutterの課題 • キャッチアップ大変 • デバイス固有の機能は苦手 → 必要であればネイティブ言語の実装が必要 • 人材確保が困難