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
新規アプリ開発で Xamarin導入を見送った話
Search
Chooyan
February 01, 2019
Technology
0
150
新規アプリ開発で Xamarin導入を見送った話
初心者歓迎XamarinのLT会!Xamarin入門者の集い #5 で発表させていただいたLTの資料です。
Chooyan
February 01, 2019
Tweet
Share
More Decks by Chooyan
See All by Chooyan
Riverpod 移行を支えた LivMap のアーキテクチャ
chooyan244
0
1.1k
Azureもくもく会 #21 成果発表LT資料
chooyan244
0
290
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する
chooyan244
1
290
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する.pdf
chooyan244
0
260
Other Decks in Technology
See All in Technology
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
590
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
6
1.2k
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
300
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
1
140
Trust as Infrastructure
bcantrill
1
370
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
700
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
130
Simplifying Cloud Native app testing across environments with Dapr and Microcks
salaboy
0
130
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
430
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
500
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
2
210
Featured
See All Featured
Code Review Best Practice
trishagee
72
19k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Six Lessons from altMBA
skipperchong
28
4k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Mobile First: as difficult as doing things right
swwweet
224
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
KATA
mclloyd
32
15k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Transcript
フリーランスソフトウェアエンジニア 中條 剛(ちゅうじょう つよし) Twitter : @chooyan_i18n GitHub : @chooyan-eng Qiita :
@chooyan_eng 新規アプリ開発で Xamarin導入を見送った話
自己紹介 • フリーランスでAndroid/iOSアプリの開発や講師などをしています • Xamarin歴1ヶ月程度です • 2018年は「オークメモリーズ」アプリ を作りました
Xamarinでの開発を見送った話 • 状況 ◦ 会社初のアプリ開発。 Webがメイン。 ◦ アプリ開発者は自分ひとり ◦ 自分もiOSアプリ開発は初めて
◦ ワイヤーフレームも何もない状態からの開発スタート • 結論 ◦ Xamarinではなくネイティブ(AndroidはKotlin、iOSはSwift)で開発する ◦ AndroidをリリースしてからiOSに着手する方針(自分の経験の都合)
Xamarinを使うメリット • ひとつの言語、ひとつのコードベース ◦ コードを共通化することで同じロジックを Kotlin / Swiftで2度書く必要がなくなる ◦ プラットフォームごとの仕様差分、実装差分が減らせる
◦ ひとりの開発者がAndroidもiOSも幅広く担当できる ◦ 開発を効率化できる
Xamarinを使うリスク ① • エンジニア見つけられない問題 ◦ メンバーを追加しようと思ったときに、 Xamarinができる人が見つからないのではないか? ◦ 主に知り合いづてでメンバーを探していたため、マッチする人を見つけるのが大変そう
Xamarinを使うリスク ② • 学習コスト高い問題 ◦ 例えばiOSアプリ開発をする際、 C# -> Xamarin ->
iOSプラットフォームをそれぞれ学ばなければな らないのではないか。ネイティブなら Swift -> iOSプラットフォームのみ。 ◦ 問題の原因や解決方法の調査をする際、結局 SwiftやObjective-Cも読むことになりそう。 ◦ 新しいアプリ開発者が入るたびに C# -> Xamarinを覚えなければならない。
Xamarinを使うリスク ③ • 思ったより共通化の効果が大きくなさそう問題 ◦ ロジックの大半はサーバーサイドでも共通化できるのではないか ◦ 各プラットフォーム「らしさ」を考えると UIはあまり共通化できないのではないか ▪
CustomRendererというのがあるらしい(まだ調べられていない、、、) ◦ 共通化した部分と共通化できない部分を繋げる設計が必要になるのではないか。たぶん。
Xamarinが適したプロジェクトを考えてみた • 開発者が確保できる ◦ Xamarinができる開発者が見つかる見込みがある ◦ Xamarinを「追加で」学習するコストが支払える • 共通のUIをデザインできる ◦
タブバー、ナビゲーションドロワーなどのプラットフォーム固有の UIに頼らず、 Android / iOSどちらのプラットフォームでも使いやすい UIをデザインできる ◦ (Xamarin.Forms的にどの程度UIに差を出しても大丈夫なのかは要調査) • 「アプリ側に」たくさんのロジックを実装する必要がある ◦ ローカルでデータを処理する、センサーや地図を扱うなど、サーバー側へ処理を任せられない機能 が多い
オークメモリーズでは? • 開発者が確保できる ◦ Xamarinができる開発者が見つかる見込みがある ◦ Xamarinを「追加で」学習するコストが支払える • 共通のUIをデザインできる ◦
タブバー、ナビゲーションドロワーなどのプラットフォーム固有の UIに頼らず、 Android / iOSどちらのプラットフォームでも使いやすい UIをデザインできる ◦ (Xamarin.Forms的にどの程度UIに差を出しても大丈夫なのかは要調査) • 「アプリ側に」たくさんのロジックを実装する必要がある ◦ ローカルでデータを処理する、センサーや地図を扱うなど、サーバー側へ処理を任せられない機能 が多い ちょっと難しそう、、、 ちょっとできなそう、、、 ちょっと分からない、、、 ほぼサーバーのAPI叩くだけ
ありがとうございました マルチプラットフォームはロマン! 懇親会でみなさんの意見や経験談を聞かせてください!