Xamarin を使っている方がいらっしゃいましたら、不便だなと思う点や、この機能は不完全だと思う点を教えていただけないでしょうか?
また、アプリ開発未経験者が Xamarin を使うのは適しているのかどうかについてもお聞きしたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
個人的な考えを述べます。
アプリ開発未経験者が Xamarin を使うのは適していないと考えます。
理由は以下のとおりです。
Xamarin は Androidアプリ、iOSアプリ を開発できる人が、コードを共通化して効率を上げるためのツールである
Xamarin は基本的に、 Android API, iOS の API を C# から呼び出せるようにしたものなので、両者について知らないとアプリ開発はできません。
画面までも同一コードで開発できるとされる Xamarin.Forms についても、同一コードで開発できる範囲はとても狭いので、それを超える要件に対応するには、Android や iOS の知識が必要になります。
まとめると Windows と Visual Studio で Android と iOS アプリの開発を始める場合、以下の知識が必要になります。
- Java
- Android SDK
- iOS SDK
- Mac
- Xcode
- C#
- .NET Framework
- Mono (.NET Framework のオープンソース実装)
- Visual Studio
- Xamarin.Android
- Xamarin.iOS
- Xamarin.Forms
これだけの知識をゼロから並行して身に付けていくのは、否定はしませんが効率は悪いと思います。
まずは Java での Androidアプリ開発や、Swift での iOSアプリ開発を経験されて、慣れてから Xamarin の使用を検討することをお薦めします。
また Xamarin でアプリ開発する際のトラブルシューティングの方法について書きました。
トラブルシュートにも手間がかかるわけですが、このデメリットがメリットを上回ると判断されるなら、Xamarin は使わない方がよいでしょう。
投稿2016/08/12 02:16
編集2017/07/26 02:45総合スコア1075
0
こんにちは。私は Xamarin で C# とモバイル開発の勉強を始めました。全くの素人でしたので(現在も。ですが。)、習得には人の何倍も時間がかかりますが、楽しいです。
iOS/Android 両方の開発をやりたい場合、次の選択肢があると思います。
- HTML5/JS で作成できる Cordova を使う
- Swift、Android Java を覚える
- Xamarin を使う
並び順は習得までの時間です。JavaScript で記述できる Cordova は敷居は低いですが、呼び出せる iOS/Android の API に制限があるため、やりたい事が実現できない可能性があります。そのため、とりあえず簡単なアプリを作りたいという場合は良いかもしれませんが、個人的にはお勧めしません。
Xamarin は皆さん仰るように、様々な知識が必要で、かつ、ツールの成熟度も低いため、敷居が高く、学習コストも高いです。ただし、iOS/Android 両対応のアプリを作るならどちらにしても Swift/Android Java は覚えなくてはいけません。 であれば、それに C# の勉強を加え、Xamarin でやった方が、書きやすい C# で記述でき、API をすべて使え、iOS/Android 両対応のアプリを一気にリリース出来るわけです。やる気があるなら Xamarin の沼に足を踏み入れて、私たちと一緒にズブズブとはまってみるのも楽しいと思いますよ。
興味があれば Japan Xamarin User Group にも遊びに来てください(^^)
投稿2016/08/15 01:01
総合スコア335
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
デメリットについて
学習コストがデメリットです。
また、最初からそうだったので、自分ではデメリットとは感じてはいないのですが、
ドキュメントのほとんどが英語というところが、デメリットになると思います。
読める読めない以前にたどり着けるかというところが重要かも。
アプリ開発未経験者が Xamarin を使うのは適しているかについて
アプリ開発未経験者が Xamarin を使うのは適していないという
amay077さんの考えとほぼ同じなのですが、
アプリ開発未経験者が
- モバイルアプリ開発が未経験だけど、C#を使って、クロスプラットフォームのデスクトップアプリケーションを作成したことがある
- その資産を使って、モバイルに移植する
という場合において、
アプリ開発未経験者が Xamarin を使うのは適していると思っています。
Xamarinのメリットがデメリットを超える場合だと思います。
投稿2016/08/12 12:17
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
私も今まで全くモバイル開発をした事が無く、数ヶ月前にVisualStudio2015でXamarinを始めたばかりです。
XamarinなのかXamarin.Formsなのかわからないため、Xamarin.Formsを想定して回答します。
困る事は、情報が少ない事です。
書籍は全然出版されてなさそうですし、ネットを見てもまだまだ情報が少ない気がします。
続いて、環境構築や設定方法が難しいと感じました。
また、ちょっとした事ですぐにエラーが出るし、エラー内容も英語な上わかりにくいです。
クロスプラットフォーム開発のためか、画面デザインはビジュアル的に作れないため、確認は実行しないとわからないです。もしかしたら確認方法があるのかも知れません。
ただ、今までデスクトップアプリを作っていた者としては、最初大変でした。
ただし、画面デザインをプラットフォーム別に設計することもでき、そちらではビジュアル的に設計できるみたいです。
私は今のところそこまでプラットフォームに特化した物を作ろうとしてなく、極力同じコードでを目指しているので、Xamarin.Formsで作っています。
逆に良いと感じた事はやはり慣れ親しんだC#で書けることです。
今現在、VisualStudioでしかもXamarin自体無償の様なので、その点もプラスポイントですね。
プラットフォームに関する事はデスクトップアプリとは変わってきますが、基本構文などは変わらないため、ある程度のところまでは楽でした。
作るアプリのターゲットがIOS、Androidでありjavaやswiftが得意でなく、C#が得意であれば、個人的にはおすすめできる物だと思います。
投稿2016/08/11 16:05
総合スコア202
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
自分的にはほかの方も上げられますが、
・Xamarinはバージョン更新も多く環境構築などで多少手間取ることがある。改善されてるとはいえバグもある。
・開発情報、特に日本語のもの、が少ない。
・ネイティブで開発するよりも一段階レイヤーが増えるためその学習コストが必要
などがデメリットとして挙げられるのではと思います。
その代わりのメリットとしてはすでにご存じとは思いますが、C#などの.NET言語で多くのロジックやUIを共通に作れることですので、そのメリットとデメリットを考慮して選択されるのかと思います。
すでにC#などに慣れてるのであればだいぶメリットが多くなるのではとも思います。
個人的な経験ですが、自分はそれまでiOSもAndroidもまともに開発したことがないまま、Xamarin.iOSでアプリを作り(そちらは諸事情でペンディングになっていますが)、いまXamarin.Formsで開発しています。
iOSの知識はXamarin.iOSでの開発を通じてUIKitなども調べたためある程度ありますが、Androidについてはほとんど知りません。いまだにFragmentが何なのかもよくわかっていません。
Javaは20年ほど前に触ったことはありますが、今回は全く触ってないし見てもいません。
MacやXCodeなどもXamarin.iOSの開発時によくわからないながら調べつつなんとなく使えるようになりました。が今でもProfileとかややこしくて苦手ですが。
Xamarin.Formsを使った場合、ものによってはiOSとAndroidの知識をほぼ持たないままアプリを作ることも可能です。
もちろん製品として作る場合にはアイコンの設定方法から始め色々なところで各々のプラットフォームではどうやるかということを調べる必要があります。
が、その際に必要になる知識はXamarinを使わない開発で必要になる知識とだいぶ重なるところはあると思います。
従ってどのみち必要なところは覚えないといけないのだし、それだったら色々なところが共通化できるXamarinで開発を始めることもありなのではないかと思います。
ただしその場合はネイティブで開発するよりも調べることが多くなると思いますから、困ったときに調べて何とかできる能力がより必要になる気はします。それも英語で。
それが問題なければ以前よりもXamarinの環境も安定してきていますし、十分選択肢の一つになると思います。
投稿2016/09/19 16:20
総合スコア109
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。