ServerTiming API が組み込まれた Chrome デベロッパー ツールのスクリーンショット。

今回のリリースに追加されたその他の機能

Blink > CSS

  • :any-link 疑似セレクタを使って、すべての未アクセスまたはアクセス済みのハイパーリンク要素に CSS プロパティを適用できるようになりました。
  • color プロパティで HSL/HSLA および RGB/RGBA 座標を指定する構文が CSS Color 4 仕様と一致するようになりました。
  • display:contents使うと、親ボックスを生成せずに子要素や疑似要素にボックスを生成できます。

Blink > DOM

  • assignedNodes() を補うために、<slot> 要素に assignedElements() メソッドが追加されています。これは、指定されたスロットに割り当てられた要素ノードのみを返します。
  • Chrome で HTMLAnchorElement.relList プロパティがサポートされました。これは、<a> 要素で表されるリソースと現在のドキュメントとの関係を示します。この件に協力してくれた Samsung に感謝します。

Blink > フィーチャー ポリシー

Blink > ネットワーク

  • TLS 仕様との互換性のため、Chrome で TLS 1.3 プロトコルの draft-23 バージョンがサポートされるようになりました。
  • Request.destination を使うと、Service Worker がどのリソースをフェッチしようとしているかを評価できるようになります。

Blink > Performance API

  • WebIDL が非推奨となったため、PerformanceResourceTimingPerformanceLongTaskTimingTaskAttributionTimingtoJSON メソッドがサポートされ、オブジェクトを JSON に変換できるようになりました。

Blink > セキュリティ

  • クロスオリジンによる情報漏洩からユーザーを保護するため、Chrome はクロスオリジン属性を持つアンカー要素のダウンロード属性を無視するようになります。

サポートの終了と相互運用性の改善

Blink > バインディング

  • HTML 仕様との互換性のため、document.all の上書きはできなくなります。

Blink > ネットワーク

  • 以前にお知らせしたように、Chrome 65 は 2017 年 12 月 1 日以降、Symantec の Legacy PKI で発行された証明書を信頼しなくなり、警告画面が挟み込まれます。これは、Symantec の Legacy PKI から DigiCert の新しい PKI への移行を行わなかったサイト運用者にのみ影響します。このインフラストラクチャから独立したサブ CA で、以前に開示されているものには適用されません。
今回のリリースのすべての機能(試験運用版機能を含む)を記載した完全なリストは、Chrome 65 マイルストーン ホットリストをご覧ください。



Reviewed by Eiji Kitamura - Developer Relations Team


Chrome 68 では、すべての HTTP ページのオムニボックスに「保護されていません」と表示されます。

デベロッパーはサイトを HTTPS に移行し、ウェブを誰でも安全に使えるようにしてきました。昨年の進展はめざましく、その動きはさらに続いています。

  • Android と Windows の Chrome トラフィックの 68% 以上が保護されています。
  • Chrome OS と Mac での Chrome トラフィックの 78% 以上が保護されています。
  • ウェブ上のトップ 100 サイトのうち、81 がデフォルトで HTTPS を使用しています。
Chrome は、HTTPS をできるだけ簡単に設定できるようにするために貢献しています。デベロッパーがサイトを HTTPS に移行する助けになるように、ウェブページを改善するための自動ツール、Lighthouse最新 Node CLI 版では、混合コンテンツの監査が可能になっています。この Lighthouse の新しい監査機能を使うと、HTTP を使ってサイトに読み込まれているリソースや、サブリソースの参照を HTTPS 版に変更するだけで HTTPS にアップグレードできるリソースを見つけることができます。

Lighthouse は、ウェブページを改善する自動デベロッパー ツールです。

Chrome の新しいインターフェースでは、すべての HTTP サイトが保護されているわけではないことがわかりやすくなるため、ウェブをデフォルトで保護された HTTPS に切り替えるよう促す効果があります。HTTPS は、今までになく簡単で安価なものになり、パフォーマンスの改善や、HTTP で扱うには危険だった、パワフルな新機能を利用可能にします。デベロッパーの皆さんは、まずセットアップ ガイドをご覧ください。


Reviewed by Eiji Kitamura - Developer Relations Team

テキストベースのクエリと応答


