Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
モバイルアプリ開発を始めよう!
Search
Yuta Tomiyama
May 17, 2025
Programming
0
47
モバイルアプリ開発を始めよう!
2025/05/17 NxTEND Shinkan Fes. 2025 にて発表
Yuta Tomiyama
May 17, 2025
Tweet
Share
More Decks by Yuta Tomiyama
See All by Yuta Tomiyama
Git勉強会
yt8492
0
110
なんでもやってみる勇気
yt8492
0
84
Android Autoが思ったよりしんどい話
yt8492
0
200
apollo-kotlinにcontributeした話
yt8492
0
130
DMM TVのSDカードダウンロード機能を実装した話
yt8492
1
830
今だからこそ知りたいKotlin Multiplatform
yt8492
0
290
State management and API calls in Jetpack Compose: Learning Apollo + Jetpack Compose through React Hooks
yt8492
0
1.2k
サーバーフレームワークの仕組みが気になったので車輪の再発明をしてみた
yt8492
0
200
Compose for Webを始めよう
yt8492
0
400
Other Decks in Programming
See All in Programming
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
820
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
120
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
ニーリーにおけるプロダクトエンジニア
nealle
0
830
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
750
技術同人誌をMCP Serverにしてみた
74th
1
640
Deep Dive into ~/.claude/projects
hiragram
14
2.5k
PicoRuby on Rails
makicamel
2
130
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
NPOでのDevinの活用
codeforeveryone
0
820
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
11k
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Adopting Sorbet at Scale
ufuk
77
9.5k
How to train your dragon (web standard)
notwaldorf
95
6.1k
BBQ
matthewcrist
89
9.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Statistics for Hackers
jakevdp
799
220k
What's in a price? How to price your products and services
michaelherold
246
12k
Being A Developer After 40
akosma
90
590k
Done Done
chrislema
184
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Transcript
モバイルアプリ開発を 始めよう! 2025/05/17 NxTEND Shinkan Fes. 2025
自己紹介 HN: マヤミト 本名: 富山雄太 会津大学出身 22卒 合同会社DMM.com DMMTV開発部 Androidエンジニア
GitHub: https://github.com/yt8492 趣味: Kotlin, Twitter, 同人, 車 ランエボ買って金欠です インターネットのすがた リアルのすがた
マヤミトの学生時代の技術遍歴 高校: 工業高校でC言語を学ぶ B1前半: Kotlinに出会い、Androidを本格的に学び始める B1後半: サイバーエージェントのiOSブートキャンプに参加 B2: サーバーサイドKotlinでバックエンド入門 B3:
KMPにハマる。Kotlin/JSでReactに入門(?) B4: Goでバックエンド書いてみたりTypeScriptでReact書いてみたり
マヤミトの学生時代の技術遍歴 高校: 工業高校でC言語を学ぶ B1前半: Kotlinに出会い、Androidを本格的に学び始める B1後半: サイバーエージェントのiOSブートキャンプに参加 B2: サーバーサイドKotlinでバックエンド入門 B3:
KMPにハマる。Kotlin/JSでReactに入門(?) B4: Goでバックエンド書いてみたりTypeScriptでReact書いてみたり
今回のゴール: モバイルアプリエンジニアについて なんとなくイメージを掴んでもらう
モバイルアプリエンジニアの魅力 - 現代人の所持率 97%※1であるスマホのアプリを開発できる! - 「このアプリ作ったの俺なんだぜ」って言えるようになるかも? - スマホの機能をフルに活かせる! - カメラ
- GPS - ストレージ - 各種センサー - 広い分野に応用が効く! - iOS ←→Android - Webフロントエンド - バックエンド ※1出典: モバイル社会研究所 https://www.moba-ken.jp/project/mobile/20240415.html
モバイルアプリの種類 - ネイティブアプリ: それぞれのOS専用にアプリを開発する - iOS - SwiftUI - Android
- Jetpack Compose - クロスプラットフォームアプリ: どちらのOS向けにもアプリを開発できる - Flutter - React Native - Compose Multiplatform - など
iOS - 開発言語: Swift - UIフレームワーク: SwiftUI - 開発環境: Xcode
- 日本の若者の使用率が高い! - Macじゃないと開発できない🥺
Android - 開発言語: Kotlin - UIフレームワーク: Jetpack Compose - 開発環境:
Android Studio - WindowsでもMacでもLinuxでも開発できる! - 世界シェアは高いけど日本の若者の使用率🥺
Flutter - 開発言語: Dart - 開発環境: Visual Studio Code, Android
Studio - レンダリングエンジンがAndroid, iOSで共通化されているため、基本的に同じ見た 目で作れる。 - Googleが開発。 - 2018年にメジャーリリース。流行ってるし情報も充実してきた感ある。
React Native - 開発言語: JavaScript(TypeScript) - 開発環境: Visual Studio Code,
Android Studio - Flutterと違い、レンダリングは共通化されず最終的にネイティブのコードに変換さ れる。 - Meta(旧Facebook)が開発。 - 2015年に公開(一生v1.0.0がリリースされない……w)。流行り自体は過ぎた感あ るが、その分成熟している感がある。
Compose Multiplatform - 開発言語: Kotlin - 開発環境: Android Studio -
レンダリングエンジンがAndroid, iOSで共通。特にAndroid側からは直接処理を 呼び出せる。 - つい最近Compose Multiplatform for iOSがStableになった。 - JetBrainsが開発。 - 2021年に1.0.0リリース。Flutterなどに比べると情報は少ない感あり。
Q. どれを学べばいいのか?
Q. どれを学べばいいのか? A. 一概には言えない。(それはそう) どちらのOSにも対応したアプリを1つのコードベースで作りたいというモチベーションがあ るならクロスプラットフォームを学べばいいと思うし、自分が普段使っている方のOSのネ イティブから学ぶのもアリだと思う。 強いて言えば、端末の機能をフルに使ったアプリを作りたいならネイティブのほうがやり やすい。 今主流の技術はネイティブもクロスプラットフォームも基本的に宣言的UIなので、学んだ
ことは基本的に無駄にならない。
モバイルアプリ開発の第1歩 - iOS - MIXIの新卒研修資料がかなり優秀 - https://speakerdeck.com/mixi_engineers/2024-new-grad-training-ios - Android -
Googleの公式コードラボが日本語に対応してて神 - https://developer.android.com/courses/android-basics-compose/course?hl=ja - https://developer.android.com/develop/ui/compose/tutorial?hl=ja - クロスプラットフォーム - Flutter - 日本語チュートリアルがある - https://flutter.ctrnost.com/tutorial/ - React Native, Compose Multiplatformは日本語の初心者向け記事やチュートリアルが少なくて 大変かも
入門したあとの2歩目 - 作りたいアプリがもともとあるならそれを作り始めるのが一番いい - モチベーションが続きやすい - ネタが思い浮かばないときは普段使っているアプリを模倣してみると勉強になって かつ楽しいかも - インスタやTwitterなどのSNSとか
- どのレベルまで再現するか (ただの見た目だけか、動作も含めてか )で難易度が変わる - ハッカソンに参加して実力をつけるのもアリ💪 - 技術力の高い先輩と一緒に出て学ぶのもよし - 自分の力だけでアプリ部分を作って己を鍛えるのもよし
今から学び始めるみんなに伝えたいこと - モバイルアプリ開発は楽しい! - 普段スマホで使うアプリを自分の手で開発できるって最高 - 興味があることから始めよう! - 「〇〇するべき」よりも「〇〇してみたい」でやるとモチベーションが続きやすい -
途中で方向転換しても学んだことは無駄にはならない! - UIアプリケーション開発の知識はもう片方の OSだけでなく他の分野にも活かしやすい - 困ったら同じ分野の先輩に聞こう! - モバイルアプリ開発は入門のハードルが高いという事実はあります (環境構築など) - 先輩たちも通った道です。きっと優しく教えてくれます。というか僕に気軽に聞いてね!