63
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

XamarinAdvent Calendar 2014

Day 1

マカーの人が Xamarin について勘違いしていそうな5つのこと

Last updated at Posted at 2014-12-01

 今年も始まりました Xamarin Advent Calendar 2014
 思えば昨年の Advent Calendar は、5名の方に参加していただいたものの「ほとんど俺」みたいな感じでしたが、今年はたくさん方に登録してもらえてとても嬉しいです。この1年の Xamarin の躍進ぶりを象徴していると思います。

 そんな Xamarin ですが、Microsoft とのパートナーシップが強力なおかげで、Windows系の開発者には広く知られて(そういう戦略なのは分かります)いますが、普段 Mac で iOS/Android アプリを開発してますみたいな人にはあまりリーチできていないかなあと思います。

 そこで初日の今日は、マカーの人が、勘違い・思い込んでいそうなことをいくつか払拭してみたいと思います。

Q1. Xamarin を使うには、Visual Studio が必要なんでしょ?

A1: 必要ありません。 「Xamarin Studio」という専用の統合開発環境で開発できます。私は Mac + Xamarin Studio で開発していますが、まったく問題を感じていません。
 また、iOSアプリのView部分は、Xcodeと同じ .storyboard ファイルを使用しますが、Xcode を使う必要もありません。Interface Builder と同じ(か部分的にはそれ以上)の機能を持つ UIデザイナーが、Xamarin Studio には搭載されています。

Q2. Xamarin を使うには、Windows が必要なんでしょ?

A2: 必要ありません。 Mac のみで完結します。むしろ Windows だけでは iOSアプリのビルドができないので、Mac にリモート接続する必要があり、これがしばしばトラブルになります。(主にデモでw
 Microsoft がアピールするとどうしても Windows+Visual Studioの説明になってしまいますが、それはまやかしです(言い切った!

Q3. Xamarin社って、Microsoft の子分みたいなもんでしょ?

A3: Xamarin社は独立した企業であり、Microsoftとは対等な立場です(と私は思っています)。「Microsoft に買収されればいいのに」という声をよく聞きますが、私は独立した企業である現在のポジションが Xamarin社にとってベストだと思っています。Microsoftにとってはモバイル開発者にリーチする重要なピースであり、Xamarin社としても他にないマーケットです。
また、今年の Xamarin の大イベント Evolve2014 には、Microsoft の他に IBM, Amazon, Google, Salesforce, Dropbox と言った、他ではちょっと見られないような豪華なスポンサー群になりました。これも Xamarin の中立な立ち位置がなせる技だと思います。
あ、最近の .NETのオープン化 の流れは、Xamarin の CTO であり Monoプロジェクトの生みの親であるスーパーハッカー、ミゲル・デ・イカザ氏が少なからず関係していると思っています。

Q4. C# 覚えるのしんどい

A4. あなたはあの Objective-C を覚えたのでしょう?

Q5. Swift の方が C# よりイケてるじゃん?

A5. 後発である Swift がイケてるのは誰もが認めるところでしょう(かつて Java に対する C# がそうであったように)「Swift は関数型言語だ」という意見には、Xamarin は F# を提案します。Xamarinには F# の MVP(勝手に”数学ガール”だと思っている)も居ます(←訂正:Xamarinの人じゃなかったです)し、日本でも F#+Xamarin でアプリ開発されている型も居らっしゃいます。

まとめ

 ちょっと宗教論争っぽくなりかけたので、ここまでにしておきます。強く主張したいのは、モバイルアプリ開発者なら iOS だけ、Android だけ知っていても良いアプリは作れないでしょう。両方のプラットフォーム、開発言語、哲学を理解する必要があります。 Xamarin だから Swift を覚えなくていいという事はありません。
 
 でも、同じ(少なくとも同じような機能をもった)アプリの同じロジックを、異なる言語でそれぞれ書いて、その後数年保守し続ける現状は、本当に最適なのでしょうか?同じコード、あるいは同じバイナリが iOS/Android で動作すれば、保守費用は半分です(SIer みたいな言い方だw)。

 「共通にできる選択肢、あるいはプラットフォームの文化にあわせて別々にできる選択肢」を自然な形で提供するのが Xamarin、 Java も Swift も C# も覚えて C# で D.R.Y するのが Xamarin です。

 最後に宣伝ですが、 Build INSIDER というWebサイトで「Xamarin逆引きTips」という連載をしています。

 これは、.NET Framework は今まであまり使った事がない iOS/Android アプリ開発者をターゲットにしていて、説明もほぼ全てが Mac+Xamarin Studio を使って書いています。興味持ったら読んでもらえると嬉しいです。

 本日まったく登場しなかった Visual Studio や Windows Phone などの話は、明日以降登場すると思いますので、お楽しみに!それでは初日はこの辺で。

63
63
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
63

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?