Google Assistant SDK では、音声入力と音声出力が自然な最初のステップでしたが、多くのデベロッパーから、他の入力や出力のメカニズムも必要だという声が寄せられました。本日は、Google Assistant SDK がテキストベースのクエリと応答をサポートしたことをお知らせします。どちらのアップデートも、既にサポートされている音声クエリおよび音声応答の API をベースに構築されています。

端末アクション


最初に Google Assistant SDK をリリースしたとき、私たちがよく受けた質問の 1 つに、「どうすればアシスタントに端末を制御させることができますか?」というものがありました。最新の SDK では、新しい端末アクション機能を使ってアシスタント対応 SDK 端末で直接アクションを構築できます。

端末を登録する際に、端末自体がサポートする特徴を指定できるようになっています。たとえば、オン/オフや温度設定などです。ユーザーが端末に「OK Google、温度を 25 度に設定して」と頼むと、Google アシスタントは、クラウドベースの自動音声認識(ASR)と自然言語理解(NLU)を使ってこのクエリを構造化インテントに変換します。提供する必要があるのは、実際に端末アクションを実行するクライアントサイドのコードだけです。その他のコードは必要ありません。SDK は、スマートホームでサポートされる一連の端末の特徴に対応しています。

端末管理


端末アクションを起動して実行する際に役立つよう、SDK 端末の登録や管理をサポートする管理 API も新しくリリースされています。この API を使うと、登録や登録の解除、登録済みの全端末の確認などを簡単に行うことができます。また、種類や特徴が同じである一連の端末を表す端末モデルも導入しています。

各機能の利用を始めるには、ドキュメントやサンプルをご確認ください。

Google アシスタントで商用製品を構築したい方は、私たちにぜひご連絡ください

いつものように、StackOverflowAssistant SDKhackster.io といったコミュニティでは、すばらしい会話が繰り広げられています。ぜひご参加ください!


Reviewed by Yoshifumi Yamaguchi - Developer Relations Team


2018年3月14日(水)  01:00 PM – 06:00 PM
梅田スカイビル タワーウエスト 3F (ステラホール)

お申し込みページ : https://goo.gl/uSxmdY

Cloud OnBoard は GCP 認定トレーナーによる Google Cloud Platform (GCP) トレーニング入門編です。

トレーニングでは、認定トレーナーによるわかり易いプレゼンテーションとデモンストレーションを駆使し GCP の利点、特徴、ユースケースを理解し、GCP の主要サービス(Compte Engine, Google App Engine, Kubernetes Engine, Cloud SQL, Cloud Datastore, BigQuery, Machine learning) について解説していきます。

Cloud OnBoard は IT マネージャ、 システムエンジニア、ソリューション デベロッパー、ソリューション アーキテクト、オペレーター、ビジネスリーダーまたは Google Cloud Platform に初めて触れる方々のために構成されたトレーニングです。 イベントでは GCP の使い方を業界別トリックやポイント、事例などを交えて解説し、さらに GCP エキスパートが皆さまの疑問にお答えします。 全てのモジュールを受講されました皆さまには認定の証として、参加証の配布をいたします。ぜひ、この機会にご参加ください。

大阪では初の開催となるため満席が予想されます。お早めのお申し込みをお願いいたします。

お申し込みはこちら


Posted by Takuo Suzuki - Developer Relations Team


SharedPreference の編集

SharedPreference の編集は、とてもよく使われます。Android KTX を使うと、コードが少し短くなるのに加え、もっと自然に読み書きできるようになります。
Kotlin
Android KTX と Kotlin
sharedPreferences.edit()
           .putBoolean(key, value)
           .apply()
sharedPreferences.edit { 
    putBoolean(key, value) 
}

 

パスの差分を平行移動

次のコードでは、2 つのパスの差分を 100px 平行移動させています。
Kotlin
Android KTX と Kotlin
val pathDifference = Path(myPath1).apply {
   op(myPath2, Path.Op.DIFFERENCE)
}

val myPaint = Paint()

canvas.apply {
   val checkpoint = save()
   translate(0F, 100F)
   drawPath(pathDifference, myPaint)
   restoreToCount(checkpoint)
}


val pathDifference = myPath1 - myPath2

canvas.withTranslation(y = 100F) {
   drawPath(pathDifference, myPaint)
}


View の onPreDraw での操作

