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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Chooyan
February 01, 2019
Technology
160
0
Share
新規アプリ開発で Xamarin導入を見送った話
初心者歓迎XamarinのLT会!Xamarin入門者の集い #5 で発表させていただいたLTの資料です。
Chooyan
February 01, 2019
More Decks by Chooyan
See All by Chooyan
Riverpod 移行を支えた LivMap のアーキテクチャ
chooyan244
0
1.3k
Azureもくもく会 #21 成果発表LT資料
chooyan244
0
300
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する
chooyan244
1
300
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する.pdf
chooyan244
0
270
Other Decks in Technology
See All in Technology
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
3
840
Building a Study Buddy AI Agent from Scratch: From Passive Chatbots to Autonomous Systems
itchimonji
0
140
OWASP APTSを眺めてみた
su3158
0
120
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.3k
GitHub Copilot CLI と VS Code Agent Mode の使い分け
tomokusaba
0
140
GitHub Copilot Dev Days
tomokusaba
0
150
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
350
変化の激しい時代をゴキゲンに生き抜くために 〜ストレスマネジメントのススメ〜
kakehashi
PRO
4
1k
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
10k
小さいVue.jsを30分で作る
hal_spidernight
0
140
2026年春のAgentCoreアプデ 細かいやつ全部まとめ
minorun365
3
180
Digital Independence: Why, When and How
wannesrams
0
280
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
WENDY [Excerpt]
tessaabrams
10
37k
WCS-LA-2024
lcolladotor
0
570
Believing is Seeing
oripsolob
1
120
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
450
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
Making Projects Easy
brettharned
120
6.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Music & Morning Musume
bryan
47
7.2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
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叩くだけ
ありがとうございました マルチプラットフォームはロマン! 懇親会でみなさんの意見や経験談を聞かせてください!