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
140
新規アプリ開発で Xamarin導入を見送った話
初心者歓迎XamarinのLT会!Xamarin入門者の集い #5 で発表させていただいたLTの資料です。
Chooyan
February 01, 2019
Tweet
Share
More Decks by Chooyan
See All by Chooyan
Azureもくもく会 #21 成果発表LT資料
chooyan244
0
250
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する
chooyan244
1
240
CodeYourRubyでRubyを仕事にする全てのエンジニアに貢献する.pdf
chooyan244
0
200
Other Decks in Technology
See All in Technology
20240321_生成AI時代のDevOps
kzkmaeda
2
610
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
11
3k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
12
2.9k
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
230
.NETの非同期戦略とUnityとの相互運用
neuecc
2
2.4k
Oracle Database で機械学習を始めよう! Oracle Machine Learning
oracle4engineer
PRO
1
140
依存ライブラリはどこに?
takesection
0
110
匠MethodとRDRAとICONIXとDDDで実現する一気通貫オブジェクト指向開発
haru860
4
2k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
ハイパフォーマンスな組織をつくるための開発生産性の考え方 / developer-productivity-high-performer-link-and-motivation
lmi
3
250
Autify Company Deck
autifyhq
1
30k
期待しすぎずに取り組む両面 TypeScript
shozawa
2
290
Featured
See All Featured
What the flash - Photography Introduction
edds
64
11k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
The Invisible Customer
myddelton
114
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
Product Roadmaps are Hard
iamctodd
43
9.6k
KATA
mclloyd
14
11k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
YesSQL, Process and Tooling at Scale
rocio
160
13k
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叩くだけ
ありがとうございました マルチプラットフォームはロマン! 懇親会でみなさんの意見や経験談を聞かせてください!