この例では、View の onPreDraw コールバックから、ある操作を呼び出しています。Android KTX を使わない場合、たくさんのコードを書かなければなりません。
Kotlin
view.viewTreeObserver.addOnPreDrawListener(
       object : ViewTreeObserver.OnPreDrawListener {
           override fun onPreDraw(): Boolean {
               viewTreeObserver.removeOnPreDrawListener(this)
               actionToBeTriggered()
               return true
           }
       })
Android KTX と Kotlin
view.doOnPreDraw { actionToBeTriggered() }

この他にも、Android KTX は多くの場所でコードを簡略化できます。完全な API リファレンス ドキュメントは、GitHub でご覧ください。

スタートガイド

Android Kotlin プロジェクトで Android KTX を使ってみるには、アプリ モジュールの build.gradle ファイルに次の記述を追加します。
repositories {
    google()
}

dependencies {
    // Android KTX for framework API
    implementation 'androidx.core:core-ktx:0.1'
    ...
}

その後プロジェクトを同期すると、自動的に IDE のオートコンプリート リストに拡張機能が表示されます。必要な import 文は、拡張機能を選択した際にファイルに自動的に追加されます。

なお、API はプレビュー期間中に変更される可能性があります。実際にプロジェクトで使う場合は、安定版になるまでに大規模な変更が行われることも考慮してください。

androidx: Hello World!

Android KTX では、androidx で始まるパッケージ名が使われていることに気づく方もいるでしょう。これは、今後の Android Support Library で使われる予定となっている新しいパッケージ名プレフィックスです。android.*androidx.* を分けることによって、どれがプラットフォームにバンドルされている API で、どれが Android のさまざまなバージョンで動作するアプリ デベロッパー用静的ライブラリなのかを区別しやすくすることが目的です。


次のステップ

本日のプレビュー版リリースは、まだ始まりに過ぎません。今後数か月間で、皆さんからのフィードバックや貢献を受けつつ、API の改善を繰り返す予定です。API が安定し、API の互換性を約束できるようになったときには、Android Support Library の一部として Android KTX をリリースしたいと考えています。

皆さんとともに Android KTX を作り上げることを楽しみにしています。ぜひ Kotlin をご活用ください。


Reviewed by Yuichi Araki - Developer Relations Team

Reviewed by Yuichi Araki - Developer Relations Team

Share on Twitter Share on Facebook


IoT 端末同士を確実に接続するのは、難しい場合があります。WiFi や Bluetooth はどこでも利用でき、多くのシナリオでうまく動作しますが、電力が限られていたり、単一のネットワークに多数の端末が必要になる場合は、制限が生じます。これを受けて、IoT の電力や拡張性といった要件に対処するため、新しい通信テクノロジーが登場しました。

LoWPAN(Low-power Wireless Personal Area Network)テクノロジーは、制約の多い電池駆動端末のピアツーピアに特化してデザインされています。同じ LoWPAN 上にある端末は、おなじみの IP ネットワークを使って相互に通信できるので、デベロッパーは HTTP や CoAP などの標準のアプリケーション プロトコルを利用できます。私たちがもっともすばらしいと考えている LoWPAN テクノロジーは、Thread です。これは、急速に業界基準となりつつある安全で耐障害性を備えた低電力メッシュ ネットワーク テクノロジーです。

本日は、Android Things Developer Preview 6.1 の一部として、LoWPAN を設定して管理するための API がサポートされたことをお知らせします。これには、Thread ネットワークのすばらしいサポートも含まれています。いずれかのデベロッパー キットに 802.15.4 無線通信モジュールを追加すると、Android Things 端末は Thread ネットワーク上のその他のピア端末と直接通信できるようになります。このような種類の低電力接続ソリューションを使うと、近くの端末のローカルでデータを集計し、クラウド サービスに常時接続せずに重要な判断を行うことで、Android Things 端末でエッジ コンピューティング タスクを実行できます。ローカル メッシュ ネットワークを作成したり、そこに参加するアプリを構築する詳しい方法については、LoWPAN API ガイドをご覧ください。

スタートガイド


