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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Chooyan
February 01, 2019
Technology
0
160
新規アプリ開発で 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.2k
Azureもくもく会 #21 成果発表LT資料
chooyan244
0
300
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する
chooyan244
1
290
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する.pdf
chooyan244
0
270
Other Decks in Technology
See All in Technology
22nd ACRi Webinar - 1Finity Tamura-san's slide
nao_sumikawa
0
110
Greatest Disaster Hits in Web Performance
guaca
0
300
OpenShiftでllm-dを動かそう!
jpishikawa
0
140
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
Exadata Fleet Update
oracle4engineer
PRO
0
1.1k
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
430
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
190
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
620
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
130
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Designing for humans not robots
tammielis
254
26k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
400
Technical Leadership for Architectural Decision Making
baasie
2
250
Utilizing Notion as your number one productivity tool
mfonobong
3
220
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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叩くだけ
ありがとうございました マルチプラットフォームはロマン! 懇親会でみなさんの意見や経験談を聞かせてください!