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
74
モバイルアプリ開発を始めよう!
2025/05/17 NxTEND Shinkan Fes. 2025 にて発表
Yuta Tomiyama
May 17, 2025
Tweet
Share
More Decks by Yuta Tomiyama
See All by Yuta Tomiyama
ビルドプロセスをデバッグしよう!
yt8492
0
310
Git勉強会
yt8492
0
170
なんでもやってみる勇気
yt8492
0
110
Android Autoが思ったよりしんどい話
yt8492
0
220
apollo-kotlinにcontributeした話
yt8492
0
150
DMM TVのSDカードダウンロード機能を実装した話
yt8492
1
870
今だからこそ知りたいKotlin Multiplatform
yt8492
0
300
State management and API calls in Jetpack Compose: Learning Apollo + Jetpack Compose through React Hooks
yt8492
0
1.3k
サーバーフレームワークの仕組みが気になったので車輪の再発明をしてみた
yt8492
0
210
Other Decks in Programming
See All in Programming
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
280
FlutterKaigi 2025 システム裏側
yumnumm
0
1k
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
810
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
2
440
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
200
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
320
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
420
AI POSにおけるLLM Observability基盤の導入 ― サイバーエージェントDXインターン成果報告
hekuchan
0
510
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
560
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4.1k
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
160
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Music & Morning Musume
bryan
46
6.9k
Become a Pro
speakerdeck
PRO
29
5.6k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A designer walks into a library…
pauljervisheath
210
24k
Site-Speed That Sticks
csswizardry
13
960
How to Ace a Technical Interview
jacobian
280
24k
Done Done
chrislema
186
16k
BBQ
matthewcrist
89
9.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
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だけでなく他の分野にも活かしやすい - 困ったら同じ分野の先輩に聞こう! - モバイルアプリ開発は入門のハードルが高いという事実はあります (環境構築など) - 先輩たちも通った道です。きっと優しく教えてくれます。というか僕に気軽に聞いてね!