OpenThread を使うと、Android Things で簡単に LoWPAN を始めることができます。Nordic nRF52840 など、サポートされている無線通信プラットフォームを選択し、ビルド済みファームウェアをダウンロードすると、これを Network Co-Processor(NCP)として有効化できます。次に、LoWPAN NCP ユーザー ドライバーを使って無線通信機能を Android Things に組み込みます。独自のユーザー ドライバーを構築して他の無線通信ハードウェアをサポートするように拡張することもできます。詳しくは、LoWPAN ユーザー ドライバー API ガイドをご覧ください。

DP6.1 を使ってみるには、Android Things Console からシステム イメージをダウンロードして既存の端末に書き込みます。その後、LoWPAN サンプルアプリをダウンロードして試してみてください。最新リリースで対応しているすばらしい機能は、LoWPAN だけではありません。DP6.1 に含まれる完全な修正やアップデートについては、リリースノートをご覧ください。

フィードバック


バグレポート機能リクエストを送信し、フィードバックをお願いします。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。自分が構築したすばらしいプロジェクトを共有できる hackster.io コミュニティも、新たに誕生しました。皆さんが Android Things で作るアプリを楽しみにしています!


Reviewed by Yuichi Araki - Developer Relations Team
Share on Twitter Share on Facebook

Google では、より多くの開発者に役立てるよう技術ドキュメントの翻訳を行っています。ここ数年、https://developers.google.com , https://developer.android.com , https://cloud.google.com などの主要ページの日本語訳を行ってきました。(ページ下部で言語選択を日本語にしていただくと、日本語訳が表示されます。)

一方、現在の翻訳にはまだまだ問題があることも認識しています。昨年開催した Glossari-a-thon やフィードバック用メールアドレス ([email protected] )などでも度々インプット頂いています。

ついては今回、本国からローカライゼーションの担当者来日に合わせ、技術ドキュメントの翻訳を利用された経験のある方を対象に、ユーザスタディやディスカッションを行って、より精細なフィードバックを頂き、今後の翻訳の質の向上を図るイベント「Localization Study for Google Developers」を開催したいと考えています。

以前のイベントでは対象外だった Cloud を加え、今回は Android, Firebase, Cloud の三分野のドキュメントをターゲットとさせていただきます。

Google の技術ドキュメントの翻訳にフィードバックを行いたい方は是非ご参加ください。

【開催概要】

名称:Localization Study for Google Developers
日時:2018 年 2 月 12 日(月)13:00 - 17:00(開場 12:30)
場所:六本木ヒルズ 森タワー Google 東京オフィス
主催:Google Inc.
対象ドキュメント:Cloud, Firebase, Android
参加条件:



参加方法:以下のフォームにご記入ください。なお、応募者多数の場合は参加者を選考させていただきます。参加できる方には別途ご案内を差し上げます。

Localization Study for Google Developers 参加登録フォーム

問い合わせ先 : [email protected]

Posted by Naoki Ishihara - Developer Relations Team
Share on Twitter Share on Facebook

 for (const entry of entries) {
   const cr = entry.contentRect;
   console.log('Element:', entry.target);
   console.log(`Element size: ${cr.width}px × ${cr.height}px`);
   console.log(`Element padding: ${cr.top}px / ${cr.left}px`);
 }
});

// 1 つまたは複数の要素を監視
ro.observe(someElement);
上のコード スニペットは、Resize Observer API を使って要素の変更を監視する。



import.meta


JavaScript モジュールを記述するデベロッパーは、現在のモジュールに関するホスト固有のメタデータにアクセスしたいことがよくあります。これを簡単にするために、最新の Chrome は import.meta プロパティをサポートしています。このプロパティは、import.meta.url 経由でモジュールの URL を公開しているモジュールで利用できます。ライブラリにバンドルされたモジュールの URL にアクセスすることによって、現在の HTML ドキュメントからではなく、モジュール ファイルからの相対パスを使って簡単にリソースを解決したいライブラリ作成者もいるでしょう。今後の Chrome では、import.meta にプロパティが追加される予定です。


今回のリリースに追加されたその他の機能


Blink > アニメーション
  • offset-path プロパティを使って要素を動かすパスの形状を指定することで、アニメーションを実現できるようになりました。 
Blink > フォント
Blink > 入力
  • pointerType=mouse が指定されている場合、PointerEvent の座標が端数になり、マウスの位置の計測精度が向上しました。 
