オープンソース版サンタを追いかけようの提供について
2017年4月14日金曜日
この記事はデベロッパー プログラム エンジニア、Sam Thorogood による Google Developers Blog の記事 "Santa Tracker, open-sourced and delivered" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
サンタを追いかけようは、Google のクリスマス恒例のサービスです。毎年 12 月には、24 日にプレゼントを届けるサンタを見ることをはじめとして、ゲームやこの時期ならではの体験、教育コンテンツなどでクリスマスをお祝いできます。
先週、プレゼントの季節の続きとして、2016 年 12 月に公開されたウェブと Android 向けのオープンソース版サンタを追いかけようをアップデートしたものを公開いたしました。これは、Firebase や Polymer などの API やフレームワークを活用し、Google の最新かつ最高の技術を駆使した現実の大規模アプリの実例です。
今年のサンタを追いかけようには、サンタの妖精たちが魅力的でおもしろく、ためになるコンテンツを追加しています。しかし、ウェブでも Android でも、サンタとトナカイは今まで以上にスリムになっています。
ウェブ版は信頼性が高くオフラインにも対応した PWA になっています。使用する帯域幅も少なく、ネットワーク接続が不安定な環境でも動作します。Android 版は、画面表示用のアセットやライブラリなどを綿密に調査し、1 バイトでもサイズを小さくしようと努めたものです。
サンタを追いかけようを使ってみるには、GitHub(google/santa-tracker-web および google/santa-tracker-android)からコードをチェックアウトします。ウェブ版と Android 版の両方に詳細なビルド手順が付属しています。
Posted by Yuichi Araki - Developer Relations Team
サンタを追いかけようは、Google のクリスマス恒例のサービスです。毎年 12 月には、24 日にプレゼントを届けるサンタを見ることをはじめとして、ゲームやこの時期ならではの体験、教育コンテンツなどでクリスマスをお祝いできます。
先週、プレゼントの季節の続きとして、2016 年 12 月に公開されたウェブと Android 向けのオープンソース版サンタを追いかけようをアップデートしたものを公開いたしました。これは、Firebase や Polymer などの API やフレームワークを活用し、Google の最新かつ最高の技術を駆使した現実の大規模アプリの実例です。
今年のサンタを追いかけようには、サンタの妖精たちが魅力的でおもしろく、ためになるコンテンツを追加しています。しかし、ウェブでも Android でも、サンタとトナカイは今まで以上にスリムになっています。
ウェブ版は信頼性が高くオフラインにも対応した PWA になっています。使用する帯域幅も少なく、ネットワーク接続が不安定な環境でも動作します。Android 版は、画面表示用のアセットやライブラリなどを綿密に調査し、1 バイトでもサイズを小さくしようと努めたものです。
サンタを追いかけようを使ってみるには、GitHub(google/santa-tracker-web および google/santa-tracker-android)からコードをチェックアウトします。ウェブ版と Android 版の両方に詳細なビルド手順が付属しています。
ウェブ
妖精たちがサンタを追いかけようをどのようにしてオフライン Progressive Web App として構築しているかを知りたい方は、Google Developers の事例紹介をご覧ください。ソースは、GitHub にアクセスしてダウンロードできます。今回のリリースに含まれる主な機能は、次のとおりです。- モバイル、PC、タブレットのすべてで、サンタはレスポンシブ デザインを活用した Progressive Web App になっています。ホーム画面に追加とオフラインもサポートされています。
- サンタの Service Worker は、サイト全体(各ブラウザに必要なリソースを含め、約 100 MB)をオフライン用に保存するのではなく、少なくとも 1 度アクセスしたシーンのみを保存します。オフラインで利用できない家は氷漬けになります。
- サンタを追いかけようは Polymer 1.7+ を利用して、コードを再利用可能なコンポーネントにまとめています。サンタ村のすべての家にはカスタム要素があります。これらの要素は必要な場合のみロードされるので、サンタを追いかけようは最小限のコストで起動できます。
- モバイル ユーザーは、Web Share API によってネイティブ機能を使ってすばやく制作物を共有できます。これは、プラットフォーム ネイティブの共有インテントとインターフェースする最新 API で、一般的にユーザーに表示されるたくさんの共有ボタンの代わりになります。
- サンタは、新しく改善された Chromecast を活用しています。これは、オリジナルの Chromecast 端末からハイエンドの Chromecast Ultra、そして対応した TV まで、すべてのキャスト端末で利用できます。
- Android クライアントもこの Chromecast 機能を利用しています。そのため、Android ユーザーは 24 日にサンタがプレゼントを届ける姿を大画面 TV で見ることができるようになりました。
- サンタの妖精たちは 2017 年に向けて、Blockly に関わった Google のチームが書いた Code a Snowflake などの楽しい新教育コンテンツを作っています。
Android
2016 年にサンタはダイエットを行いました。そして、4 つの新しいゲームが追加され、見た目も大幅に変更されているにもかかわらず、APK ダウンロード サイズを 10 MB 以上も削減できました。この作業について詳しく知りたい方は、Android デベロッパー ブログの詳細分析を確認するか、GitHub にアクセスして自分で分析してみてください。今年のアプリに含まれる主な機能は、以下の通りです。- 新しい AR ゲーム Present Quest が追加されます。プレイヤーは現実世界の環境を探検してプレゼントを集め、レベルを上げてゆきます。
- サンタは今まで以上に小さく、高速になります。複数の新しいゲームが追加されているにもかかわらず、ダウンロード サイズは前回のリリースより 10 MB ほど小さくなっています。メモリが限られた端末でもサンタが問題なく動作するようになり、さまざまな細かい問題も解消されています。
- アプリは、アーキテクチャごと(armv5、armv7、x86)の分割 APK で構築されており、ダウンロード サイズが小さくなっています。各 APK は、スマートフォン、タブレット、Android TV をサポートしており、Android Wear のカスタム ウォッチフェイスも提供されています。
- サンタを追いかけようは、Remote Config、友人を招待できる App Invites、妖精たちがアプリのユーザーについてもっと詳しく把握できるようになる Firebase Analytics などの Firebase 機能を活用しています。
ホッホッホ!
ぜひ、サンタを追いかけようやそのソースコードをお楽しみください。そして、使われているアプローチを参考に、皆さん独自のすばらしい作品を生み出してください!Posted by Yuichi Araki - Developer Relations Team