ゆるふわフラペチーノ

いっちゃんのブログです

本当の初心者のためのXamarin+JXUGまとめ

はじめに

この記事は[初心者さん・学生さん大歓迎!] Xamarin その2 Advent Calendar 2016の7日目の記事になります。

この記事はXamarinを初めてみたい方Xamarinの導入を考えている企業に向けたの記事となっています。

今回は先に行われたJXUGC #20 Xamarin ハンズオン大会 第二弾 名古屋支部 & 学生支部のまとめや感想、XamarinのメリットデメリットなどをXamarin初心者目線で"素直に""率直に"書かせていただきます。[情報は2016年12月7日現在のものとなります]

(これまでの記事を見させていたたいたのですが初心者とは何だったんだ?という感じの素晴らしい記事ばかりなのでこんな記事で身の縮まる思いをしております……)

Xamarinとは

XamarinとはMicrosoftが提供するC#xaml(ザムルと発音)でAndroidiOSwindowsなどのアプリケーションを開発できるライブラリです。
ネイティブにAndroidアプリケーション、iOSアプリケーションを開発できるだけでなく、Xamarin.Formsを利用することでクロスプラットフォーム開発、つまり同じコードでAndroidiOSのアプリケーション開発ができる賢いライブラリです。

JXUGとは

JXUGとはJapan Xamarin User Groupの略でXamarinを愛する方々で作られたコミュニティです。
http://jxug.org

JXUGC #20 Xamarin ハンズオン大会 第二弾 名古屋支部 & 学生支部はJXUGの田淵さんとくぅくんを中心に開かれた初心者向けのハンズオン大会です

事前準備

環境構築は
https://github.com/ytabuchi/XamarinHOL/blob/master/XamarinHandsOn_Prepare_JXUG.pdf
田淵さんがgithub上にpdfでまとめていただいたものを見ていただけると問題なくビルドまで行えると思います。ハンズオンでは事前に環境構築は行いました。
Androidの開発も行いたい場合はAndroid SDK, JDKのインストールをお忘れなく。

ハンズオン内容

ハンズオンはXamarin.formsを用いてクロスプラットフォーム開発でアプリケーションを制作することです。Xamarin.formsはAndroid開発とiOS開発をほぼ並行に行うことができ、大変便利な代物です。
https://github.com/chomado/xamarin-dev-doc/tree/master/hands-on
今回はMicrosoft本社のハンズオン手順書をMicrosoftテクニカルエヴァンジェリストのちょまどさんやその他の方が翻訳しいただいたものに沿って行われました。
githubでのプロジェクトのCloneの方法までスクリーンショットを用いて解説してあるため初心者にも大変わかりやすくなっています。
アプリケーションはMicrosoft本社のXamarin-Devのスピーカーの方々の表示とその方の詳細を表示する内容のものとなっています。

初心者が感じたXamarinのメリットとデメリット

Xamarin開発は基本的なC#の知識に加えアプリケーション開発の知識が問われるため初めてのアプリケーション開発がXamarinとなるとViewやModelなどの感覚が難しい印象があります。さらにXamarinではUIをxamlで記述することになっています。マークアップ言語なのでxamlを全く触ったことないものの雰囲気で記述できるかもと思いましたがやはりある程度難しいことには違いありません。マークアップ言語を全く触ったことがなければ、かなり苦労するでしょう。また、日本語の資料が増えてきたとはいえ
まだ少ないため英語が苦手な人には荷が重いかもしれません。さらにXamarinは更新の周期がかなり早い印象があり、常にアンテナを高く張っていないと壁にぶち当たる可能性も……
以上の点からプログラミング初心者にはあまり強くおすすめできません。
しかし、長々とデメリットを説明しましたがXamarin.formsを用いればクロスプラットフォーム開発が行うことができ、Android開発、iOS開発を同時に行うことができるのは大変便利なため、Xamarinを利用する価値は大いにあると感じました。また、Microsoftが提供しているライブラリということもあり非常に信頼性が高く、Xamarinを導入する企業も増えており、技術取得にかかるコストを考えてもXamarinは十分に利用価値があると思います。
技術取得には先ほどのようなハンズオン資料やJXUGのコミュニティの勉強会などに参加などをおすすめします。また、Twitterハッシュタグ#JXUGにツイートをポストすると心優しい誰かが回答をくれる(かもしれない)ので、開発に行き詰まった時は先輩Xamarin使いの方々を頼らせていただきましょう!
また、先ほど紹介したちょまどさん(@chomado)や田淵さん(@ytabuchi)などXamarinに精通した方々のTwitterをフォローしておくと最新版にバグがあるなどの情報を得られることがあるのでフォローをおすすめします。

JXUG × OthloTech

直近のイベントで興味深いものがあったのですこしだけ告知。
https://othlotech.connpass.com/event/45888/
2017/01/15(日)にJXUGと東海の学生エンジニア/デザイナーの集まるOthloTechがコラボで勉強会を開かれることとなりました。
学生限定(社会人の方ごめんなさい)のイベントですが今回のハンズオン大会と同様(?)の内容を行うようです。この機会に学生の方はぜひ参加しましょう。

最後に

Xamarinの技術取得は難しいですがそのコストに見合うだけの価値は十分にあります。
これからXamarinを使う方にXamarinの利用に役立つリンクを以下に記しておいたのでぜひ活用してください。最後まで読んでいただきありがとうございました。

・Xamarin.Formsのテンプレート(このプロジェクトをクローンして利用するのをおすすめします)
https://github.com/ytabuchi/XamarinFormsTemplate

・JXUGのFacebookページ(参加しておくとXamarinの最新情報を取得できます)
https://www.facebook.com/groups/xm.jxug

・JXUGのconnpassページ(参加しておくと次のイベント開催情報が取得できます)
https://jxug.connpass.com