Blink > JavaScript
  • デベロッパー エクスペリエンスを改善するため、正規表現で名前付きキャプチャがサポートされるようになりました。これにより、デベロッパーは正規表現にマッチする文字列の部分に意味のある名前を割り当てることができます。 
  • u フラグがセットされた正規表現で Unicode プロパティのエスケープ(\p{…} および \P{…})がサポートされるようになりました。これにより、デベロッパーはさらに強力な Unicode 対応正規表現を作成できます。 
  • 国際化フォーマッタがローカルを意識した文字列形式を生成するための補助として、Intl.NumberFormat.prototype.formatToParts() を使って、数値をトークンや種類のリストにフォーマットできるようになりました。この件についてサポートしていただいた Igalia に感謝いたします。 
Blink > メディア
  • 他のブラウザの実装に合わせて、Chrome でも <video> および <audio> 要素の preload の既定値が metadata になりました。これにより、リソースのメタデータのみが読み込まれ、メディア リソース自体は読み込まれなくなるので、帯域幅やリソースの使用量が減少します。 
  • Windows 10 が HDR モードになっている場合、HDR 動画の再生がサポートされるようになりました。これにより、デベロッパーは HDR VP9 Profile 2 10 ビット動画を利用できます。 
  • HTML 仕様と互換性を持たせるため、メディア要素の playbackRate に、Chrome でサポートされていない値が設定されている場合、"NotSupportedError" DOMException がスローされるようになりました。たとえば、負の値などがこれに該当します。 
  • オリジン トライアルとして、Media Capabilities API がサポートされるようになりました。これにより、デベロッパーはオーディオや動画の再生が十分スムーズで電力効率がよいかどうかを把握できます。この情報は、これまでのパフォーマンス統計に基づきます。 
  • メディア キャプチャおよびストリーム仕様に合わせるため、getUserMedia() がリジェクトされた Promise を返すようになりました。エラーがある場合は、DOMException または OverconstrainedError が含まれます。 
Blink > ネットワーク
  • cache オプションを使用して Request のキャッシュ モードを指定できるようになりました。 
  • Request.prototype.cache を使用して Request のキャッシュ モードを確認したり、リクエストが再読み込みリクエストかどうかを判定できるようになりました。 
Blink > Permissions API
  • Permissions API の仕様に準拠するため、Permissions API を使った camera および microphone のパーミッション ステータスのクエリが可能になりました。 
Blink > スクロール
  • Focus Management API で、preventScroll 属性を使用することにより、スクロールせずに要素にフォーカスできるようになりました。 
Blink > SVG
Blink > WebAudio
  • カスタム AudioNode をサポートするための低レベル オーディオ処理機能を公開する API、AudioWorklet がオリジン トライアルとして試験運用版フラグ付きで利用できるようになりました。 
Blink > WebRTC
  • WebRTC 1.0 仕様に準拠するため、単一ストリーム ユースケースの RTCPeerConnection で addTrack() がサポートされるようになりました。同様に、removeTrack()、getSenders()、ontrack と、最低限の RTCRtpSender インターフェースも利用できます。 
Blink > WindowDialog
  • 相互運用性とエンドユーザー エクスペリエンスを改善するため、バックグラウンドのタブで window.alert() が実行されても、タブがフォアグラウンドにならなくなりました。その代わり、ユーザーがバックグラウンド タブに切り替えたときにアラートが表示されます。 
UI > 通知


サポートの終了と相互運用性の改善

Blink > CSS
Blink > DOM
Blink > Performance API

今回のリリースのすべての機能が記載された完全なリスト(試験運用版機能を含む)は、

Chrome 64 マイルストーン ホットリストをご覧ください。

Reviewed by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook


Google Play | Indie Games Festival 2018 の賞品、審査員などの開催概要が決定し、ゲームのエントリーを開始しました。2017 年 1 月以降に配信されたゲームや β 版がエントリーの対象となります。Android ゲーム開発を行なっている個人、グループ、中小企業の皆様は、同コンテストへの挑戦を是非ご検討ください。

また、同時に 4 月 28 日(土)開催のファイナルイベントへの一般ゲームファンの参加受付も開始しております。

参加資格や手続きなどのすべての詳細は、公式ホームページにてご確認いただけるようお願いします。

今後のスケジュール


ファイナルイベント概要




Posted by Hidenori Fujii - Play Team
Share on Twitter Share on Facebook