<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>Google Chrome &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/google-chrome/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>WebAssembly、CPU Throttling、Custom Elementsの最新情報を解説──2016年10月のブラウザ関連ニュース</title>
		<link>/myakura/21567/</link>
		<pubDate>Fri, 04 Nov 2016 00:00:17 +0000</pubDate>
		<dc:creator><![CDATA[矢倉 眞隆]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[Custom Elements]]></category>
		<category><![CDATA[DevTools]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[WebAssembly]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">/?p=21567</guid>
		<description><![CDATA[連載： WEB標準化動向 (18)2016年10月のブラウザ関連ニュースは、10月12日にリリースされたChrome 54の追加機能からCustom Elements v1、DevToolsのCPU Throttling...]]></description>
				<content:encoded><![CDATA[<div class="seriesmeta">連載： <a href="https://html5experts.jp/series/webstandards-news/" class="series-156" title="WEB標準化動向" data-wpel-link="internal">WEB標準化動向</a> (18)</div><p>2016年10月のブラウザ関連ニュースは、10月12日にリリースされたChrome 54の追加機能からCustom Elements v1、DevToolsのCPU Throttling、WebAssemblyについて紹介します。</p>

<h2>Chrome 54リリース</h2>

<p>10月12日に、Chrome 54がリリースされました。追加された機能のまとめは、ベータ版時点で公開されたポストが詳しいです。</p>

<ul>
<li><a href="https://googledevjp.blogspot.jp/2016/10/chrome-54-beta-custom-elements-v1.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Google Developers Japan: Chrome 54 ベータ版：Custom Elements V1、BroadcastChannel、メディア プラットフォームの強化</a></li>
</ul>

<p>以下、気になったものを取り上げます。</p>

<h3>Custom Elements v1</h3>

<p>54で実装された大きな機能としては、Custom Elements v1でしょう。<a href="https://html5experts.jp/myakura/21074/" data-wpel-link="internal">Shadow DOM v1のとき</a>と同じように、Custom Elements仕様もベンダー間の合意をとりつけ前進した新しい仕様を「v1」と呼んでいます。現在Safariも実装を進めており、近くリリースされる新しいTechnology Previewで有効になるはずです。</p>

<p>Custom Elements v1での大きな変更点は、ES 2015のクラス構文を使いカスタム要素を定義するようになったことです。たとえば、<code>hx-element</code> というカスタム要素を定義する際には以下のようなコードで要素のコンストラクタを定義し、そのコンストラクタをもとに <code>hx-element</code> という要素名に登録します。</p>

<p></p><pre class="crayon-plain-tag">// カスタム要素のコンストラクタ
class HXElementCtor extends HTMLElement {
  // 要素が作成された段階に実行されるコールバック
  constructor () {
    super()
    // ...
  }
  // 要素がドキュメントに突っ込まれたとき
  connectedCallback () {
    // ...
  }
  // ...
}
// hx-element という名前でカスタム要素を登録
window.customElements.define('hx-element', HXElementCtor)</pre><p></p>

<p>カスタム要素のコンストラクタには、「要素が作成された」「要素がドキュメントに追加された」「属性が変更された」などの状態に応じてコードを実行するためのライフサイクルコールバックと呼ばれる関数を記述します。くわしくはチュートリアルがWeb Fundamentalsで公開されているので、そちらをどうぞ。</p>

<ul>
<li><a href="https://developers.google.com/web/fundamentals/getting-started/primers/customelements" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Custom Elements v1: Reusable Web Components</a></li>
</ul>

<h3>DevToolsのCPU Throttling</h3>

<p>DevToolsでは、CPU Throttlingがサポートされました。CPUの速度を制限し、スマートフォンなどのパワフルでない環境での処理を模した状態でタイムラインを取得できます。</p>

<p>HTML5 Experts.jpのトップページで、タイムラインを録って比較してみました。</p>

<div id="attachment_21642" style="width: 578px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.30-copy.png" width="568" height="94" class="size-full wp-image-21642" srcset="/wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.30-copy.png 568w, /wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.30-copy-300x50.png 300w, /wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.30-copy-207x34.png 207w" sizes="(max-width: 568px) 100vw, 568px" /><p class="wp-caption-text">CPU Throttlingなしのオーバービュー</p></div>

<p>通常状態では、レイアウト関連処理（紫色）が3回、JavaScript関連処理（黄色）が3回、描画関連処理が1回、チャートの上端に達しています。この状態でもCPUをけっこう専有しているようです。</p>

<div id="attachment_21643" style="width: 580px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.33-copy.png" width="570" height="94" class="size-full wp-image-21643" srcset="/wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.33-copy.png 570w, /wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.33-copy-300x49.png 300w, /wp-content/uploads/2016/10/Screen-Shot-2016-10-31-at-17.11.33-copy-207x34.png 207w" sizes="(max-width: 570px) 100vw, 570px" /><p class="wp-caption-text">“5x slowdown”を指定し制限し読み込んだもの</p></div>

<p>CPU Throttolingで5分の1に制限したものではまず、ページ読み込みに倍近くの時間がかかっています。また、レイアウト関連処理やJavaScriptの処理時間が大幅に伸びており、別れていた山がくっついてしまっています。</p>

<p>と、このような感じでCPUの性能がレンダリングに及ぼす影響を確かめられます。気をつけないといけないのが、“2x slowdown”といったように使っているコンピューターのCPUをもとにした制限になってることです。ですので特定のプロセッサをエミュレートできるわけではありません。Network Throttlingよりも「あくまで目安」度合いが高そうです。</p>

<h2>WebAssemblyがさらに進捗、ブラウザプレビュー段階に</h2>

<p>10月31日に、<a href="http://webassembly.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebAssembly</a>がブラウザプレビュー段階に入ったと、Mozilla, Google, Microsoftが発表しました。</p>

<ul>
<li><a href="https://hacks.mozilla.org/2016/10/webassembly-browser-preview/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebAssembly Browser Preview ★ Mozilla Hacks – the Web developer blog</a></li>
<li><a href="http://v8project.blogspot.jp/2016/10/webassembly-browser-preview.html" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">V8 JavaScript Engine: WebAssembly Browser Preview</a></li>
<li><a href="https://blogs.windows.com/msedgedev/2016/10/31/webassembly-browser-preview/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">A peek into the WebAssembly Browser Preview | Microsoft Edge Dev Blog</a></li>
</ul>

<p>WebAssemblyは<a href="https://html5experts.jp/myakura/18768/" data-wpel-link="internal">3月に各ブラウザで試験実装が入った</a>のですが、今回はWebAssemblyのバイナリフォーマットがリリース候補段階になったこと、それにSpiderMonkeyとV8のナイトリービルド、Chakraの開発版が互換性のある形で対応した旨が発表されました。バイナリフォーマットがほぼ固まったため、このブラウザプレビュー段階では幅広いフィードバックを集めたいとのことです。</p>

<p>今後のWebAssemblyですが、<a href="http://webassembly.org/roadmap/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">公開されているロードマップ</a>によると、解決に時間のかかる問題が見つからなければ2017年第1四半期にはバイナリフォーマットの初期バージョンが策定完了するとのこと。そしてその時点で、ブラウザの実装をデフォルトで有効にするようです。Firefoxは52での有効化を試みているそうです。</p>

<p>なお、発表には加わっていないものの、WebKitでも<a href="https://bugs.webkit.org/show_bug.cgi?id=159775" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">JavaScriptCoreに実装中</a>です。主要なエンジンすべてで実装されるので、ゲームや計算コストの大きなアプリケーションをWebに持ち込むのがさらに容易になりそうですね。</p>
]]></content:encoded>
		
		<series:name><![CDATA[WEB標準化動向]]></series:name>
	</item>
		<item>
		<title>Googleが語る、WebRTCテクノロジーの最前線</title>
		<link>/shumpei-shiraishi/18355/</link>
		<pubDate>Tue, 16 Feb 2016 07:30:47 +0000</pubDate>
		<dc:creator><![CDATA[白石 俊平]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[WebRTC]]></category>

		<guid isPermaLink="false">/?p=18355</guid>
		<description><![CDATA[こんにちは、編集長の白石です。 本日は、WebRTC Conference 2016に来ております。 WebRTCの「今」をお伝えするレポートを、HTML5 Experts.jp編集部一同よりお送りいたします。 まずは基...]]></description>
				<content:encoded><![CDATA[<p>こんにちは、編集長の白石です。</p>

<p>本日は、WebRTC Conference 2016に来ております。
WebRTCの「今」をお伝えするレポートを、HTML5 Experts.jp編集部一同よりお送りいたします。</p>

<p>まずは基調講演より。「Status Update on WebRTC from Google」と題した、GoogleプロダクトマネージャーWebRTC ニコラス・ブルーム氏によるセッションです。</p>

<div id="attachment_18356" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/02/DSC00380.jpg" alt="" width="640" height="447" class="aligncenter size-full wp-image-18367" srcset="/wp-content/uploads/2016/02/DSC00380.jpg 640w, /wp-content/uploads/2016/02/DSC00380-300x210.jpg 300w, /wp-content/uploads/2016/02/DSC00380-207x145.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">▲GoogleプロダクトマネージャーWebRTC ニコラス・ブルーム氏</p></div>

<p>ブルーム氏のセッションは非常に専門性が高く、情報量も凄まじかったため、ここではポイントを絞って簡潔にお伝えいたします。
セッションのスライドは以下のURLからからご覧いただけます（Google Slides）。</p>

<p><a href="https://docs.google.com/presentation/d/1lvdu44zkShUdXaepEEdAG0SqoQA0mvt0VBEmVtElhUs/edit" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">WebRTC Status Update</a></p>

<h2>WebRTCのエンドポイントは30億台！</h2>

<p>まずセッションは、WebRTCの5年間についてのサマリーから始まりました。
WebRTCは、5年前にGoogleが実装をオープンソース化したところから始まったもの。
Facebook MessengerやGoogle Hangoutsなどの著名なアプリに利用されているだけでなく、WebRTCのエンドポイントとして動作する端末の台数は30億台（PC/ブラウザが13億台、モバイル／スマートフォンが13億台、タブレットが3〜4億台）にも及ぶとのこと。
対応サービスも月に平均26個というペースで増え続けているそうで、WebRTCの勢いはもはや本物と言って良いでしょう。</p>

<h2>動画や音声の対応を改善</h2>

<h3>VP9</h3>

<p>VP8/VP9とは、Googleがオープンソースで開発を進めている動画コーデックです。VP9は、画質の劣化をほとんど伴うことなくデータ量を30%削減できるとのこと。
VP9は、Chromeでは既に利用可能で、WebRTCの参照実装的なサービス<a href="https://apprtc.appspot.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">AppRTC</a>ではデフォルトで有効化されています。</p>

<div id="attachment_18357" style="width: 650px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2016/02/DSC00396.jpg" alt="" width="640" height="480" class="aligncenter size-full wp-image-18368" srcset="/wp-content/uploads/2016/02/DSC00396.jpg 640w, /wp-content/uploads/2016/02/DSC00396-300x225.jpg 300w, /wp-content/uploads/2016/02/DSC00396-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /><p class="wp-caption-text">VP9のデモ。赤い線の右がVP9、左がVP8。画質の劣化は感じられない</p></div>

<h3>H.264のサポート</h3>

<p>いよいよ、Google ChromeがWebRTC上でのH.264コーデックをサポートします。
最初のリリースではソフトウェアによるコーデックのみ（エンコードは<a href="http://www.openh264.org/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">OpenH264</a>, デコードはlibffmpeg）で、Google Chrome 50からフラグ付きで利用できるようになります。</p>

<h3>Opus 1.1.2のサポート</h3>

<p>完全フリーで高品質な音声コーデックであるOpusは最新バージョンである1.1.2になり、プラットフォームやアーキテクチャに非依存の最適化が行われました。
様々なシチュエーションで、エンコード効率を10%、デコード効率を15〜17%改善します。</p>

<h2>様々な新機能のサポート</h2>

<p>Google Chromeにおいて、魅力的な新機能が数多く追加される予定です。</p>

<ul>
<li>音声の出力デバイスを選べる新しいJavaScript API（<code>HTMLMediaElement.setSinkId()</code>）</li>
<li>デバイスの一覧を取得するためのAPIがアップデート（<code>MediaDevices.enumerateDevices()</code>）。システムで利用可能なカメラ、マイク、スピーカーの一覧を得ることが出来る</li>
<li><code>Promise</code>ベースのAPIが<code>RTCPeerConnection</code>に追加</li>
<li><em>録画！</em> WebRTCを通じて受信したメディアデータをローカルに保存し、再生できるようになります。</li>
</ul>

<div id="attachment_18358" style="width: 650px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2016/02/IMG_4334.jpg" data-wpel-link="internal"><img src="/wp-content/uploads/2016/02/IMG_4334-640x480.jpg" alt="WebRTCの録画がサポートされた" width="640" height="480" class="size-large wp-image-18358" srcset="/wp-content/uploads/2016/02/IMG_4334.jpg 640w, /wp-content/uploads/2016/02/IMG_4334-300x225.jpg 300w, /wp-content/uploads/2016/02/IMG_4334-207x155.jpg 207w" sizes="(max-width: 640px) 100vw, 640px" /></a><p class="wp-caption-text">WebRTCの録画がサポートされた</p></div>

<ul>
<li>スクリーン共有機能の改善。現在は画面全体、もしくはブラウザウィンドウ全体のスクリーン共有に限定されていますが、今後、タブの中のコンテンツだけを共有できるようになります。ブックマークや通知は表示されません。Google Chrome 50からフラグ付きで利用できるようになります。</li>
<li>スクリーン共有時のオーディオサポート。Google Chrome 50からフラグ付きで利用できるようになります。</li>
<li>canvas要素、video要素との統合。canvasで加工した動画をWebRTCで送信…といったことも可能になるので、エンターテインメント用途などにも活躍しそうです。</li>
</ul>

<h2>WebRTC仕様のアップデート</h2>

<p>仕様としてのWebRTCは、1.0を2016年の第一四半期に勧告候補（Candidate Recommendation）とすることを目指しています。WebRTC 1.0では、ORTC（Object Real-time Communication: マイクロソフトが開発した、WebRTCよりもローレベルなコントロールを可能にするAPI群）のアイデアを多く取り入れ、より直接的な制御を可能にするオブジェクト指向のAPIが提供されます。WebRTC 1.0は、Chromeに2016年中に実装される予定です。</p>

<p>駆け足＆ざっくりの紹介でしたが、いかがでしたでしょうか？
WebRTCがものすごい勢いで進化していることが、少しでも文章を通じてお伝えできれば幸いです。</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
