新しもの好きプログラマの耳より情報ブログ

仕事でもあるプログラミングについて役に立ちそうな情報を発信していこうというブログです。役に立たなそうな情報はfacebookで。

Xamarinを使う前にCordovaも検討したほうが良さそう

ちょっと勉強会でクロスプラットフォーム開発の話を聞いてきたので、ポイントをまとめてみる。
私はC#にかなり慣れているのでまずXamarinで一度作ったことがある。WCFも使えたので共通コード部分はかなり書きやすかった印象がある。
しかし一般的にはXamarinは第一選択肢とは言いがたいようだ。
Xamarinを選ぶのは次のどちらかが狙いの場合。
・ネイティブのコントロールやネイティブそのものに近いソースコードをガリガリ書きたい
C#と.NETが使いたい
Xamarinはネイティブ重視という特徴から、手軽さも低いしコードの共通化率もさほど高くならない、という欠点がどうしてもあるらしい。
UI共通化のXamarin.Formsもネイティブ重視の考え方なので使いづらいようだ。「Android/iOS/Windowsのすべてのネイティブに存在するコントロールだけが使える」という最大公約数の発想なのが理由。例えば、チェックボックスiOSにないから使えないとのこと。
とにかく手軽にコードを共通化して書きたいならCordova+UIフレームワーク(OnsenUIとか)という選択肢が第一に浮上してくるようだ。
とりあえずC#使いたいからXamarinというのはちょっと安易であって、プロジェクトの事情に応じて選択する必要があるなあと感じた。