こんにちは、コタツです。

最近はAndroidのアプリ開発に力を入れています。以前はEclipseというIDE(総合開発環境)を利用して開発していたのですが、そうだ、Androidstudioを使ってみようで記載しているように、現在はAndroid Studioで開発をしています。そのためショートカットキーやプラグインなどで手間取ってしまい、開発が進んでいないのがのが現状です。

そんな時、こんな記事を目にしました。

Xamarinがモバイルアプリの開発を変える

2016年2月にMicrosoftが買収したことで、名前ぐらいは知っていたのですが、今回じっくり調べてみて驚きました。

クロスプラットフォームだと!!

面倒くさいことが大嫌いな私にはクロスプラットホームは凄く幸せになれる言葉です。

Xamarin(ザマイン)に興味を持ち、導入しようと思った理由を紹介します。



メリット

クロスプラットホーム

クロスプラットフォームとは、iOSやAndroid、Windows Phone向けのアプリを1つの環境で開発ができることです。

ざっくり言いますと、普通iOSのアプリを作るにはObjective-Cという言語を理解してxcodeという環境で開発をします。Androidのアプリを作るにはjavaという言語を理解して、Android Studioという環境で開発します。WindowsPhoneアプリを作るにはC#という言語を理解して、VisualStudioという環境で開発します。

つまり自分が作成したアプリをiPhone、Android、WindowsPoneで公開しようとすると、Objective-CとjavaとC#という3つの言語を理解して、それぞれの環境で開発をしなければいけないの、ソースコードは3つになります。アプリにバグはつきものなので、バグが発生したら3つのコードを修正してテストをするという大変な作業になってしまいます。

クロスプラットフォームだと、1つの言語を理解して1つの環境で開発すれば、iOS版、Android版、WindowsPhone版が同時に完成するのです。なんて便利なのでしょう。

開発言語がC#で開発環境がVisualStudio

私が得意とする言語はC#です。しかもvisualStudioは一番使い慣れているIDEです。新しい言語に抵抗があるわけではないのですが、やはり慣れている言語で開発するほうがコストを考えると安くなります。

またアプリを作るにあたってWebアプリケーションサーバーをC#で開発しますので、サーバー側も共通化できます。

Xamarin(ザマイン)は無料

無料、大きいです。個人で開発をしている私には助かります。VisualStudioCommunityとXamarinのセットが無料で利用できます。



デメリット

日本語資料が少ない

新しいものはいつもそうですが、日本語の資料が少ないです。開発環境の構築からソースコードの書き方まで。開発中に困ったときにGoogle先生に質問しても帰ってくる答えは英語の先生ばかり。英語が苦手な私が英語と格闘しなければいけないというのは不安です。

以前、GAE(Google App engine)という技術が登場したとき、面白そうだったのですぐに飛びついたのですが、この時も英語の資料しかなく悪戦苦闘したのを覚えてます。フラッシュバックします。

iOSアプリは結局Macが必要

以前iOSのアプリの開発に少しだけ参加したことがあるのですが、iOSのアプリには最終的にはMacが必要なのです。開発に関してはWindowsでもできるのですが、いざアプリをリリースするためにはMacが必要となってくるのです。Xamarin(ザマイン)を使えばMacは必要にならなくなってるのではないかという淡い期待を持っていたのですが、そこまで甘くはなかったです。

まとめ

デメリットは多少なりともあるものの、クロスプラットフォームという幸せな言葉には勝てません。もしかしたらAndroidStudioでの開発ではできる機能なのに、Xamarin(ザマイン)ではできないという機能が出てくるかもしれないので、AndroidStudioから完全に移行するかは現在不明です。しかし興味津々なので、次回からXamarin(ザマイン)の環境を作っていろいろと比較をしながら試してみようと思います。