Xamarin Evolve 2014レポート
スマートフォンの世界と、開発者の裾野を広げるXamarin
スマートフォン開発で急速に注目度が高まっているXamarin。そのカンファレンス「Xamarin Evolve 2014」で発表された新機能とは? また、カンファレンス全体の内容も紹介する。
2014年10月6日~10日(米国時間)の5日間、Xamarin社主催の開発者カンファレンス「Xamarin Evolve 2014」がアトランタで開かれた。Evolveは昨年に続き、2回目の開催となる。この種類のイベントとしても5日間というのは長い日程となるが、前半2日がトレーニング、後半3日がカンファレンスという形で割り当てられていた。
本稿では、このカンファレンスの各セッションや、現地の様子から感じた、スマートフォン開発者の裾野のさらなる広がりをお伝えしたい。
- *[関連記事] Xamarin.Formsを採用するか否かという視点で、Evolve 2014を総括した記事
Xamarin開発者の急速な増加と、開発者の実利となる新機能追加
カンファレンス・パート初日となる3日目のキーノートでは、Xamarinを使う開発者数は昨年のEvolve開催時の28万8000人から75万5000人、パートナーは45社から215社に急拡大したことや、今回のEvolveの参加者は36の国から1200名が集まったことが紹介された。Xamarin開発者数が実に2.6倍の伸びとなったことやイベントに集まった人数から、Xamarinの注目度がこの1年間で急速に高まっていることを感じさせる。
また、CTOのMiguel de Icaza(ミゲル・デ・イカザ)氏のセッションでは、これまでにiOS Designer、Xamarin Studio、Android Wear対応など、開発者に向けて数々の利便性の高いものを提供してきた中に、さらに以下のような目玉機能がプレビューとして提供されることが紹介された。
- Xamarin Profiler
- Xamarin Android Player
- Sketches
それぞれについて簡単に説明しよう。
Xamarin Profiler
メモリ使用量などを記録・解析するツール。iOS開発で使用するInstrumentsと見た目はよく似ており、メモリリーク調査やパフォーマンス調整などに使用できる。
以前までプロファイラーは、各プラットフォームのものを使ったり、Monoの機能を使ったりなどで対応できていたが、ネイティブのオブジェクトしか確認できなかったり、有効化や解析にものすごく手間がかかったりしていた。Xamarin Profilerを使用すれば、GUIで手軽にアプリのプロファイリングが行え、作業にかかる時間を大幅に低減できる。
Xamarin Android Player
高速動作するAndroidのエミュレーター。Android SDK標準のものは実行速度が遅いため、x86ベースで動作するHAXMやGenymotionといった高速動作するエミュレーターを使用することが増えてきているが、Xamarin自身がこれを提供する。OpenGLなどの3D機能もハードウェアアクセラレーションで動作し、ゲームなども動作させることができる。
Sketches
Xcode 6で追加されたPlaygroundと同様の機能。記述したプログラムをその場で実行して試せる。コードの横に各行の結果を表示したり、ループ内の変数の動きをグラフで描画したりするなどの機能がある。
その他の新機能
この他に、以下のような新機能・新サービスも追加されている。
- クラウド自動テストサービス「Xamarin Test Cloud」への機能追加: C#を使ったスマートフォンUIテストフレームワーク「Xamarin.UITest」の公開や、テスト中の動作を動画撮影する機能が追加された
- 新サービス「Xamarin Insights」: BugSenseやCrashlyticsなどObjective-CやJava向けには存在していたクラッシュログの解析が、Xamarinで記述した.NETコードに対して適用できるようになった
いずれの機能・サービスについても、これまで実務でXamarinを使って開発しているときに不便だった部分をしっかり解決してきており、実際の開発の現場をよく考えていると感じた。
スマートフォンアプリ開発で重要な周辺技術も集中的に紹介
現在ではスマートフォンやタブレットはすでに世界的に浸透しており、この数年で市場が広がる中で多くの新技術が投入されてきた。最近話題になったものだけでも、「iBeaconなどの屋内位置情報」「スマートグラスやスマートウォッチなどのウェアラブルデバイス」「スマートフォンアプリ特有のセキュリティ」など、すでにモバイルの分野で活躍する開発者でもキャッチアップするのが大変な状況となっている。これからモバイルの世界で開発を始めようとする開発者にとっては、なおのことだ。
Evolve 2014では、Xamarin社の製品やサービスについて以外にも、このようなスマートフォンやスマートデバイスの開発を取り巻くさまざまな技術についてのセッションタイトルが多く設定されていた。
例えば「スマートフォンアプリのセキュリティ」についてのセッションでは、実際の攻撃手法とそれから保護するための方法が説明された。長くモバイルアプリの開発に携わっていれば基礎的な内容かもしれないが、これから始めるという人には一通り情報が網羅されており、とても役に立つ内容となっていた。
また「ウェアラブル」のセッションでは、スマートグラスの種類と、それに適したUX(ユーザー体験)がどういうものになるのかという点について実例を交えながら紹介され、実際にどういう場面で使用できるかというイメージがしやすい内容となっていた。
さらに、筆者は参加していないが、Android 5.0から導入される「Material Design」についてはセッション2つ分を使って紹介されていた。
Xamarinを使ったアプリ開発には、C#による開発の知識だけでなく、「モバイルの世界でどのようなUXを提供すべきか」や、モバイル特有の機能やフレームワークの知識も必要となるが、Xamarinから入った開発者にとっては必要な知識をまとめて得られる機会となっていた。
体験して身に付けるセッションやイベントも多数
新技術や新サービスの話を聞くだけでなく、実際に技術を身に付けられるよう、Evolve 2014には数々の仕掛けが設けられていた。
Darwin Lounge
前半2日間は、クロスプラットフォームでUI(ユーザーインターフェース)を共通化して開発できるXamarin.Formsや、Xamarin Test Cloudのテスト記述に関するトレーニングがその主たるものだったが、それ以外にもDarwin Loungeという部屋ではMini Hackというイベントが行われていた。これは、課題や問題を解くと、参加バッジにシールがもらえ、集めると賞品がもらえるというもの。課題は「Xamarin.Formsを使ってアプリを作る」「iBeaconを使ったアプリを作る」「Xamarin Test Cloudでテストを行う」など、セッションで紹介されている内容にも関係あるものとなっていたので参加しやすく、実際に手を動かして問題に取り組む参加者が多くいた。
Darwin Loungeではそれ以外にも、Bluetooth Low Energyを使って操作できるミニカーやボール、紙飛行機や、電子工作コーナー、はては3Dプリンターもあり、モバイル系の開発者なら興味を示しそうなものが一通りそろっていた。のめり込んでしまえば、この部屋にいるだけで1日過ぎてしまうだろう。
Evolve Quest
また、Evolve Questという、iBeaconを活用したオリエンテーリングのイベントも行われており、「iBeaconがどのように利用できるかを、身をもって体験する」という意味でも良い試みとなっていた。
iBeaconの活用例としてはかなり王道。Xamarinの社員に聞かないと、絶対に分からないような問題もあり、コミュニケーションの道具としてもよくできたアトラクションと感じた。
■
最後に
Xamarinでの開発は、C#でクロスプラットフォーム開発ができ、非常に効率が高い。だが実際に開発してみると、不便に思う部分もあった。
しかし今回発表された新機能・新サービスは、アプリ開発の現場でコードを書く開発者にとって不便だったところを着実に埋めていると感じた。これらのアップデートは、Xamarinでの開発をより利便性の高いものにしていくことになるだろう。今後も、実際の開発現場での問題を解決できるようなサービスをXamarinに期待したい。
また、今回のイベント全体を通して、スマートフォンアプリ開発は、ただコードを書くだけではなく、サービス設計やUXを高める取り組みが重要となるということを再度認識させられた。これからモバイルの開発に取り組む開発者の皆さまにはぜひ、プログラムだけでなく「モバイルでどのような問題解決ができるか」を研究していただきたいと思う。
【コラム】海外カンファレンス参加のすすめ
筆者にとって、アメリカでの大規模カンファレンスに参加するのは、これが3回目だった。国内でもコミュニティ勉強会や各企業のカンファレンスが行われており、2日・3日続きで行われる場合もあるが、アメリカで行われるカンファレンスは、それに比べてもイベント規模の大きさを感じるものが多い。
今回のイベントも、ほぼ毎晩パーティが開催され、参加者同士やXamarin社員と活発なコミュニケーションが行われていた。
セッションやLTも、日本で見るそれとはまた少し違った感じを覚える。カンファレンス最終日に開催されたLTを見たが、日本でのものと比べ、ゆったりと話している様子が印象的だった。
海外でのカンファレンス参加は、特に言語の壁を感じる方が多いと思う。しかし技術の話はエンジニアであればそれなりに聞き取りやすいし、コードで語ることもできるだろう。もちろん英語ができればさらに楽しめるし、英語の勉強をするための原動力にもなる。国内のイベントで刺激を受けた人はより刺激のある環境に出ることは糧になるし、セッションの内容や話し方など、参考になることも多いと思う。今回筆者は40万円程度を持ち出しており、費用の問題もあるが、それを超える価値は大いにある。